# 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
