Panel is a modern platform for running and managing multiplayer game servers at scale. It includes:
- Orchestration (RCON, server templates, provisioning)
- Secure auth (OAuth2/OIDC, JWT) and RBAC
- Observability (Prometheus metrics, Grafana dashboards, structured logs)
- A GUI installer that sets up PostgreSQL, Redis, Nginx, and a Python environment
- DevOps-ready deployment via Docker Compose
Use Panel to host, monitor, and operate servers with enterprise-grade features.
You can install Panel using the GUI installer or via Docker/manual setup.
# Clone the repo
git clone https://github.com/phillgates2/panel.git
cd panelRequirements: Python 3.10+, pip.
pip install PySide6 keyring psycopg2-binary
python -m tools.installer.guiFeatures:
- Wizard (preflight → config → install → health → summary)
- Role-based presets (dev/staging/prod)
- Secrets via OS keyring
- Advanced logs (filter/search/severity, redacted export)
- Diagnostics (tail common logs), crash recovery (state rollback)
- Telemetry opt-in and sandbox simulation mode
Installer files live in tools/installer/.
# From the repo root
docker-compose up -d
# App at http://localhost:8080Compose variants:
docker-compose.yml— base stackdocker-compose.monitoring.yml— Prometheus/Grafana
python -m venv venv && source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements/requirements.txt
cp .env.example .env
# edit .env with your settings
flask db upgrade
python app.pyAfter installation:
- Access the app:
http://localhost:8080(or your domain) - Sign in with the admin user configured during setup
- Create servers via Servers → Add New
- Visit
/metricsfor Prometheus metrics
- Game servers: multi-game, RCON, templates, health checks
- Community: forum/CMS, real-time chat, roles
- Security: OAuth2/OIDC, JWT, RBAC, CSP/HSTS, rate limiting
- Analytics: app metrics at
/metrics, Grafana dashboards - Operations: backups, Alembic migrations, structured logging
- Backend: Python (Flask), SQLAlchemy
- Data: PostgreSQL, Redis
- Frontend: Bootstrap 5, Jinja2
- Monitoring: Prometheus, Grafana
- Deploy: Docker Compose
See docs/README.md for the detailed diagram and component guides.
Configure via environment (.env). Example:
FLASK_ENV=production
DATABASE_URL=postgresql://panel_user:password@localhost:5432/panel_db
REDIS_URL=redis://localhost:6379/0
PROMETHEUS_ENABLED=trueMore in config/README.md.
- Preflight checks and configuration validation
- Role-based presets and wizard flow
- Secrets saved to OS keyring
- Advanced logging (filters/search/severity, redaction)
- Diagnostics (tail nginx/postgres logs)
- Crash recovery (state rollback)
- Telemetry opt-in and sandbox mode
Docs: tools/installer/README.md and docs/INSTALLER_GUIDE.md.
- Health endpoints:
GET /health,GET /health/detailed - Metrics endpoint:
GET /metrics
- App logs: see your configured logging directory or the GUI installer Logs tab
- Nginx logs:
/var/log/nginx/access.log,/var/log/nginx/error.log - PostgreSQL logs: typically
/var/log/postgresql/*.log
- Port conflict on 8080/80/443
- Check with:
netstat -tlnp | grep 8080(Linux) orGet-NetTCPConnection -LocalPort 8080(Windows) - Change
PANEL_PORTor stop the conflicting service
- Check with:
- Database connection failure
- Verify PostgreSQL:
sudo systemctl status postgresql - Test:
psql -U panel_user -d panel_db -h localhost -c "SELECT 1" - Check
DATABASE_URLin.env
- Verify PostgreSQL:
- Redis not reachable
redis-cli pingshould returnPONG- Check
REDIS_URL
- Health check fails
- Ensure app running:
ps aux | grep app.py(Linux) - Review logs for stack traces and config errors
- Ensure app running:
- GUI won’t start
- Ensure PySide6 installed:
pip show PySide6 - Try
python -m tools.installer.guifrom repo root
- Ensure PySide6 installed:
- Preflight reports ports in use
- Free the ports or adjust panel/nginx ports in Settings
- Elevation/Admin required errors
- Run installer with admin/sudo or enable elevation
- Crash recovery needed
- Use the GUI “Crash Recovery” to rollback recorded actions
- Secrets storage issues
- Install
keyringand ensure OS keychain is accessible
- Install
pip install -r requirements/requirements-dev.txt
make lint format testContribution guide: docs/CONTRIBUTING.md.
Planned improvements: cloud installers, deeper game integrations, workflow automation.
Track progress in docs/README.md and issues.
MIT © Contributors. See LICENSE.
- Docs index:
docs/README.md - Installer guide:
docs/INSTALLER_GUIDE.md - Issues: https://github.com/phillgates2/panel/issues
- Discussions: https://github.com/phillgates2/panel/discussions