Try deply Pterodactyl, failed

This commit is contained in:
Jade Ellis 2024-03-09 11:45:50 +00:00
parent b7996e5046
commit 7e83c817ec
15 changed files with 430 additions and 3 deletions

155
pnpm-lock.yaml generated
View file

@ -101,6 +101,9 @@ importers:
'@steeze-ui/svelte-icon':
specifier: ^1.5.0
version: 1.5.0(svelte@4.2.8)
super-sitemap:
specifier: ^0.14.14
version: 0.14.14(svelte@4.2.8)
xmlbuilder2:
specifier: ^3.1.1
version: 3.1.1
@ -1080,6 +1083,13 @@ packages:
engines: {node: '>=6'}
dev: true
/ansi-styles@3.2.1:
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
engines: {node: '>=4'}
dependencies:
color-convert: 1.9.3
dev: false
/anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
@ -1099,6 +1109,16 @@ packages:
dependencies:
dequal: 2.0.3
/array-back@3.1.0:
resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==}
engines: {node: '>=6'}
dev: false
/array-back@4.0.2:
resolution: {integrity: sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==}
engines: {node: '>=8'}
dev: false
/axobject-query@3.2.1:
resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
dependencies:
@ -1162,6 +1182,15 @@ packages:
engines: {node: '>=6'}
dev: true
/chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
dependencies:
ansi-styles: 3.2.1
escape-string-regexp: 1.0.5
supports-color: 5.5.0
dev: false
/chokidar@3.5.3:
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
engines: {node: '>= 8.10.0'}
@ -1191,6 +1220,12 @@ packages:
estree-walker: 3.0.3
periscopic: 3.1.0
/color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
dependencies:
color-name: 1.1.3
dev: false
/color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
@ -1198,6 +1233,10 @@ packages:
color-name: 1.1.4
dev: true
/color-name@1.1.3:
resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
dev: false
/color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
dev: true
@ -1217,6 +1256,26 @@ packages:
color-string: 1.9.1
dev: true
/command-line-args@5.2.1:
resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==}
engines: {node: '>=4.0.0'}
dependencies:
array-back: 3.1.0
find-replace: 3.0.0
lodash.camelcase: 4.3.0
typical: 4.0.0
dev: false
/command-line-usage@6.1.3:
resolution: {integrity: sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==}
engines: {node: '>=8.0.0'}
dependencies:
array-back: 4.0.2
chalk: 2.4.2
table-layout: 1.0.2
typical: 5.2.0
dev: false
/commander@7.2.0:
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
engines: {node: '>= 10'}
@ -1296,6 +1355,11 @@ packages:
regexp.prototype.flags: 1.5.2
dev: false
/deep-extend@0.6.0:
resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
engines: {node: '>=4.0.0'}
dev: false
/deepmerge@4.3.1:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
@ -1337,6 +1401,15 @@ packages:
resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
dev: true
/directory-tree@3.5.1:
resolution: {integrity: sha512-HqjZ49fDzUnKYUhHxVw9eKBqbQ+lL0v4kSBInlDlaktmLtGoV9tC54a6A0ZfYeIrkMHWTE6MwwmUXP477+UEKQ==}
engines: {node: '>=10.0'}
hasBin: true
dependencies:
command-line-args: 5.2.1
command-line-usage: 6.1.3
dev: false
/dom-serializer@2.0.0:
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
dependencies:
@ -1416,6 +1489,11 @@ packages:
'@esbuild/win32-x64': 0.19.10
dev: true
/escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
dev: false
/esm-env@1.0.0:
resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
dev: true
@ -1462,6 +1540,13 @@ packages:
micromatch: 4.0.5
dev: true
/fast-xml-parser@4.3.5:
resolution: {integrity: sha512-sWvP1Pl8H03B8oFJpFR3HE31HUfwtX7Rlf9BNsvdpujD4n7WMhfmu8h9wOV2u+c1k0ZilTADhPqypzx2J690ZQ==}
hasBin: true
dependencies:
strnum: 1.0.5
dev: false
/fastq@1.16.0:
resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==}
dependencies:
@ -1475,6 +1560,13 @@ packages:
to-regex-range: 5.0.1
dev: true
/find-replace@3.0.0:
resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==}
engines: {node: '>=4.0.0'}
dependencies:
array-back: 3.1.0
dev: false
/fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: true
@ -1552,6 +1644,11 @@ packages:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
dev: true
/has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'}
dev: false
/has-property-descriptors@1.0.2:
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
dependencies:
@ -1699,6 +1796,10 @@ packages:
/locate-character@3.0.0:
resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
/lodash.camelcase@4.3.0:
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
dev: false
/lodash.clonedeep@4.5.0:
resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==}
dev: true
@ -2011,6 +2112,11 @@ packages:
picomatch: 2.3.1
dev: true
/reduce-flatten@2.0.0:
resolution: {integrity: sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==}
engines: {node: '>=6'}
dev: false
/regexp.prototype.flags@1.5.2:
resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
engines: {node: '>= 0.4'}
@ -2208,6 +2314,27 @@ packages:
min-indent: 1.0.1
dev: true
/strnum@1.0.5:
resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
dev: false
/super-sitemap@0.14.14(svelte@4.2.8):
resolution: {integrity: sha512-ZrxbwYD1+7n+CHZaFwt3XW3a74gpLATLaDpH4yN67a0kHRwY8Tm0eLVeIuG07PXfzxCroWj8o60G1m4kigHEaw==}
peerDependencies:
svelte: ^4.0.0
dependencies:
directory-tree: 3.5.1
fast-xml-parser: 4.3.5
svelte: 4.2.8
dev: false
/supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
dependencies:
has-flag: 3.0.0
dev: false
/supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
@ -2336,6 +2463,16 @@ packages:
picocolors: 1.0.0
dev: true
/table-layout@1.0.2:
resolution: {integrity: sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==}
engines: {node: '>=8.0.0'}
dependencies:
array-back: 4.0.2
deep-extend: 0.6.0
typical: 5.2.0
wordwrapjs: 4.0.1
dev: false
/tiny-glob@0.2.9:
resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
dependencies:
@ -2365,6 +2502,16 @@ packages:
hasBin: true
dev: true
/typical@4.0.0:
resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==}
engines: {node: '>=8'}
dev: false
/typical@5.2.0:
resolution: {integrity: sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==}
engines: {node: '>=8'}
dev: false
/uuid@9.0.1:
resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
hasBin: true
@ -2453,6 +2600,14 @@ packages:
resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
dev: false
/wordwrapjs@4.0.1:
resolution: {integrity: sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==}
engines: {node: '>=8.0.0'}
dependencies:
reduce-flatten: 2.0.0
typical: 5.2.0
dev: false
/wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
dev: true

View file

@ -12,7 +12,7 @@ Image=ghcr.io/gethomepage/homepage:latest
Volume=/etc/homepage:/app/config:z
PodmanArgs=--privileged
Volume=/run/podman/podman.sock:/var/run/docker.sock:z
AutoUpdate=local
AutoUpdate=registry
Network=web.network
Label="traefik.enable=true"
@ -21,6 +21,22 @@ Label="traefik.http.routers.homepage.entrypoints=https"
Label="traefik.http.routers.homepage.tls.certresolver=letsencrypt"
Label="traefik.http.middlewares.compress.compress=true"
Label="traefik.http.middlewares.hsts.headers.stsincludesubdomains=false"
Label="traefik.http.middlewares.hsts.headers.stspreload=true"
Label="traefik.http.middlewares.hsts.headers.stsseconds=31536000"
Label="traefik.http.middlewares.hsts.headers.isdevelopment=false"
Label="traefik.http.routers.homepage.middlewares=hsts,compress"
Label="homepage.group=Public"
Label="homepage.name=Homepage"
Label="homepage.href=https://homepage.ellis.link/"
Label="homepage.description=Here!"
[Service]
Restart=on-failure
TimeoutStartSec=900

View file

@ -0,0 +1,7 @@
[Network]
DisableDNS=false
Internal=true
IPv6=true
# Manual subnet to avoid issues with DNS resolution
# Subnet=10.89.1.0/24
# Gateway=10.89.1.1

View file

@ -19,14 +19,22 @@ Label="traefik.http.routers.jade-website-frontend.entrypoints=https"
Label="traefik.http.routers.jade-website-frontend.tls.certresolver=letsencrypt"
Label="traefik.http.middlewares.compress.compress=true"
Label="traefik.http.middlewares.hsts.headers.stsincludesubdomains=false"
Label="traefik.http.middlewares.hsts.headers.stspreload=true"
Label="traefik.http.middlewares.hsts.headers.stsseconds=31536000"
Label="traefik.http.middlewares.hsts.headers.isdevelopment=false"
Label="traefik.http.routers.jade-website-frontend.middlewares=hsts,compress"
Label="homepage.group=Public"
Label="homepage.name=Website"
Label="homepage.href=https://jade.ellis.link/"
Label="homepage.siteMonitor=https://jade.ellis.link/"
Label="homepage.description=My personal website!"
[Service]
Restart=on-failure
TimeoutStartSec=900

View file

@ -20,6 +20,16 @@ Label="traefik.http.routers.thelounge.entrypoints=https"
Label="traefik.http.routers.thelounge.tls.certresolver=letsencrypt"
Label="traefik.http.middlewares.compress.compress=true"
Label="traefik.http.middlewares.hsts.headers.stsincludesubdomains=false"
Label="traefik.http.middlewares.hsts.headers.stspreload=true"
Label="traefik.http.middlewares.hsts.headers.stsseconds=31536000"
Label="traefik.http.middlewares.hsts.headers.isdevelopment=false"
Label="traefik.http.routers.thelounge.middlewares=hsts,compress"
Label="homepage.group=Social"
Label="homepage.name=TheLounge"
Label="homepage.href=https://thelounge.ellis.link/"

View file

@ -30,11 +30,19 @@ Volume=/etc/traefik:/etc/traefik:ro,z
AutoUpdate=registry
Network=web.network
IP=176.126.240.240
IP6=fe80::9724:38eb:9b0f:df7c
# IP=176.126.240.240
# IP6=fe80::9724:38eb:9b0f:df7c
Exec=traefik --configFile=/etc/traefik/config.toml
Label="traefik.http.middlewares.compress.compress=true"
Label="traefik.http.middlewares.hsts.headers.stsincludesubdomains=false"
Label="traefik.http.middlewares.hsts.headers.stspreload=true"
Label="traefik.http.middlewares.hsts.headers.stsseconds=31536000"
Label="traefik.http.middlewares.hsts.headers.isdevelopment=false"
[Service]
Restart=on-failure
TimeoutStartSec=900

View file

@ -56,6 +56,11 @@ storage:
directories:
- path: /var/opt/thelounge
- path: /var/srv/traefik
# - path: /var/opt/mysql-database
# - path: /var/opt/pterodactyl
# - path: /var/opt/pterodactyl/panel/nginx
# - path: /var/opt/pterodactyl/panel/var
# - path: /var/opt/pterodactyl/panel/logs
# - path: /etc/firewalld
# mode: 0750
# See: https://docs.fedoraproject.org/en-US/fedora-coreos/storage/

View file

@ -0,0 +1,27 @@
[Unit]
Description=MySQL Server
Wants=network-online.target
After=network-online.target
[Container]
ContainerName=database-mysql
NoNewPrivileges=true
Image=docker.io/library/mysql:8.0
Volume=/var/opt/mysql-database:/var/lib/mysql:Z,U
AutoUpdate=registry
Network=internal.network
EnvironmentFile=mysql.env
Exec=mysqld --default-authentication-plugin=mysql_native_password
Label="homepage.group=Services"
Label="homepage.name=MySQL"
[Service]
Restart=on-failure
TimeoutStartSec=900
[Install]
WantedBy=default.target

View file

@ -0,0 +1,5 @@
MYSQL_ROOT_PASSWORD=Ky32ndOitmzJVrQx4RHHD
MYSQL_DATABASE=panel
MYSQL_USER=pterodactyl
MYSQL_PASSWORD=3z4CF7IjwEbQeFS01E53d0wsYjVJ2CpH

View file

@ -0,0 +1,7 @@
[Network]
DisableDNS=false
Internal=true
IPv6=true
Driver=bridge
Options=com.docker.network.bridge.name=wings0

View file

@ -0,0 +1,59 @@
[Unit]
Description=Pterodactyl Wings
Wants=network-online.target
After=network-online.target
[Container]
ContainerName=pterodactyl-wings
NoNewPrivileges=true
Image=ghcr.io/pterodactyl/wings:latest
Volume=/run/podman/podman.sock:/var/run/docker.sock:z
Volume=/etc/ssl/certs:/etc/ssl/certs:ro
Volume=/tmp/pterodactyl/:/tmp/pterodactyl/:ro
Volume=/var/opt/pterodactyl/wings/etc/:/etc/pterodactyl:z,U
Volume=/var/opt/pterodactyl/wings/logs:/var/log/pterodactyl:z,U
PublishPort=2022:2022
Environment=TZ=Europe/London
Environment=WINGS_UID=988
Environment=WINGS_GID=988
Environment=WINGS_USERNAME=pterodactyl
AutoUpdate=registry
Network=web.network
Network=pterodactyl-wings-0.network
Label="traefik.enable=true"
Label="traefik.http.routers.pterodactyl-wings.entrypoints=http"
Label="traefik.http.routers.pterodactyl-wings.rule=Host(`wings-0.ellis.link`)"
Label="traefik.http.routers.pterodactyl-wings.middlewares=panel_https"
Label="traefik.http.middlewares.panel_https.redirectscheme.scheme=https"
# HTTPS
Label="traefik.http.routers.pterodactyl-wings-https.entrypoints=https"
Label="traefik.http.routers.pterodactyl-wings-https.rule=Host(`wings-0.ellis.link`)"
Label="traefik.http.routers.pterodactyl-wings-https.tls=true"
Label="traefik.http.routers.pterodactyl-wings-https.tls.certresolver=letsencrypt"
Label="traefik.http.services.pterodactyl-wings-https.loadbalancer.server.port=443"
# Label="traefik.http.routers.pterodactyl-wings-https.middlewares=hsts,compress"
#
# Label="traefik.http.middlewares.compress.compress=true"
#
# Label="traefik.http.middlewares.hsts.headers.stsincludesubdomains=false"
# Label="traefik.http.middlewares.hsts.headers.stspreload=true"
# Label="traefik.http.middlewares.hsts.headers.stsseconds=31536000"
# Label="traefik.http.middlewares.hsts.headers.isdevelopment=false"
Label="homepage.group=Games"
Label="homepage.name=Pterodactyl Wings"
[Service]
Restart=on-failure
TimeoutStartSec=900
[Install]
WantedBy=default.target

View file

@ -0,0 +1,61 @@
[Unit]
Description=Pterodactyl Panel
Wants=network-online.target
After=network-online.target
Wants=redis.service
Wants=mysql.service
[Container]
ContainerName=pterodactyl-panel
NoNewPrivileges=true
Image=ghcr.io/pterodactyl/panel:latest
Volume=/var/opt/pterodactyl/panel/var:/app/var/:z,U
Volume=/var/opt/pterodactyl/panel/logs:/app/storage/logs:z,U
Volume=/var/opt/pterodactyl/panel/nginx:/etc/nginx/conf.d:z,U
EnvironmentFile=pterodactyl.env
AutoUpdate=registry
Network=web.network
Network=internal.network
Label="traefik.enable=true"
Label="traefik.http.routers.pterodactyl-panel.entrypoints=http"
Label="traefik.http.routers.pterodactyl-panel.rule=Host(`pterodactyl.ellis.link`)"
Label="traefik.http.routers.pterodactyl-panel.middlewares=panel_https"
Label="traefik.http.middlewares.panel_https.redirectscheme.scheme=https"
# HTTPS
Label="traefik.http.routers.pterodactyl-panel-https.entrypoints=https"
Label="traefik.http.routers.pterodactyl-panel-https.rule=Host(`pterodactyl.ellis.link`)"
Label="traefik.http.routers.pterodactyl-panel-https.tls=true"
Label="traefik.http.routers.pterodactyl-panel-https.tls.certresolver=letsencrypt"
Label="traefik.http.services.pterodactyl-panel-https.loadbalancer.server.port=80"
# Label="traefik.http.routers.pterodactyl-panel-https.middlewares=hsts,compress"
#
# Label="traefik.http.middlewares.compress.compress=true"
#
# Label="traefik.http.middlewares.hsts.headers.stsincludesubdomains=false"
# Label="traefik.http.middlewares.hsts.headers.stspreload=true"
# Label="traefik.http.middlewares.hsts.headers.stsseconds=31536000"
# Label="traefik.http.middlewares.hsts.headers.isdevelopment=false"
Label="homepage.group=Games"
Label="homepage.name=Pterodactyl Panel"
Label="homepage.href=https://pterodactyl.ellis.link/"
Label="homepage.description=Game server manager"
Label="homepage.widget.type=pterodactyl"
Label="homepage.widget.url=https://pterodactyl.ellis.link"
Label="homepage.widget.key=ptla_1nPixV9s1UJccf98TUGSO2ViY92MndM7qZKH76k1Tm5"
[Service]
Restart=on-failure
TimeoutStartSec=900
[Install]
WantedBy=default.target

View file

@ -0,0 +1,17 @@
DB_PASSWORD=3z4CF7IjwEbQeFS01E53d0wsYjVJ2CpH
APP_URL=https://pterodactyl.ellis.link
APP_TIMEZONE=Europe/London
APP_SERVICE_AUTHOR=pterodactyl@ellis.link
APP_ENV=production
APP_ENVIRONMENT_ONLY=false
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_DRIVER=redis
REDIS_HOST=redis
DB_HOST=database-mysql
TRUSTED_PROXIES=*

View file

@ -0,0 +1,24 @@
[Unit]
Description=Redis Server
Wants=network-online.target
After=network-online.target
[Container]
ContainerName=redis
NoNewPrivileges=true
Image=docker.io/library/redis:alpine
AutoUpdate=registry
Network=internal.network
Label="homepage.group=Services"
Label="homepage.name=Redis"
[Service]
Restart=on-failure
TimeoutStartSec=900
[Install]
WantedBy=default.target

18
servers/wings/config.yml Normal file
View file

@ -0,0 +1,18 @@
debug: false
uuid: 5bbf3bd5-4b9b-4ee4-8cd9-6ddd9dd88781
token_id: xsKUjOLapARK0xmv
token: 7rdoH6dUAODDBs5FFUPsYFxHQhi5IHx8xnnMuGGC8ZxXR7JPRO6HLP6X5WjlCY3v
api:
host: 0.0.0.0
port: 443
ssl:
enabled: true
cert: /etc/letsencrypt/live/wings-0.ellis.link/fullchain.pem
key: /etc/letsencrypt/live/wings-0.ellis.link/privkey.pem
upload_limit: 100
system:
data: /var/lib/pterodactyl/volumes
sftp:
bind_port: 2022
allowed_mounts: []
remote: 'https://pterodactyl.ellis.link'