Files
docker-compose/game-servers/docker-compose.yml

93 lines
2.5 KiB
YAML

services:
mariadb:
image: mariadb:12.0.2
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=pterodactyl
- MYSQL_USER=pterodactyl
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
volumes:
- /mnt/user/appdata/pterodactyl-panel/database:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
start_period: 10s
interval: 10s
timeout: 5s
retries: 3
labels:
folder.view2: "Databases"
redis:
image: redis:6.2-alpine
volumes:
- /mnt/user/appdata/pterodactyl-panel/cache:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
labels:
folder.view2: "Databases"
pterodactyl-panel:
image: ghcr.io/pterodactyl/panel:latest
environment:
# Application settings
- APP_URL=${APP_URL}
- APP_NAME=${APP_NAME}
- APP_TIMEZONE=${APP_TIMEZONE}
- APP_SERVICE_AUTHOR=${APP_SERVICE_AUTHOR}
# Database settings
- DB_HOST=mariadb
- DB_PORT=3306
- DB_DATABASE=pterodactyl
- DB_USERNAME=pterodactyl
- DB_PASSWORD=${MYSQL_PASSWORD}
# Cache settings
- CACHE_DRIVER=redis
- SESSION_DRIVER=redis
- QUEUE_DRIVER=redis
- REDIS_HOST=redis
- REDIS_PORT=6379
# Mail settings (optional)
- MAIL_DRIVER=${MAIL_DRIVER}
- MAIL_HOST=${MAIL_HOST}
- MAIL_PORT=${MAIL_PORT}
- MAIL_USERNAME=${MAIL_USERNAME}
- MAIL_PASSWORD=${MAIL_PASSWORD}
- MAIL_ENCRYPTION=${MAIL_ENCRYPTION}
- MAIL_FROM=${MAIL_FROM}
volumes:
- /mnt/user/appdata/pterodactyl-panel/data:/app/var/
ports:
- "6001:80"
depends_on:
mariadb:
condition: service_healthy
redis:
condition: service_healthy
labels:
folder.view2: "Game Servers"
pterodactyl-wings:
image: ghcr.io/pterodactyl/wings:latest
privileged: true
environment:
- TZ=${APP_TIMEZONE}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/containers/:/var/lib/docker/containers/
- /mnt/user/pterodactyl-node/data/:/mnt/user/pterodactyl-node/data/
- /mnt/user/pterodactyl-node/tmp/:/mnt/user/pterodactyl-node/tmp/
- /mnt/user/pterodactyl-node/config/:/etc/pterodactyl/
ports:
- "7001:8080" # Wings API
- "2022:2022" # SFTP
working_dir: /var/lib/pterodactyl
labels:
folder.view2: "Game Servers"