mirror of
https://github.com/pterodactyl/development.git
synced 2025-12-10 10:44:48 -06:00
99 lines
2.7 KiB
YAML
99 lines
2.7 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
traefik:
|
|
image: traefik:2.6
|
|
restart: always
|
|
networks:
|
|
- pterodactyl
|
|
ports:
|
|
- "443:443"
|
|
- "8080:8080"
|
|
security_opt:
|
|
- no-new-privileges=true
|
|
volumes:
|
|
- ./traefik:/etc/traefik:ro
|
|
- ./.data/certificates:/etc/certs:ro
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
app:
|
|
build:
|
|
context: ./build/panel
|
|
dockerfile: Dockerfile
|
|
networks:
|
|
pterodactyl:
|
|
aliases:
|
|
- pterodactyl.test
|
|
volumes:
|
|
- ./code/panel:/var/www/html:cached
|
|
- ./docker/certificates:/etc/ssl/private: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.services.app.loadbalancer.server.port=80"
|
|
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:delegated
|
|
- ./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:delegated
|
|
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:
|
|
mysql:
|
|
driver: local
|
|
minio:
|
|
driver: local
|