Files
firefrost-operations-manual/deployments/whitelist-manager/CHECKLIST.md
Claude 08b84047e5 fix: Correct deployment target from Ghost VPS to Billing VPS
Whitelist Manager should deploy to Billing VPS (38.68.14.188), not Ghost VPS.
This aligns with infrastructure philosophy: 'Money on Billing'

Changes:
- Updated all IP references: 64.50.188.14 → 38.68.14.188
- Updated deployment target in all docs
- Updated DNS configuration
- Updated SSH commands
- Updated SCP commands

Billing VPS is the correct location as whitelist management
is part of the subscription/billing workflow.
2026-02-17 03:49:22 +00:00

5.5 KiB

🔥❄️ Whitelist Manager - Deployment Checklist

Status: Ready for Deployment
Target: Billing VPS (38.68.14.188)
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: 38.68.14.188
    • TTL: 300 (5 minutes)
  • Wait 5-10 minutes for propagation
  • Verify DNS: nslookup whitelist.firefrostgaming.com
    • Should return: 38.68.14.188

Files Ready

  • Application code created
  • Configuration files ready
  • Deployment scripts prepared
  • All files committed to Gitea

Deployment Steps

Step 1: Copy files to Billing VPS

scp -r deployments/whitelist-manager root@38.68.14.188:/tmp/

Step 2: SSH and deploy

ssh root@38.68.14.188
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

ssh root@38.68.14.188
systemctl status whitelist-manager

Should show: "active (running)" in green

Test 2: Health Check

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:

# 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

    # Add to Management Services table:
    Whitelist Manager | Billing VPS | 38.68.14.188 | whitelist.firefrostgaming.com | ✅ OPERATIONAL
    
  3. Mark task complete in tasks.md

    Status: ✅ COMPLETE
    Completed: 2026-02-16
    

Documentation

  1. Create usage guide for Meg and staff
  2. Document in Wiki.js Staff
  3. Take screenshots for documentation

Testing with Real Players

  1. Test with actual player whitelist
  2. Verify across multiple servers
  3. Test bulk operations with real usernames

Useful Commands Reference

Service Management

# Status
systemctl status whitelist-manager

# Logs (live)
journalctl -u whitelist-manager -f

# Restart
systemctl restart whitelist-manager

Nginx

# 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

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