# Homelab TODO List ## Network & Security - [x] DuckDNS dynamic DNS setup *(completed - ak-homelab.duckdns.org)* - [x] SSH security hardening *(documented in network-security.md)* - [x] Figure out why laptop IP changes: Different eth ports have different MAC? - [x] Router port forwarding configuration - [ ] WireGuard VPN server configuration - [ ] UFW firewall setup and rules - [ ] fail2ban for intrusion prevention ## Git & Development - [x] Gitea Docker container setup *(completed - running on port 3000)* - [x] Nginx reverse proxy setup *(completed)* - [ ] Create homelab landing page at /var/www/homelab/index.html - [x] Configure router port forwarding for Nginx *(completed - external access working)* - [x] Port 80 → 192.168.0.100:80 (HTTP) - [x] Port 443 → 192.168.0.100:443 (HTTPS) - [x] Remove port 3000 direct forwarding (will go through nginx) - [x] Keep port 2223 → 192.168.0.100:2223 (Git SSH operations) - [x] Test external access: http://ak-homelab.duckdns.org/ *(working - fast response)* - [ ] Set up SSL certificates: sudo certbot --nginx -d ak-homelab.duckdns.org - [x] Initial Gitea configuration via web interface (http://ak-homelab.duckdns.org/gitea/) *(completed)* - [x] Complete installation wizard with correct base URL - [x] Create admin user account - [x] Configure SSH access and repository settings - [x] Migrate homelab repository to Gitea ## System Configuration - [x] Arch Linux installation and basic setup *(completed)* - [x] TTY configuration with ter-124b font *(completed)* - [x] Caps lock → backspace mapping in TTY *(completed)* - [x] Dotfiles management with yadm *(completed)* - [x] Temperature monitoring in tmux *(completed)* - [x] Zsh history sharing between sessions *(completed)* - [x] Fix TTY colors for better code readability - [ ] Configure automatic system backups ## Desktop & Applications - [ ] Add windows-like bottom panel icons - [ ] Install additional browsers as backup - [ ] Add dmenu run shortcut - [ ] Later: Test awesomewm once again, consider migration - [x] Install Deskflow for multi-device setup - [ ] Mount and configure /data drive - [ ] Copy backups from USB drives * Not sure if necessary, some files may already be on the PC * [ ] First: Do a bit of "duplication check" across various devices and USBs, make a plan of what to store where ## Services & Self-Hosting - [x] Install and configure Gitea for Git hosting *(completed - external access working)* - [x] Set up file server with Copyparty *(completed - uploads/downloads working)* - [x] User authentication and access control - [x] Multiple volume shares (shared, documents, music, videos, private) - [x] Systemd service for auto-start - [x] Nginx reverse proxy integration - [ ] Set up Nextcloud for advanced file synchronization features - Copyparty covers basic file sharing needs - [ ] Configure Jellyfin media server - Also check alternatives, decide if it's needed at all - [ ] Implement monitoring stack (Prometheus/Grafana) - Also consider alternatives, make setup simple and FOSS only - [x] Set up reverse proxy with SSL certificates *(partial - nginx working, SSL pending)* ## Hardware & Troubleshooting - [ ] Fix bluetooth audio connectivity issues - [ ] Investigate tmux battery indicator missing until config reload - [x] Figure out drag and drop window tiling solution -> workaround with keyboard shortcuts - [ ] Install multimedia codecs and applications - [ ] Set up printer/scanner support if needed ## Security & Maintenance - [ ] Configure automatic security updates - [ ] Set up system monitoring and alerting - [ ] Implement backup strategy for services - [ ] Regular security audit and updates - [ ] Document recovery procedures