# Task: Deploy Cockpit to All Servers ## Priority: HIGH **Reason:** Enable Chromebook-based management without SSH dependency ## Current State **Servers with Cockpit:** - ✅ Ghost VPS (64.50.188.14:9090) - Currently operational **Servers needing Cockpit:** - ❌ Command Center (63.143.34.217) - ❌ Billing VPS (38.68.14.188) - ❌ Panel VPS (45.94.168.138) - ❌ TX1 Dallas (38.68.14.26) - ❌ NC1 Charlotte (216.239.104.130) ## Why Cockpit **Benefits:** - Web-based terminal (no SSH client needed) - System resource monitoring - Service management (systemd) - Works perfectly on Chromebook - Port 9090 (standard, easy to remember) - Lightweight (~50MB RAM usage) **Use case:** Michael uses Chromebook frequently - Cockpit means full server access from any device with a browser. ## Deployment Process (Per Server) ### Standard Installation (Ubuntu/Debian) ```bash # Update package list sudo apt update # Install Cockpit sudo apt install -y cockpit # Enable and start service sudo systemctl enable --now cockpit.socket # Verify it's running sudo systemctl status cockpit.socket # Check it's listening on port 9090 sudo ss -tulpn | grep 9090 ``` ### Firewall Configuration ```bash # Allow Cockpit through UFW (if enabled) sudo ufw allow 9090/tcp # Verify UFW status sudo ufw status ``` ### Access Testing - URL format: `https://SERVER_IP:9090` - Login: Use existing server credentials (e.g., `architect` on Ghost VPS) - Accept self-signed certificate warning (expected for self-hosted) ## Deployment Order (Recommended) **Phase 1: VPS Tier (Quick wins)** 1. Command Center (63.143.34.217) - Backend hub 2. Billing VPS (38.68.14.188) - Financial isolation 3. Panel VPS (45.94.168.138) - Control plane **Phase 2: Dedicated Tier (Game servers)** 4. TX1 Dallas (38.68.14.26) - 251GB RAM dedicated 5. NC1 Charlotte (216.239.104.130) - 251GB RAM dedicated ## Server-Specific Notes ### Command Center (63.143.34.217) - **OS:** Ubuntu (verify version first) - **Current services:** Gitea, Uptime Kuma, Code-Server, Automation - **User:** Likely `root` or `frostystyle` - **Test after install:** Terminal access, service status view ### Billing VPS (38.68.14.188) - **OS:** Ubuntu - **Current services:** Paymenter (8081), Mailcow (8080/8443) - **User:** Likely `root` - **Critical:** Don't interfere with Mailcow ports ### Panel VPS (45.94.168.138) - **OS:** Ubuntu - **Current services:** Pterodactyl Panel - **User:** Likely `root` or `pterodactyl` - **Test after install:** Panel service status visible in Cockpit ### TX1 Dallas (38.68.14.26) - **OS:** Ubuntu - **Current services:** Pterodactyl Wings, 7 game servers - **RAM:** 251GB - **User:** Likely `root` - **Test after install:** Resource monitoring shows all 251GB ### NC1 Charlotte (216.239.104.130) - **OS:** Ubuntu - **Current services:** Pterodactyl Wings, 7 game servers - **RAM:** 251GB - **User:** Likely `root` - **Test after install:** Resource monitoring shows all 251GB ## Post-Deployment Verification For each server: - [ ] Access Cockpit at https://IP:9090 - [ ] Login with server credentials works - [ ] Terminal tab loads and is functional - [ ] Services tab shows systemd services - [ ] System tab shows CPU/RAM/disk correctly - [ ] Network tab shows interfaces - [ ] Logs tab accessible ## Security Considerations **Cockpit is secure by default:** - HTTPS only (self-signed cert) - Uses existing PAM authentication - Session timeout configurable - No new attack surface (uses existing user accounts) **Additional hardening (optional):** - Limit Cockpit to specific IPs (via firewall) - Use SSH key authentication instead of passwords - Enable fail2ban for Cockpit login attempts ## Success Criteria - [ ] All 6 servers have Cockpit accessible at port 9090 - [ ] Michael can access any server from Chromebook via browser - [ ] Terminal functionality works on all servers - [ ] Service management works on all servers - [ ] No SSH dependency for basic server management ## Rollback Plan If issues arise: ```bash # Stop Cockpit sudo systemctl stop cockpit.socket # Disable Cockpit sudo systemctl disable cockpit.socket # Uninstall (if needed) sudo apt remove --purge cockpit ``` ## Estimated Time - **Per VPS:** ~10 minutes (install + test) - **Per Dedicated:** ~10 minutes (install + test) - **Total:** ~1 hour for all 5 servers ## Documentation Updates Needed After deployment: - [ ] Update infrastructure-manifest.md with Cockpit status - [ ] Add Cockpit access info to server quick-reference - [ ] Document standard Cockpit URL format in session-start docs - [ ] Update accessibility notes (Chromebook-friendly management) --- **Created:** Session 37 (The Chronicler) **Status:** READY TO EXECUTE **Blocks:** None (enhances existing infrastructure) **Enables:** Full Chromebook-based server management