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
OpenVZorLXC, Wings will NOT work - Result of
noneindicates 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 -rInstall 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 $USEREnable Swap Support (Recommended)
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 rebootVerify Docker Installation
# Check Docker info and look for any warnings
docker infoInstallation Steps
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-v3Start Containers
cd /var/www/mythicaldash-v3
docker compose up -d
# Check status
docker compose psMonitor Logs
# Wait for healthy status
docker compose logs -f
# Press Ctrl+C when readyConfigure 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 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 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 apache2Management 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