Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- version: '3.8'
- x-common:
- database:
- &db-environment
- # Do not remove the "&db-password" from the end of the line below, it is important
- # for Panel functionality.
- MYSQL_PASSWORD: &db-password "secret"
- MYSQL_ROOT_PASSWORD: "secret"
- panel:
- &panel-environment
- APP_URL: "https://panel.argonaut.network"
- # A list of valid timezones can be found here: http://php.net/manual/en/timezones.php
- APP_TIMEZONE: "UTC"
- # Uncomment the line below and set to a non-empty value if you want to use Let's Encrypt
- # to generate an SSL certificate for the Panel.
- # LE_EMAIL: ""
- mail:
- &mail-environment
- MAIL_DRIVER: "smtp"
- MAIL_HOST: "mail"
- MAIL_PORT: "1025"
- MAIL_USERNAME: ""
- MAIL_PASSWORD: ""
- MAIL_ENCRYPTION: "true"
- #
- # ------------------------------------------------------------------------------------------
- # DANGER ZONE BELOW
- #
- # The remainder of this file likely does not need to be changed. Please only make modifications
- # below if you understand what you are doing.
- #
- services:
- database:
- image: library/mysql:8.0
- restart: always
- command: --default-authentication-plugin=mysql_native_password
- volumes:
- - "/srv/pterodactyl/database:/var/lib/mysql"
- environment:
- <<: *db-environment
- MYSQL_DATABASE: "panel"
- MYSQL_USER: "pterodactyl"
- networks:
- - backend
- cache:
- image: redis:alpine
- restart: always
- networks:
- - backend
- panel:
- image: ghcr.io/pterodactyl/panel:latest
- restart: always
- links:
- - database
- - cache
- volumes:
- - "/srv/pterodactyl/var/:/app/var/"
- - "/srv/pterodactyl/nginx/:/etc/nginx/conf.d/"
- - "/srv/pterodactyl/certs/:/etc/letsencrypt/"
- - "/srv/pterodactyl/logs/:/var/log/"
- environment:
- <<: *panel-environment
- <<: *mail-environment
- DB_PASSWORD: *db-password
- APP_ENV: "production"
- APP_ENVIRONMENT_ONLY: "false"
- CACHE_DRIVER: "redis"
- SESSION_DRIVER: "redis"
- QUEUE_DRIVER: "redis"
- REDIS_HOST: "cache"
- DB_HOST: "database"
- networks:
- - proxy
- # Specifically for stacks with internally-networked services, such as a db
- - backend
- labels:
- - "traefik.enable=true"
- # Accept HTTP and upgrade to HTTPS
- - "traefik.http.routers.ptero.entrypoints=http"
- - "traefik.http.routers.ptero.rule=HostHeader(`panel.argonaut.network`)"
- - "traefik.http.routers.ptero.rule=Host(`panel.argonaut.network`)"
- - "traefik.http.middlewares.ptero-https-redirect.redirectscheme.scheme=https"
- - "traefik.http.routers.ptero.middlewares=ptero-https-redirect"
- # Define secure entry point
- - "traefik.http.routers.ptero-secure.entrypoints=https"
- - "traefik.http.routers.ptero-secure.rule=HostHeader(`panel.argonaut.network`)"
- - "traefik.http.routers.ptero-secure.rule=Host(`panel.argonaut.network`)"
- - "traefik.http.routers.ptero-secure.tls=true"
- - "traefik.http.routers.ptero-secure.tls.certresolver=http"
- # Attach this container to the reverse proxy network.
- - "traefik.docker.network=proxy"
- # Used for apps that expose multiple ports. Not common.
- #- "traefik.http.routers.ptero-secure.service=ptero"
- #- "traefik.http.services.ptero.loadbalancer.server.port=9000"
- networks:
- default:
- ipam:
- config:
- - subnet: 172.20.0.0/16
- proxy:
- external: true
- # Specifically for stacks with internally-networked services, such as a db
- backend:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement