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

272 lines
5.5 KiB
Markdown

# 🔥❄️ 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
- [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 Billing VPS
```bash
scp -r deployments/whitelist-manager root@38.68.14.188:/tmp/
```
**Step 2:** SSH and deploy
```bash
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
```bash
ssh root@38.68.14.188
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 | Billing VPS | 38.68.14.188 | 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!**