Files
firefrost-operations-manual/deployments/whitelist-manager/README.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

203 lines
4.3 KiB
Markdown

# Whitelist Manager - Deployment Package
**Version:** 1.0.0
**Created:** 2026-02-16
**Authors:** Michael "Frostystyle" Krause & Claude "The Chronicler"
**Status:** Ready for Deployment
---
## Overview
Web dashboard for managing Minecraft server whitelists across all 11 Firefrost Gaming servers.
**Deployment Target:** Billing VPS (38.68.14.188)
**Domain:** `whitelist.firefrostgaming.com`
**Port:** 5001 (internal), 443 (HTTPS external)
---
## Quick Start
### Option 1: Automated Deployment (Recommended)
1. Copy entire `whitelist-manager` directory to Billing VPS:
```bash
scp -r deployments/whitelist-manager root@38.68.14.188:/tmp/
```
2. SSH to Billing VPS and run deployment script:
```bash
ssh root@38.68.14.188
cd /tmp/whitelist-manager
chmod +x deploy.sh
./deploy.sh
```
### Option 2: Manual Deployment
Follow the step-by-step guide in `DEPLOYMENT.md`
---
## Files Included
### Application Files
- **app.py** - Flask application (main logic)
- **templates/index.html** - Web dashboard UI
- **requirements.txt** - Python dependencies
- **.env** - Configuration (API keys, credentials)
### Deployment Files
- **deploy.sh** - Automated deployment script
- **DEPLOYMENT.md** - Manual deployment guide
- **nginx.conf** - Nginx reverse proxy configuration
- **whitelist-manager.service** - systemd service file
### Documentation
- **README.md** - This file
- **.env.example** - Template for environment variables
---
## Features
**Server Management**
- Toggle whitelist ON/OFF per server
- View server status (running/offline)
- Server grouping (TX1/NC1)
**Player Management**
- Add/remove individual players
- Bulk add/remove operations
- Select all/TX1 only/NC1 only filters
**User Interface**
- Fire & Frost themed design
- TailwindCSS responsive layout
- Real-time operation results
- Server status indicators
**Security**
- HTTPS with Let's Encrypt SSL
- HTTP Basic Authentication
- Password hashing (Werkzeug scrypt)
- API key stored in .env (not in code)
---
## Managed Servers
**Texas Node (TX1) - 5 servers:**
- Reclamation
- Stoneblock 4
- Society: Sunlit Valley
- Vanilla 1.21.11
- All The Mons
**North Carolina Node (NC1) - 6 servers:**
- The Ember Project
- Minecolonies: Create and Conquer
- All The Mods 10
- Homestead
- EMC Subterra Tech
**Total:** 11 Minecraft servers
---
## Configuration
All configuration is in `.env` file:
```env
PTERODACTYL_URL=https://panel.firefrostgaming.com
PTERODACTYL_API_KEY=ptlc_vudB5oRaeoJGPip4fH5PDiymgi28uc39OjJsCbTDVEK
ADMIN_USERNAME=mkrause612
ADMIN_PASSWORD_HASH=[generated hash]
```
---
## Access
**URL:** `https://whitelist.firefrostgaming.com`
**Login Credentials:**
- Username: `mkrause612`
- Password: `Butter2018!!`
---
## Post-Deployment
### Immediate Tasks
1. Verify all 11 servers appear in dashboard
2. Test add/remove player operations
3. Test bulk operations
4. Backup API key to Vaultwarden
### Documentation Tasks
1. Update `infrastructure-manifest.md`
2. Create usage guide for Meg and staff
3. Document in Wiki.js Staff
4. Mark task as complete in `tasks.md`
### Future Enhancements (Phase 2)
- Discord bot integration (`/whitelist add player`)
- Paymenter auto-whitelist on payment
- Whitelist sync verification
- CSV import/export
- SSO integration with Wiki.js
---
## Troubleshooting
### Service Issues
```bash
systemctl status whitelist-manager
journalctl -u whitelist-manager -f
```
### Nginx Issues
```bash
nginx -t
tail -f /var/log/nginx/whitelist.error.log
```
### Application Issues
```bash
# Test API connection
curl http://localhost:5001/health
# Should return: {"service":"whitelist-manager","status":"healthy"}
```
---
## Success Metrics
**Time Savings:** 15 minutes → 30 seconds per whitelist change
**Reliability:** Zero-error whitelist management
**Visibility:** Full status across all 11 servers
**Accessibility:** Staff can manage without SSH access
---
## Related Documentation
- Task Directory: `docs/tasks/whitelist-manager/`
- Deployment Plan: `docs/tasks/whitelist-manager/deployment-plan.md`
- Prerequisites: `docs/tasks/whitelist-manager/prerequisites.md`
- Infrastructure: `docs/core/infrastructure-manifest.md`
---
**Fire + Frost + Foundation = Where Love Builds Legacy** 💙🔥❄️
---
**Deployment Status:** Ready
**Next Action:** Deploy to Ghost VPS and test