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