Skip to content

Repository files navigation

BeamMeUp - BeamMP Server Admin Panel

A secure, web-based admin panel for managing your BeamMP game server. Fully Dockerized and production-ready.

Features

  • 🔐 Secure Authentication - Password-based login with role-based access control
  • ⚙️ Server Configuration - Edit server settings through the web interface
  • 📦 Mod Management - Upload and manage server mods
  • 👥 User Management - Create and manage admin accounts with different permission levels
  • 📊 Server Monitoring - Real-time server status, logs, and restart controls
  • 📝 Audit Logging - Track all configuration changes and admin actions

Quick Deployment

Prerequisites

  • Docker Desktop (v4.20 or newer)
    • Windows: Install with WSL2 backend
    • Mac: Install Docker Desktop for Mac
    • Linux: Install Docker and Docker Compose

Installation

  1. Clone the repository:

    git clone https://github.com/JoshuaGessner/beammeup.git
    cd beammeup
  2. Start the services:

    docker compose up -d --build

    This will start:

    • BeamMP game server (port 30814)
    • Admin panel backend (port 8200)
    • Admin panel frontend (port 8201)
  3. Complete first-time setup:

    Open your browser to: http://localhost:8201

    You'll see the setup wizard which will ask you to:

    After submitting, the panel will configure your server automatically.

    ⚠️ Production Security: For public/production deployments, always use HTTPS/TLS with a reverse proxy (Caddy, nginx, etc.) to encrypt credentials and session data in transit. See DEPLOYMENT.md for details.

  4. Done! Your BeamMP server is now running with a web admin panel.

Configuration

Optional: Environment Variables

Environment variables are optional and only needed if you want to override defaults. If you do, create a .env file (copy from .env.example).

# Set production mode
NODE_ENV=production

# Restrict API access to specific domains (for security)
ALLOWED_ORIGINS=https://yourdomain.com

# Limit mod file upload size (in MB)
MAX_MOD_SIZE=2048

Ports

Default ports used:

  • 30814 - BeamMP game server (UDP)
  • 8200 - Backend API (internal)
  • 8201 - Web interface

To change ports, edit docker-compose.yml.

Production Deployment

With Caddy Reverse Proxy (Recommended)

For HTTPS access with a domain name, use Caddy as a reverse proxy:

  1. Install Caddy on your server

  2. Create Caddyfile:

    yourdomain.com {
        reverse_proxy localhost:8201
    }
    
  3. Start Caddy:

    caddy start

Now access your admin panel at: https://yourdomain.com

Caddy automatically handles SSL certificates via Let's Encrypt.

Security Checklist

  • ✅ Set NODE_ENV=production in your .env
  • ✅ Use a reverse proxy (Caddy/nginx) with HTTPS
  • ✅ Set ALLOWED_ORIGINS to your domain
  • ✅ Use strong passwords for admin accounts
  • ✅ Keep your server and Docker updated
  • ✅ Regularly backup the ./data directory

User Roles

  • OWNER - Full access, can manage all settings and users
  • ADMIN - Can configure server and manage mods
  • OPERATOR - Can restart server and view logs
  • VIEWER - Read-only access to server status

Updating

To update to the latest version:

cd beammeup
git pull
docker compose down
docker compose up -d --build

Your data is preserved in the ./data directory including:

  • User accounts and permissions
  • Server configuration (including AuthKey)
  • Uploaded mods
  • Audit logs

Maintenance

Backup Your Data

Your database and uploaded mods are in the ./data directory:

# Create backup
tar -czf beammeup-backup-$(date +%Y%m%d).tar.gz data/

# Restore backup
tar -xzf beammeup-backup-20260211.tar.gz

View Logs

# All services
docker compose logs -f

# Specific service
docker compose logs -f beammp
docker compose logs -f backend
docker compose logs -f frontend

Restart Services

# Restart all
docker compose restart

# Restart specific service
docker compose restart beammp

Troubleshooting

Admin panel won't load

  • Check if containers are running: docker compose ps
  • View logs: docker compose logs -f backend frontend
  • Ensure ports 8200 and 8201 aren't in use

BeamMP server won't start

  • Verify your AuthKey is set (via Config page in admin panel)
  • Check BeamMP logs: docker compose logs -f beammp
  • Ensure port 30814 is open (UDP)

Can't upload mods

  • Check file size (default limit: 1024MB)
  • Ensure you have ADMIN or OWNER role
  • View backend logs: docker compose logs -f backend

Forgot admin password

You'll need to reset via the database. Stop the containers and delete ./data/beammeup.db, then restart to create a new owner account.

Support

For issues and questions:

  • Open an issue on GitHub
  • Check SECURITY.md for security information
  • Review DEPLOYMENT.md for advanced deployment options

License

MIT License - see LICENSE file for details

About

An entirely too robust BeamMP server stack with web admin panel for remote config.

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages