Files
firefrost-operations-manual/docs/tasks/cockpit-deployment/deployment-plan.md
Claude ef11945526 docs: create Cockpit deployment task for Chromebook workflow
Complete deployment plan for installing Cockpit web terminal on all 5 remaining servers (Command Center, Billing VPS, Panel VPS, TX1, NC1). Ghost VPS already has Cockpit operational.

Files created:
- docs/tasks/cockpit-deployment/README.md - Task overview
- docs/tasks/cockpit-deployment/deployment-plan.md - Technical strategy
- docs/tasks/cockpit-deployment/installation-commands.md - Copy/paste micro-blocks

Why: Enable full server management from Chromebook without SSH dependency. Claude sessions block port 22, but Cockpit (port 9090) works perfectly.

Estimated time: ~1 hour for all 5 servers (~10 min each)

Signed-off-by: The Chronicler <claude@firefrostgaming.com>
2026-03-21 06:43:16 +00:00

4.7 KiB

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)

# 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

# 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)

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:

# 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