Files
firefrost-operations-manual/deployments/whitelist-manager/DEPLOYMENT.md
Claude e37034021b 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.0 KiB

Whitelist Manager - Manual Deployment Guide

Prerequisites

  • SSH access to Billing VPS (38.68.14.188)
  • Root privileges
  • DNS record configured: whitelist.firefrostgaming.com38.68.14.188

Step-by-Step Deployment

1. Connect to Billing VPS

ssh root@38.68.14.188

2. Install System Dependencies

apt update
apt install -y python3 python3-pip python3-venv nginx certbot python3-certbot-nginx

3. Create Application Directory

mkdir -p /opt/whitelist-manager/templates
cd /opt/whitelist-manager

4. Create app.py

nano app.py

Copy the contents from: deployments/whitelist-manager/app.py Save with: Ctrl+O, Enter, Ctrl+X

5. Create requirements.txt

nano requirements.txt

Copy the contents from: deployments/whitelist-manager/requirements.txt Save with: Ctrl+O, Enter, Ctrl+X

6. Create .env file

nano .env

Copy the contents from: deployments/whitelist-manager/.env Save with: Ctrl+O, Enter, Ctrl+X

7. Create HTML Template

nano templates/index.html

Copy the contents from: deployments/whitelist-manager/templates/index.html Save with: Ctrl+O, Enter, Ctrl+X

8. Install Python Dependencies

pip3 install -r requirements.txt --break-system-packages

9. Test the Application

python3 app.py

You should see: Running on http://0.0.0.0:5001 Press Ctrl+C to stop

10. Create systemd Service

nano /etc/systemd/system/whitelist-manager.service

Copy the contents from: deployments/whitelist-manager/whitelist-manager.service Save with: Ctrl+O, Enter, Ctrl+X

11. Enable and Start Service

systemctl daemon-reload
systemctl enable whitelist-manager
systemctl start whitelist-manager
systemctl status whitelist-manager

Should show "active (running)" in green

12. Configure Nginx

nano /etc/nginx/sites-available/whitelist.firefrostgaming.com

Copy the contents from: deployments/whitelist-manager/nginx.conf Save with: Ctrl+O, Enter, Ctrl+X

13. Enable Nginx Site

ln -s /etc/nginx/sites-available/whitelist.firefrostgaming.com /etc/nginx/sites-enabled/
nginx -t

Should say "syntax is ok" and "test is successful"

systemctl reload nginx

14. Obtain SSL Certificate

IMPORTANT: Make sure DNS is configured first!

Check DNS propagation:

nslookup whitelist.firefrostgaming.com

Should return: 38.68.14.188

If DNS is ready:

certbot --nginx -d whitelist.firefrostgaming.com --email mkrause612@gmail.com

Follow the prompts:

  • Agree to terms: Yes
  • Share email: Your choice
  • Redirect HTTP to HTTPS: Yes (recommended)

15. Verify Deployment

Test the service:

curl http://localhost:5001/health

Should return: {"service":"whitelist-manager","status":"healthy"}

Test via web browser:

https://whitelist.firefrostgaming.com

Login with:

  • Username: mkrause612
  • Password: Butter2018!!

Useful Commands

Service Management

# View service status
systemctl status whitelist-manager

# View live logs
journalctl -u whitelist-manager -f

# Restart service
systemctl restart whitelist-manager

# Stop service
systemctl stop whitelist-manager

Nginx Management

# Test configuration
nginx -t

# Reload configuration
systemctl reload nginx

# View access logs
tail -f /var/log/nginx/whitelist.access.log

# View error logs
tail -f /var/log/nginx/whitelist.error.log

Application Logs

# Last 50 lines
journalctl -u whitelist-manager -n 50

# Follow logs in real-time
journalctl -u whitelist-manager -f

# Logs from last hour
journalctl -u whitelist-manager --since "1 hour ago"

Troubleshooting

Service won't start

# Check detailed status
systemctl status whitelist-manager

# Check logs
journalctl -u whitelist-manager -n 100

# Common issues:
# - Missing .env file
# - Wrong Python path
# - Port 5001 already in use

Can't access via browser

# Check if service is running
systemctl status whitelist-manager

# Check if Nginx is running
systemctl status nginx

# Check if port 5001 is listening
netstat -tuln | grep 5001

# Check Nginx error logs
tail -f /var/log/nginx/whitelist.error.log

SSL certificate issues

# Verify DNS first
nslookup whitelist.firefrostgaming.com

# Check certificate status
certbot certificates

# Renew certificate manually
certbot renew --force-renewal

Post-Deployment

After successful deployment:

  1. Test all functions:

    • Login works
    • Server list displays
    • Add player works
    • Remove player works
    • Bulk operations work
  2. Backup credentials:

    • Store in Vaultwarden
    • API key: ptlc_vudB5oRaeoJGPip4fH5PDiymgi28uc39OjJsCbTDVEK
    • Dashboard login: mkrause612 / Butter2018!!
  3. Documentation:

    • Update infrastructure manifest
    • Create usage guide for Meg and staff
    • Document in Wiki.js

Fire + Frost + Foundation = Where Love Builds Legacy 💙🔥❄️