MythicalSystems
OS Installation

Docker Installation

Docker Installation

Docker provides a containerized environment that simplifies the installation and management of MythicalDash. This method is recommended for users who want a quick setup with minimal configuration.

:::warning System Requirements MythicalDash requires docker to function properly.

  • Supported Systems: Ubuntu 20.04+, Debian 11+, RHEL/Rocky/AlmaLinux 8+
  • NOT Supported: Windows, Virtuozzo, OpenVZ (OVZ), or LXC virtualization
  • Required: KVM virtualization or dedicated hardware

Check your virtualization type: systemd-detect-virt

  • If the result contains OpenVZ or LXC, Wings will NOT work
  • Result of none indicates dedicated hardware (guaranteed to work) :::

Prerequisites

Ensure you have Docker and Docker Compose installed on your system:

System Compatibility Check

First, verify your system is compatible with docker:

# Check virtualization type (must NOT be OpenVZ or LXC)
systemd-detect-virt

# Alternative check - verify system manufacturer
sudo dmidecode -s system-manufacturer

# Check kernel version
uname -r

Install Docker

Use recommended Docker installation:

# Quick install using recommended method
curl -sSL https://get.docker.com/ | CHANNEL=stable bash

# Start and enable Docker on boot
sudo systemctl enable --now docker

# Add your user to docker group (optional, allows running docker without sudo)
sudo usermod -aG docker $USER

Enable swap accounting for better container management:

# Check if swap is already enabled (kernel 6.1+ has it by default)
uname -r

# For older kernels, enable swap accounting
sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="swapaccount=1 /' /etc/default/grub
sudo update-grub
sudo reboot

Verify Docker Installation

# Check Docker info and look for any warnings
docker info

Installation Steps

1

Download & Extract

mkdir -p /var/www/mythicaldash-v3
cd /var/www/mythicaldash-v3
curl -Lo MythicalDash.zip https://github.com/MythicalLTD/MythicalDash/releases/latest/download/MythicalDash.zip
unzip -o MythicalDash.zip -d /var/www/mythicaldash-v3
2

Start Containers

cd /var/www/mythicaldash-v3
docker compose up -d

# Check status
docker compose ps
3

Monitor Logs

# Wait for healthy status
docker compose logs -f

# Press Ctrl+C when ready
4

Configure MythicalDash

📋 Prerequisites Required

  • Pterodactyl Panel 1.x installed and running
  • Pterodactyl Wings installed on your game server nodes
  • Panel API credentials ready for configuration

📖 Haven't installed Pterodactyl yet? Visit the official documentation first.

🔧 Run Configuration Command

docker exec -it mythicaldash_v3_backend php cli pterodactyl configure
🌐 Panel URL

Your Pterodactyl Panel's full URL
https://panel.yourdomain.com

🔑 Application API Key

API key for server management
ptla_xxxxxxxxxx

5. Set Up Access Method

:::tip Cloudflare Tunnels Recommended We strongly recommend using Cloudflare Tunnels instead of a traditional reverse proxy.

Cloudflare Tunnels provide:

  • Automatic SSL - No certificate management needed
  • Enhanced security - No open ports, DDoS protection
  • Better performance - Global CDN and smart routing
  • Easier setup - No complex Nginx/Apache configuration
  • Dynamic IP support - Perfect for home servers

Get started with Cloudflare Tunnels → :::

Traditional Reverse Proxy (Alternative)

If you prefer a traditional reverse proxy setup, configure your web server to proxy requests to port 4830.

:::note SSL Certificate Setup For production deployments with reverse proxy, SSL certificates are strongly recommended. Follow our SSL Certificate Guide to set up certificates before configuring the reverse proxy. :::

Nginx

Nginx Configuration

HTTP Only (Development)
server {
  listen 80;
  server_name your-domain.com;

  location / {
      proxy_pass http://localhost:4830;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_buffering off;
  }
}
HTTPS (Production)
server {
  listen 80;
  server_name your-domain.com;
  return 301 https://$server_name$request_uri;
}

server {
  listen 443 ssl http2;
  server_name your-domain.com;

  ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
  ssl_session_cache shared:le_nginx_SSL:10m;
  ssl_session_timeout 1440m;
  ssl_session_tickets off;
  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_prefer_server_ciphers off;
  ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;

  location / {
      proxy_pass http://localhost:4830;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_buffering off;

      # WebSocket support
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
  }
}
Apache

Apache Configuration

HTTP Only (Development)
<VirtualHost *:80>
  ServerName your-domain.com

  ProxyPreserveHost On
  ProxyPass / http://localhost:4830/
  ProxyPassReverse / http://localhost:4830/
</VirtualHost>
HTTPS (Production)
<VirtualHost *:80>
  ServerName your-domain.com
  Redirect permanent / https://your-domain.com/
</VirtualHost>

<VirtualHost *:443>
  ServerName your-domain.com

  SSLEngine on
  SSLCertificateFile /etc/letsencrypt/live/your-domain.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/your-domain.com/privkey.pem

  ProxyPreserveHost On
  ProxyPass / http://localhost:4830/
  ProxyPassReverse / http://localhost:4830/

  # WebSocket support
  ProxyPass /ws/ ws://localhost:4830/ws/
  ProxyPassReverse /ws/ ws://localhost:4830/ws/
</VirtualHost>

Enable Apache Modules:

sudo a2enmod ssl proxy proxy_http proxy_wstunnel
sudo systemctl restart apache2

Management Commands

Useful Docker Commands

📋 View Logs

ocker exec -it mythicaldash_v3_backend php cli logs

🛑 Stop Containers

docker compose down

🔄 Restart

docker compose restart

⬆️ Update

docker compose pull && docker compose up -d

On this page