mirror of
https://github.com/Dokploy/templates
synced 2025-06-26 18:16:07 +00:00
feat: pterodactyl template
This commit is contained in:
83
blueprints/pterodactyl/docker-compose.yml
Normal file
83
blueprints/pterodactyl/docker-compose.yml
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
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 "CHANGE_ME"
|
||||||
|
MYSQL_ROOT_PASSWORD: "CHANGE_ME_TOO"
|
||||||
|
panel:
|
||||||
|
&panel-environment
|
||||||
|
APP_URL: "http://example.com"
|
||||||
|
# A list of valid timezones can be found here: http://php.net/manual/en/timezones.php
|
||||||
|
APP_TIMEZONE: "UTC"
|
||||||
|
APP_SERVICE_AUTHOR: "noreply@example.com"
|
||||||
|
# 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_FROM: "noreply@example.com"
|
||||||
|
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: mariadb:10.5
|
||||||
|
restart: always
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
|
volumes:
|
||||||
|
- "pterodb:/var/lib/mysql"
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: "panel"
|
||||||
|
MYSQL_USER: "pterodactyl"
|
||||||
|
MYSQL_PASSWORD:
|
||||||
|
MYSQL_ROOT_PASSWORD:
|
||||||
|
cache:
|
||||||
|
image: redis:alpine
|
||||||
|
restart: always
|
||||||
|
panel:
|
||||||
|
image: ghcr.io/pterodactyl/panel:latest
|
||||||
|
restart: always
|
||||||
|
links:
|
||||||
|
- database
|
||||||
|
- cache
|
||||||
|
volumes:
|
||||||
|
- "pterovar/:/app/var/"
|
||||||
|
- "pteronginx:/etc/nginx/http.d/"
|
||||||
|
- "pterocerts/:/etc/letsencrypt/"
|
||||||
|
- "pterologs:/app/storage/logs"
|
||||||
|
environment:
|
||||||
|
APP_ENV: "production"
|
||||||
|
APP_ENVIRONMENT_ONLY: "false"
|
||||||
|
CACHE_DRIVER:
|
||||||
|
SESSION_DRIVER:
|
||||||
|
QUEUE_DRIVER:
|
||||||
|
REDIS_HOST:
|
||||||
|
DB_HOST:
|
||||||
|
DB_PORT:
|
||||||
|
MYSQL_PASSWORD:
|
||||||
|
MYSQL_ROOT_PASSWORD:
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
ipam:
|
||||||
|
config:
|
||||||
|
- subnet: 172.20.0.0/16
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
pterodb:
|
||||||
|
pterovar:
|
||||||
|
pteronginx:
|
||||||
|
pterocerts:
|
||||||
|
pterologs:
|
||||||
BIN
blueprints/pterodactyl/pterodactyl.png
Normal file
BIN
blueprints/pterodactyl/pterodactyl.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
34
blueprints/pterodactyl/template.toml
Normal file
34
blueprints/pterodactyl/template.toml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[variables]
|
||||||
|
main_domain = "${domain}"
|
||||||
|
db_password = "${password:32}"
|
||||||
|
db_root_password = "${password:32}"
|
||||||
|
secret_key = "${base64:48}"
|
||||||
|
|
||||||
|
[config]
|
||||||
|
env = [
|
||||||
|
"Domain=${main_domain}",
|
||||||
|
"APP_URL={$main_domain}",
|
||||||
|
"APP_TIMEZONE=UTC",
|
||||||
|
"APP_SERVICE_AUTHOR=noreply@example.com",
|
||||||
|
"MAIL_FROM=noreply@example.com",
|
||||||
|
"MAIL_DRIVER=smtp",
|
||||||
|
"MAIL_HOST=mail",
|
||||||
|
"MAIL_PORT=1025",
|
||||||
|
"MAIL_USERNAME=",
|
||||||
|
"MAIL_PASSWORD=",
|
||||||
|
"MAIL_ENCRYPTION=true",
|
||||||
|
"MYSQL_PASSWORD=${db_password}",
|
||||||
|
"MYSQL_ROOT_PASSWORD=${db_root_password}",
|
||||||
|
"DB_PORT=3306",
|
||||||
|
"CACHE_DRIVER=redis",
|
||||||
|
"SESSION_DRIVER=redis",
|
||||||
|
"QUEUE_DRIVER=redis",
|
||||||
|
"REDIS_HOST=cache",
|
||||||
|
"DB_HOST=database",
|
||||||
|
]
|
||||||
|
mounts = []
|
||||||
|
|
||||||
|
[[config.domains]]
|
||||||
|
serviceName = "panel"
|
||||||
|
port = 80
|
||||||
|
host = "${main_domain}"
|
||||||
Reference in New Issue
Block a user