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>
175 lines
4.7 KiB
Markdown
175 lines
4.7 KiB
Markdown
# 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
|