From 5bab0b2e498200faaacd5b9cc072bde0aa47e024 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 17 Feb 2026 03:37:33 +0000 Subject: [PATCH] docs: Add deployment checklist for Whitelist Manager --- deployments/whitelist-manager/CHECKLIST.md | 271 +++++++++++++++++++++ 1 file changed, 271 insertions(+) create mode 100644 deployments/whitelist-manager/CHECKLIST.md diff --git a/deployments/whitelist-manager/CHECKLIST.md b/deployments/whitelist-manager/CHECKLIST.md new file mode 100644 index 0000000..f308911 --- /dev/null +++ b/deployments/whitelist-manager/CHECKLIST.md @@ -0,0 +1,271 @@ +# 🔥❄️ Whitelist Manager - Deployment Checklist + +**Status:** Ready for Deployment +**Target:** Ghost VPS (64.50.188.14) +**Domain:** whitelist.firefrostgaming.com +**Time Estimate:** 30-45 minutes + +--- + +## Pre-Deployment Checklist + +### DNS Configuration (Do First!) +- [ ] Log into your DNS provider (Cloudflare/Route53/etc) +- [ ] Create A record: + - **Name:** `whitelist` + - **Type:** A + - **Value:** `64.50.188.14` + - **TTL:** 300 (5 minutes) +- [ ] Wait 5-10 minutes for propagation +- [ ] Verify DNS: `nslookup whitelist.firefrostgaming.com` + - Should return: `64.50.188.14` + +### Files Ready +- [x] Application code created +- [x] Configuration files ready +- [x] Deployment scripts prepared +- [x] All files committed to Gitea + +--- + +## Deployment Steps + +### Method 1: Automated (Recommended) + +**Step 1:** Copy files to Ghost VPS +```bash +scp -r deployments/whitelist-manager root@64.50.188.14:/tmp/ +``` + +**Step 2:** SSH and deploy +```bash +ssh root@64.50.188.14 +cd /tmp/whitelist-manager +chmod +x deploy.sh +./deploy.sh +``` + +**Step 3:** Follow prompts and verify + +### Method 2: Manual (If you prefer control) + +Follow `deployments/whitelist-manager/DEPLOYMENT.md` step-by-step + +--- + +## Post-Deployment Verification + +### Test 1: Service Running +```bash +ssh root@64.50.188.14 +systemctl status whitelist-manager +``` +✅ Should show: "active (running)" in green + +### Test 2: Health Check +```bash +curl http://localhost:5001/health +``` +✅ Should return: `{"service":"whitelist-manager","status":"healthy"}` + +### Test 3: Web Access +Open browser: `https://whitelist.firefrostgaming.com` + +✅ Should show: +- Login prompt +- Valid SSL certificate (green padlock) + +### Test 4: Dashboard Login +Login with: +- Username: `mkrause612` +- Password: `Butter2018!!` + +✅ Should show: +- All 11 servers listed +- TX1 and NC1 servers grouped +- Server status indicators + +### Test 5: Add Player Test +1. Select "Vanilla 1.21.11" server (safest for testing) +2. Enter test player: `TestPlayer123` +3. Click "Add to Whitelist" + +✅ Should show: Green success message + +### Test 6: Remove Player Test +1. Same server +2. Same player: `TestPlayer123` +3. Click "Remove from Whitelist" + +✅ Should show: Green success message + +### Test 7: Bulk Operation Test +1. Enter multiple test players (one per line): + ``` + BulkTest1 + BulkTest2 + BulkTest3 + ``` +2. Select "Vanilla 1.21.11" +3. Click "Bulk Add" + +✅ Should show: 3 green success messages + +--- + +## Success Criteria + +All items must be checked: + +- [ ] DNS resolves to 64.50.188.14 +- [ ] HTTPS works with valid SSL +- [ ] Login successful with credentials +- [ ] All 11 servers visible +- [ ] Add player works +- [ ] Remove player works +- [ ] Bulk operations work +- [ ] Service auto-starts on reboot + +--- + +## Rollback Plan (If needed) + +If deployment fails: + +```bash +# Stop service +systemctl stop whitelist-manager +systemctl disable whitelist-manager + +# Remove Nginx config +rm /etc/nginx/sites-enabled/whitelist.firefrostgaming.com + +# Reload Nginx +systemctl reload nginx + +# Remove application +rm -rf /opt/whitelist-manager + +# Remove SSL cert (optional) +certbot delete --cert-name whitelist.firefrostgaming.com +``` + +--- + +## Next Steps After Successful Deployment + +### Immediate +1. [ ] Backup credentials to Vaultwarden + - API Key: `ptlc_vudB5oRaeoJGPip4fH5PDiymgi28uc39OjJsCbTDVEK` + - Dashboard: `mkrause612 / Butter2018!!` + +2. [ ] Update infrastructure manifest + ```bash + # Add to Management Services table: + Whitelist Manager | Ghost VPS | 64.50.188.14 | whitelist.firefrostgaming.com | ✅ OPERATIONAL + ``` + +3. [ ] Mark task complete in tasks.md + ``` + Status: ✅ COMPLETE + Completed: 2026-02-16 + ``` + +### Documentation +4. [ ] Create usage guide for Meg and staff +5. [ ] Document in Wiki.js Staff +6. [ ] Take screenshots for documentation + +### Testing with Real Players +7. [ ] Test with actual player whitelist +8. [ ] Verify across multiple servers +9. [ ] Test bulk operations with real usernames + +--- + +## Useful Commands Reference + +### Service Management +```bash +# Status +systemctl status whitelist-manager + +# Logs (live) +journalctl -u whitelist-manager -f + +# Restart +systemctl restart whitelist-manager +``` + +### Nginx +```bash +# Test config +nginx -t + +# Reload +systemctl reload nginx + +# Logs +tail -f /var/log/nginx/whitelist.access.log +tail -f /var/log/nginx/whitelist.error.log +``` + +### SSL Certificate +```bash +# Check status +certbot certificates + +# Renew +certbot renew +``` + +--- + +## Troubleshooting Quick Reference + +**Service won't start:** +- Check logs: `journalctl -u whitelist-manager -n 50` +- Verify .env file exists +- Check port 5001 not in use: `netstat -tuln | grep 5001` + +**Can't access web dashboard:** +- Verify DNS: `nslookup whitelist.firefrostgaming.com` +- Check service: `systemctl status whitelist-manager` +- Check Nginx: `systemctl status nginx` +- Check firewall: Ports 80 and 443 open + +**SSL certificate fails:** +- Verify DNS propagation first +- Check Nginx is running +- Ensure ports 80/443 are open +- Retry: `certbot --nginx -d whitelist.firefrostgaming.com` + +**Operations fail:** +- Verify API key in .env is correct +- Check Pterodactyl panel is accessible +- Test API: `curl -H "Authorization: Bearer ptlc_..." https://panel.firefrostgaming.com/api/client` + +--- + +## Time Saved + +**Before:** 15 minutes per whitelist change +- SSH to node +- Find server in Pterodactyl +- Use console commands +- Verify on each server +- Repeat for multiple servers + +**After:** 30 seconds +- Open web dashboard +- Select servers +- Enter player name +- One click + +**Impact:** 96.7% time reduction per operation + +--- + +🔥❄️ **Fire + Frost + Foundation = Where Love Builds Legacy** 💙 + +**Ready to deploy!**