diff --git a/docs/tasks/whitelist-manager/README.md b/docs/tasks/whitelist-manager/README.md new file mode 100644 index 0000000..f5df9ab --- /dev/null +++ b/docs/tasks/whitelist-manager/README.md @@ -0,0 +1,216 @@ +# Whitelist Manager Web Dashboard + +**Status:** Planning +**Owner:** Michael "Frostystyle" Krause +**Priority:** Tier 0 - Immediate Win +**Last Updated:** 2026-02-16 +**Time Estimate:** 2-2.5 hours + +--- + +## 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:** Ghost VPS (Chicago) - same server as Wiki.js Staff + +--- + +## 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 + +**Planning Phase:** +- ✅ Deployment plan complete (40+ pages) +- ✅ Requirements gathered +- ✅ Tech stack selected +- ✅ Server list compiled (11 servers) +- ⏳ Awaiting medical clearance to begin build + +**Next Steps:** +1. Obtain Pterodactyl API key +2. Set up DNS record +3. Begin Phase 1: Infrastructure setup +4. Follow 6-phase deployment plan + +--- + +## 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)