From d86828ae9f03cd75b6cc426a6a7ff5386d8ec28c Mon Sep 17 00:00:00 2001 From: naterfute Date: Wed, 9 Apr 2025 22:10:04 -0700 Subject: [PATCH] feat: pterodactyl template --- blueprints/pterodactyl/docker-compose.yml | 83 ++++++++++++++++++++++ blueprints/pterodactyl/pterodactyl.png | Bin 0 -> 2582 bytes blueprints/pterodactyl/template.toml | 34 +++++++++ 3 files changed, 117 insertions(+) create mode 100644 blueprints/pterodactyl/docker-compose.yml create mode 100644 blueprints/pterodactyl/pterodactyl.png create mode 100644 blueprints/pterodactyl/template.toml diff --git a/blueprints/pterodactyl/docker-compose.yml b/blueprints/pterodactyl/docker-compose.yml new file mode 100644 index 00000000..c7ebf034 --- /dev/null +++ b/blueprints/pterodactyl/docker-compose.yml @@ -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: diff --git a/blueprints/pterodactyl/pterodactyl.png b/blueprints/pterodactyl/pterodactyl.png new file mode 100644 index 0000000000000000000000000000000000000000..b0e540b427e1752a9bd3233f5067b77d625037b9 GIT binary patch literal 2582 zcmV+x3hDKUP)`08PtSXY zcG{U+Iy-b?ILR$D?|bfh&U4Or&wJi8a4m;VJ9vVLZ?^6{Y_O+U)KmZ*9DKj+HGE3F z-7NjdI8CGjf%nj_#;{(DH%&^@0JIBPd^LR8ReZfX_2dCK8oCCBw_L@$#Rv4aIk}=K z9*FRHyy&mQJp3mOX@CrttA1i6re-Zh1{T*4VNF5MW`K??X?81O`AIp}FPF zMxv**1_pUc!wzKxKHl_vo9%-xDT9IZS&ZvJ7*Z64Krc)=>d9a4;9~)hwHSiAVW`@D zh-L=+HVGt`J>Dde7k2pX#-_G} zx8@H=Sr~2Z4C7bw*8$r^ICTZ0k^cVx5X~I2k!?t~?FKjj`@$E&bIC^nU}4lI|5ssmX>nv95HWq^@?AS72aoRqpo^>^Ke_$Hq>jd`eql0D@KUVy%0u z;SjQUnc_Z6NyWiVT*Y`Y4a0KK;+N1F@zp3$GA!JTWgt@=t+oDzD7OjILX-e#HM}2Z zpkWU<1c0MB7Rmb0iNo-PTCn@T5v(74-cx?}^Pj^vesTt%`24qVX^IE0Cm`!d2xi`s zzuv)yJ>YD%e-NbM2CUEN1k1%-XkSq88+h;KHhf{Mpv~Jje{^LJ%zaQxRB(B^^ zVf5@-v?vOaB^3y71>|78IxpaB*aJc_3E$LZtjb-+(W76+p@+(|)z`f6MTFP&&k0($ z=hX#5Po6x9LkGVAo+nS_W8eynUw9e@fN45a%>qPG#PQ?DYpl0o;H9~-U{_zw{O0~G z;3z9G5HK6x2MvdiC6MchSY`=@LNy8|gm(PwS{5?Z(t{_dJLi5wC$Ej6p&^_fBzlazwrCH zW%X*LtnorU%e9zZDN74Ptms;I(tacFrC1Y zW(b{=V@t|4sSwp20YiHClDzdWH0C$fDx@m3LL7dcdKsouj(IkooT(IP7Fm6|P`)QH z02j4q2)I;_eoOK+1i(SYLy`7q%6;OARMsq?zA8KSMZPoD(q-Zr0_9HHZ}grkmotT+9Th^FVT&Ah_-jt#Pj@hN)#3&DF@>- zWMxV;43uAyu&2|YOUp}C13iP3{W}zqbsH)HnJQ4$YpjEq=Tg%XNZ2j-F}{aVO+^K| zk9g1^hS6c%fK9o3X66cNwn+`202QxI0D%VFrW7Yr0iS(FTR zW8<)q8?7Helx)W?-;9dJ41qA9(v8W|(iFck+9U}Y-Ep;i3FDc|KoKMUfR?#HI%0F1JIi9)^G6@nWZKl$B5-N}okt`_V%y@`AAR!zM zgVp^Gxgr)z;>hYO{Lqle7-Vsa9+U3X7V-py3iCOURAAHRg*sS^G|W5!B+-f$JQZtX z`B|E;JR4)*Z7PQuxH54F`P%W8wgyI!E;|%rnM}oMVlav~@*x}ujZtVknDg+QfO#Lv zU@CwF(q+o=Zb5ni7_oaXAo|FP^*5bDz9`6h?(!f2)mwXxW17FAD~iUeAp2 z7|C$xji_rA?elHM6m;X2$JvH$JP=bo<*oG~_gLxt1`M!Iw1=JS&Dc0gLu%DLp zudxxSz68_USkA`vq<~B52zpl)A<#y(9Pe)StTd5Q`3-IxicW2_jPZCMi8S$svzt!e z+ROUv!n6PS