Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- version: "3.9"
- x-common:
- database:
- &db-environment
- MYSQL_PASSWORD: &db-password "${MYSQL_PASSWORD}"
- MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
- panel:
- &panel-environment
- APP_URL: "${APP_URL}"
- APP_TIMEZONE: "${APP_TIMEZONE}"
- APP_SERVICE_AUTHOR: "${APP_SERVICE_AUTHOR}"
- services:
- wings:
- image: ghcr.io/pterodactyl/wings:latest
- restart: always
- networks:
- - ptero0
- - proxy
- ports:
- - "2022:2022"
- tty: true
- environment:
- TZ: "${APP_TIMEZONE}"
- WINGS_UID: 0
- WINGS_GID: 0
- WINGS_USERNAME: root
- labels:
- - "traefik.enable=true"
- - "traefik.http.routers.wings-kr.rule=Host(`kr-seoul-waffly-1.example.com`)"
- - "traefik.http.routers.wings-kr.entrypoints=websecure"
- - "traefik.http.routers.wings-kr.tls.certresolver=cf"
- - "traefik.http.services.wings-kr.loadbalancer.server.port=443"
- volumes:
- - "/var/run/docker.sock:/var/run/docker.sock"
- - "/var/lib/docker/containers:/var/lib/docker/containers"
- - "/opt/pterodactyl/wings/config:/etc/pterodactyl"
- - "/var/lib/pterodactyl:/var/lib/pterodactyl"
- - "/var/log/pterodactyl:/var/log/pterodactyl"
- - "/tmp/pterodactyl/:/tmp/pterodactyl/"
- database:
- image: mariadb:12
- restart: always
- networks:
- - ptero0
- command: --default-authentication-plugin=mysql_native_password
- volumes:
- - "/opt/pterodactyl/panel/database:/var/lib/mysql"
- environment:
- <<: *db-environment
- MYSQL_DATABASE: "panel"
- MYSQL_USER: "pterodactyl"
- cache:
- image: redis:alpine
- restart: always
- networks:
- - ptero0
- panel:
- image: ghcr.io/pterodactyl/panel:latest
- restart: always
- networks:
- - ptero0
- - proxy
- depends_on:
- - database
- - cache
- volumes:
- - "/opt/pterodactyl/panel/appvar/:/app/var/"
- - "/opt/pterodactyl/panel/nginx/:/etc/nginx/http.d/"
- - "/opt/pterodactyl/panel/logs/:/app/storage/logs"
- environment:
- <<: [*panel-environment]
- DB_PASSWORD: *db-password
- APP_ENV: "production"
- APP_ENVIRONMENT_ONLY: "false"
- CACHE_DRIVER: "redis"
- SESSION_DRIVER: "redis"
- QUEUE_DRIVER: "sync"
- REDIS_HOST: "cache"
- DB_HOST: "database"
- DB_PORT: "3306"
- labels:
- - "traefik.enable=true"
- - "traefik.http.routers.pterodactyl.rule=Host(`pterodactyl.example.com`)"
- - "traefik.http.routers.pterodactyl.entrypoints=websecure"
- - "traefik.http.routers.pterodactyl.tls=true"
- - "traefik.http.services.pterodactyl.loadbalancer.server.port=80"
- - "traefik.http.middlewares.pterodactyl-headers.headers.customrequestheaders.X-Real-IP=$remote_addr"
- - "traefik.http.middlewares.pterodactyl-headers.headers.customrequestheaders.X-Forwarded-For=$proxy_add_x_forwarded_for"
- - "traefik.http.middlewares.pterodactyl-headers.headers.customrequestheaders.Host=$http_host"
- - "traefik.http.middlewares.pterodactyl-headers.headers.customrequestheaders.Connection=Upgrade"
- - "traefik.http.middlewares.pterodactyl-headers.headers.customrequestheaders.Upgrade=$http_upgrade"
- - "traefik.http.middlewares.pterodactyl-headers.headers.customrequestheaders.X-Nginx-Proxy=true"
- - "traefik.http.middlewares.pterodactyl-headers.headers.customrequestheaders.X-Forwarded-Proto=$scheme"
- - "traefik.http.routers.pterodactyl.middlewares=pterodactyl-headers"
- networks:
- ptero0:
- name: ptero0
- driver: bridge
- ipam:
- config:
- - subnet: "192.55.0.0/16"
- driver_opts:
- com.docker.network.bridge.name: ptero0
- proxy:
- external: true
- name: traefik_proxy
Advertisement
Add Comment
Please, Sign In to add comment