mirror of
https://github.com/pterodactyl/development.git
synced 2025-12-10 00:09:41 -06:00
150 lines
4.1 KiB
YAML
150 lines
4.1 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
traefik:
|
|
image: traefik:2.6
|
|
restart: always
|
|
networks:
|
|
pterodactyl:
|
|
aliases:
|
|
- pterodactyl.test
|
|
- minio.pterodactyl.test
|
|
- s3.minio.pterodactyl.test
|
|
- wings.pterodactyl.test
|
|
ports:
|
|
- "443:443"
|
|
- "8080:8080"
|
|
security_opt:
|
|
- no-new-privileges=true
|
|
volumes:
|
|
- ./traefik:/etc/traefik:ro
|
|
- ./docker/certificates:/etc/certs:ro
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
app:
|
|
build:
|
|
context: ./build/panel
|
|
dockerfile: Dockerfile
|
|
stop_grace_period: '1s'
|
|
networks:
|
|
pterodactyl:
|
|
aliases:
|
|
- pterodactyl.test
|
|
volumes:
|
|
- panel_code:/var/www/html
|
|
- ./docker/certificates:/etc/certs:ro
|
|
- ./docker/php:/etc/php/mods-available:ro
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.app.tls=true"
|
|
- "traefik.http.routers.app.rule=Host(`pterodactyl.test`)"
|
|
- "traefik.http.routers.app.entrypoints=https"
|
|
- "traefik.http.routers.app.service=app"
|
|
- "traefik.http.services.app.loadbalancer.server.port=80"
|
|
- "traefik.http.routers.hmr.tls=true"
|
|
- "traefik.http.routers.hmr.rule=Host(`hmr.pterodactyl.test`)"
|
|
- "traefik.http.routers.hmr.entrypoints=https"
|
|
- "traefik.http.routers.hmr.service=hmr"
|
|
- "traefik.http.services.hmr.loadbalancer.server.port=8080"
|
|
wings:
|
|
build:
|
|
context: ./build/wings
|
|
dockerfile: Dockerfile
|
|
stop_grace_period: '1s'
|
|
tty: true
|
|
stdin_open: true
|
|
networks:
|
|
- pterodactyl
|
|
ports:
|
|
- "2022:2022"
|
|
volumes:
|
|
- ./code/wings:/home/root/wings
|
|
- wings_data:/var/lib/pterodactyl
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.wings.tls=true"
|
|
- "traefik.http.routers.wings.rule=Host(`wings.pterodactyl.test`)"
|
|
- "traefik.http.routers.wings.entrypoints=https"
|
|
- "traefik.http.services.wings.loadbalancer.server.port=8080"
|
|
mysql:
|
|
image: mariadb:10.7
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3306:3306"
|
|
command:
|
|
- --innodb-buffer-pool-size=1G
|
|
- --innodb-log-file-size=256M
|
|
- --innodb-flush-log-at-trx-commit=0
|
|
- --lower-case-table-names=1
|
|
volumes:
|
|
- mysql:/var/lib/mysql
|
|
- ./docker/mysql:/docker-entrypoint-initdb.d:ro
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root
|
|
MYSQL_DATABASE: panel
|
|
MYSQL_USER: pterodactyl
|
|
MYSQL_PASSWORD: pterodactyl
|
|
networks:
|
|
- pterodactyl
|
|
redis:
|
|
image: redis:alpine
|
|
restart: unless-stopped
|
|
networks:
|
|
- pterodactyl
|
|
minio:
|
|
image: minio/minio:RELEASE.2022-02-05T04-40-59Z
|
|
restart: unless-stopped
|
|
command: server --console-address ":9001" /var/lib/minio
|
|
environment:
|
|
MINIO_ROOT_USER: minio
|
|
MINIO_ROOT_PASSWORD: password
|
|
expose:
|
|
- 9000
|
|
- 9001
|
|
networks:
|
|
pterodactyl:
|
|
aliases:
|
|
- s3.minio.pterodactyl.test
|
|
volumes:
|
|
- minio:/var/lib/minio
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.minio.tls=true"
|
|
- "traefik.http.routers.minio.rule=Host(`s3.minio.pterodactyl.test`)"
|
|
- "traefik.http.routers.minio.entrypoints=https"
|
|
- "traefik.http.routers.minio.service=minio"
|
|
- "traefik.http.routers.minio-console.tls=true"
|
|
- "traefik.http.routers.minio-console.rule=Host(`minio.pterodactyl.test`)"
|
|
- "traefik.http.routers.minio-console.entrypoints=https"
|
|
- "traefik.http.routers.minio-console.service=minio-console"
|
|
- "traefik.http.services.minio.loadbalancer.server.port=9000"
|
|
- "traefik.http.services.minio-console.loadbalancer.server.port=9001"
|
|
|
|
networks:
|
|
pterodactyl:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
panel_code:
|
|
mysql:
|
|
driver: local
|
|
minio:
|
|
driver: local
|
|
wings_data:
|
|
driver: local
|
|
|
|
x-mutagen:
|
|
sync:
|
|
defaults:
|
|
permissions:
|
|
defaultFileMode: 0666
|
|
defaultDirectoryMode: 0777
|
|
code:
|
|
alpha: "./code/panel"
|
|
beta: "volume://panel_code"
|
|
mode: "two-way-resolved"
|
|
ignore:
|
|
vcs: true
|
|
paths:
|
|
- ".idea"
|