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.
203 lines
4.3 KiB
Markdown
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
|