# Whitelist Manager Web Dashboard

**Status:** DEPLOYMENT READY  
**Owner:** Michael "Frostystyle" Krause  
**Priority:** Tier 0 - Immediate Win  
**Last Updated:** 2026-02-17  
**Time Estimate:** 30-45 minutes deployment

---

## Quick Links

- [Deployment Plan](deployment-plan.md) - Complete 6-phase build guide
- [Prerequisites](prerequisites.md) - What you need before starting
- *(usage-guide.md - To be created after deployment)*
- *(troubleshooting.md - To be created after deployment)*

---

## Overview

Web dashboard at `whitelist.firefrostgaming.com` for managing player whitelists across all 11 Minecraft servers. Replaces manual SSH and Pterodactyl console work.

**The Problem:**
- Currently requires manual SSH to each node (TX1, NC1)
- Update whitelist on each server individually via Pterodactyl console  
- Time-consuming (15+ minutes per change)
- Error-prone
- No visibility into current whitelist status

**The Solution:**
- Web interface with server list and status
- Toggle whitelist ON/OFF per server (one click)
- Add/remove players from individual servers
- Bulk add/remove across all servers
- Staff-accessible (Michael, Meg, trusted staff)

---

## Key Deliverables

- **Web Dashboard:** `whitelist.firefrostgaming.com`
- **Backend:** Python Flask application
- **Frontend:** HTML + TailwindCSS responsive design
- **Authentication:** Basic auth (username/password) via HTTPS
- **Hosting:** Billing VPS (38.68.14.188, Chicago) - "Money on Billing" principle

---

## Managed Servers

**11 Minecraft Servers:**

**Texas Node (TX1):**
- Reclamation
- Stoneblock 4
- Society: Sunlit Valley
- Vanilla 1.21.11
- All The Mons

**North Carolina Node (NC1):**
- The Ember Project
- Minecolonies: Create and Conquer
- All The Mods 10
- Homestead
- EMC Subterra Tech

**Excluded (Non-Minecraft):**
- FoundryVTT (TX)
- Hytale (NC)

---

## Tech Stack

- **Backend:** Python 3 + Flask
- **API Integration:** Pterodactyl API v1 (console commands)
- **Frontend:** HTML5 + TailwindCSS
- **Web Server:** Nginx (reverse proxy)
- **SSL:** Let's Encrypt
- **Process Manager:** systemd
- **Authentication:** Flask-HTTPAuth (basic auth)

---

## Success Metrics

- ✅ **15-minute task → 30 seconds** (time savings)
- ✅ **Zero-error whitelist management** (reliability)
- ✅ **Full visibility** across all servers (transparency)
- ✅ **Staff accessible** without SSH access (usability)

---

## Dependencies

**Blocks:**
- None (standalone tool)

**Blocked By:**
- None (ready to build)

**Prerequisites:**
- Pterodactyl panel URL and API key
- Ghost VPS SSH access
- DNS A record: `whitelist.firefrostgaming.com` → Ghost VPS IP
- Admin credentials for dashboard

---

## Current Status

**COMPLETE - Ready for Deployment:**
- ✅ Complete Flask web application built
- ✅ Fire & Frost themed TailwindCSS UI
- ✅ Pterodactyl API integration complete
- ✅ All configuration files created
- ✅ Deployment scripts and guides ready
- ✅ Security implemented (HTTPS, auth, API key management)
- ⏳ **Awaiting SSH access to Billing VPS for deployment**

**Deployment Package Location:**
`/deployments/whitelist-manager/` in operations manual repository

**Next Steps:**
1. Obtain SSH access to Billing VPS (38.68.14.188)
2. Configure DNS: `whitelist.firefrostgaming.com` → `38.68.14.188`
3. Run deployment (30-45 minutes using provided scripts)
4. Test all functions
5. Document credentials in Vaultwarden

---

## Documentation in This Directory

### Core Documents

**deployment-plan.md** (40+ pages)
- Complete 6-phase deployment guide
- Prerequisites checklist
- Code examples (Flask, Nginx, systemd)
- Testing procedures
- Security considerations
- Maintenance guidelines
- Future enhancements roadmap

**prerequisites.md**
- Pterodactyl API access
- Ghost VPS requirements
- DNS configuration
- Authentication setup

### To Be Created

**usage-guide.md** (after deployment)
- Staff usage instructions
- Common workflows
- Access control
- Screenshots

**troubleshooting.md** (after deployment)
- Common issues and solutions
- Error messages
- Recovery procedures
- Service restart procedures

**maintenance.md** (after deployment)
- Daily/weekly/monthly tasks
- Update procedures
- Log rotation
- Health checks

---

## Future Enhancements (Phase 2)

**Discord Bot Integration:**
- `/whitelist add player` command in Discord
- Automated notifications when players added/removed

**Paymenter Integration:**
- Auto-whitelist on subscription payment
- Auto-remove on subscription cancellation
- Grace period handling

**Advanced Features:**
- Whitelist sync verification (ensure all servers match)
- Player activity tracking
- Automated whitelist backups
- Whitelist import/export (CSV)
- Bulk operations via file upload

**UI Improvements:**
- Real-time server status indicators
- Player search/filter
- Recent changes history
- Multi-server checkbox selection

**Authentication Upgrades:**
- SSO integration with Wiki.js
- Role-based permissions (admin/moderator/viewer)
- 2FA support
- API tokens for automation

---

## Related Documents

- [Task Documentation Standard](../../standards/task-documentation-standard.md) - Standard this task follows
- [Tasks Master List](../../core/tasks.md) - High-level task entry
- *(Infrastructure Manifest - for Ghost VPS details)*
- *(Pterodactyl deployment docs - for API context)*

---

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

---

**Document Status:** ACTIVE  
**Task Status:** Planning  
**Ready to Build:** Yes (awaiting medical clearance)
