From f9e46ee9144579d67369752b423de8cbd5203ec5 Mon Sep 17 00:00:00 2001 From: majcek210 <155429915+majcek210@users.noreply.github.com> Date: Thu, 23 Oct 2025 15:43:54 +0200 Subject: [PATCH] Fix and update the template. Fixed the template by updating current configuration and enabling wings to connect. --- templates/compose/pterodactyl-with-wings.yaml | 179 +++++++++++++----- 1 file changed, 134 insertions(+), 45 deletions(-) diff --git a/templates/compose/pterodactyl-with-wings.yaml b/templates/compose/pterodactyl-with-wings.yaml index f0ff57819..691bc66c3 100644 --- a/templates/compose/pterodactyl-with-wings.yaml +++ b/templates/compose/pterodactyl-with-wings.yaml @@ -7,10 +7,11 @@ services: mariadb: - image: mariadb:10.5 + image: 'mariadb:10.5' healthcheck: test: - ["CMD-SHELL", "healthcheck.sh --connect --innodb_initialized || exit 1"] + - CMD-SHELL + - 'healthcheck.sh --connect --innodb_initialized || exit 1' start_period: 10s interval: 10s timeout: 1s @@ -21,26 +22,27 @@ services: - MYSQL_USER=$SERVICE_USER_MYSQL - MYSQL_PASSWORD=$SERVICE_PASSWORD_MYSQL volumes: - - pterodactyl-db:/var/lib/mysql - + - 'pterodactyl-db:/var/lib/mysql' redis: - image: redis:alpine + image: 'redis:alpine' healthcheck: - test: ["CMD-SHELL", "redis-cli ping || exit 1"] + test: + - CMD-SHELL + - 'redis-cli ping || exit 1' interval: 10s timeout: 1s retries: 3 - pterodactyl: - image: ghcr.io/pterodactyl/panel:latest + image: 'ghcr.io/pterodactyl/panel:latest' volumes: - - "panel-var:/app/var/" - - "panel-nginx:/etc/nginx/http.d/" - - "panel-certs:/etc/letsencrypt/" - - type: bind + - 'panel-var:/app/var/' + - 'panel-nginx:/etc/nginx/http.d/' + - 'panel-certs:/etc/letsencrypt/' + - + type: bind source: ./etc/entrypoint.sh target: /entrypoint.sh - mode: "0755" + mode: '0755' content: | #!/bin/sh set -e @@ -65,26 +67,29 @@ services: fi exec supervisord --nodaemon - command: ["/entrypoint.sh"] + command: + - /entrypoint.sh healthcheck: - test: ["CMD-SHELL", "curl -sf http://localhost:80 || exit 1"] + test: + - CMD-SHELL + - 'curl -sf http://localhost:80 || exit 1' interval: 10s timeout: 1s retries: 3 environment: - SERVICE_URL_PTERODACTYL_80 - - ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com} - - ADMIN_USERNAME=${SERVICE_USER_ADMIN} - - ADMIN_FIRSTNAME=${ADMIN_FIRSTNAME:-Admin} - - ADMIN_LASTNAME=${ADMIN_LASTNAME:-User} - - ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN} - - PTERODACTYL_HTTPS=${PTERODACTYL_HTTPS:-false} + - 'ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com}' + - 'ADMIN_USERNAME=${SERVICE_USER_ADMIN}' + - 'ADMIN_FIRSTNAME=${ADMIN_FIRSTNAME:-Admin}' + - 'ADMIN_LASTNAME=${ADMIN_LASTNAME:-User}' + - 'ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN}' + - 'PTERODACTYL_HTTPS=${PTERODACTYL_HTTPS:-false}' - APP_ENV=production - APP_ENVIRONMENT_ONLY=false - APP_URL=$SERVICE_URL_PTERODACTYL - - APP_TIMEZONE=${TIMEZONE:-UTC} - - APP_SERVICE_AUTHOR=${APP_SERVICE_AUTHOR:-author@example.com} - - LOG_LEVEL=${LOG_LEVEL:-debug} + - 'APP_TIMEZONE=${TIMEZONE:-UTC}' + - 'APP_SERVICE_AUTHOR=${APP_SERVICE_AUTHOR:-author@example.com}' + - 'LOG_LEVEL=${LOG_LEVEL:-debug}' - CACHE_DRIVER=redis - SESSION_DRIVER=redis - QUEUE_DRIVER=redis @@ -101,41 +106,125 @@ services: - MAIL_USERNAME=$MAIL_USERNAME - MAIL_PASSWORD=$MAIL_PASSWORD - MAIL_ENCRYPTION=$MAIL_ENCRYPTION - wings: - image: "ghcr.io/pterodactyl/wings:latest" + image: 'ghcr.io/pterodactyl/wings:latest' + restart: unless-stopped environment: - SERVICE_URL_WINGS_8443 - - "TZ=${TIMEZONE:-UTC}" - - WINGS_USERNAME=$SERVICE_USER_WINGS + - 'TZ=${TIMEZONE:-UTC}' + - WINGS_USERNAME=pterodactyl volumes: - - "/var/run/docker.sock:/var/run/docker.sock" - - "/var/lib/docker/containers/:/var/lib/docker/containers/" - - "/var/lib/pterodactyl/volumes:/var/lib/pterodactyl/volumes" - - "/tmp/pterodactyl:/tmp/pterodactyl" - - wings_lib:/var/lib/pterodactyl/ - - wings_logs:/var/log/pterodactyl/ - - type: bind + - '/var/run/docker.sock:/var/run/docker.sock' + - '/var/lib/docker/containers/:/var/lib/docker/containers/' + - '/var/lib/pterodactyl/:/var/lib/pterodactyl/' + - '/tmp/pterodactyl/:/tmp/pterodactyl/' + - 'wings-logs:/var/log/pterodactyl/' + - + type: bind source: ./etc/config.yml target: /etc/pterodactyl/config.yml - content: | + content: |- debug: false - uuid: ReplaceConfig - token_id: ReplaceConfig - token: ReplaceConfig + uuid: REPLACE FROM CONFIG + token_id: REPLACE FROM CONFIG + token: REPLACE FROM CONFIG api: host: 0.0.0.0 - port: 8443 # Warning, panel must have 443 as daemon port, while here it should should be 8443, FQDN in Coolify for this service should be https://*:8443 + port: 8443 ssl: enabled: false - cert: ReplaceConfig - key: ReplaceConfig + cert: REPLACE FROM CONFIG + key: REPLACE FROM CONFIG + disable_remote_download: false upload_limit: 100 + trusted_proxies: [] system: + root_directory: /var/lib/pterodactyl + log_directory: /var/log/pterodactyl data: /var/lib/pterodactyl/volumes + archive_directory: /var/lib/pterodactyl/archives + backup_directory: /var/lib/pterodactyl/backups + tmp_directory: /tmp/pterodactyl + username: pterodactyl + timezone: UTC + user: + rootless: + enabled: false + container_uid: 0 + container_gid: 0 + uid: 988 + gid: 988 + disk_check_interval: 150 + activity_send_interval: 60 + activity_send_count: 100 + check_permissions_on_boot: true + enable_log_rotate: true + websocket_log_count: 150 sftp: + bind_address: 0.0.0.0 bind_port: 2022 + read_only: false + crash_detection: + enabled: true + detect_clean_exit_as_crash: true + timeout: 60 + backups: + write_limit: 0 + compression_level: best_speed + transfers: + download_limit: 0 + openat_mode: auto + docker: + network: + interface: 172.28.0.1 + dns: + - 1.1.1.1 + - 1.0.0.1 + name: pterodactyl_nw + ispn: false + driver: bridge + network_mode: pterodactyl_nw + is_internal: false + enable_icc: true + network_mtu: 1500 + interfaces: + v4: + subnet: 172.28.0.0/16 + gateway: 172.28.0.1 + v6: + subnet: fdba:17c8:6c94::/64 + gateway: fdba:17c8:6c94::1011 + domainname: "" + registries: {} + tmpfs_size: 100 + container_pid_limit: 512 + installer_limits: + memory: 1024 + cpu: 100 + overhead: + override: false + default_multiplier: 1.05 + multipliers: {} + use_performant_inspect: true + userns_mode: "" + log_config: + type: local + config: + compress: "false" + max-file: "1" + max-size: 5m + mode: non-blocking + throttles: + enabled: true + lines: 2000 + line_reset_interval: 100 + remote: http://pterodactyl:80 + remote_query: + timeout: 30 + boot_servers_per_page: 50 allowed_mounts: [] - remote: '' - ports: - - '2022:2022' + allowed_origins: + - http://pterodactyl:80 + - PANEL DOMAIN # + allow_cors_private_network: false + ignore_panel_config_updates: false