2025-11-21 19:21:31 +00:00
2025-11-21 19:21:31 +00:00
2025-11-21 19:21:10 +00:00
2025-11-21 19:20:47 +00:00
2025-11-21 19:20:26 +00:00
2025-11-21 19:20:26 +00:00
2025-11-21 19:20:26 +00:00
2025-11-21 19:20:26 +00:00
2025-11-21 19:20:00 +00:00

🚀 TuxiNet Pterodactyl Stack Docker Compose

Komplet Pterodactyl Panel & Wings setup pakket til Docker, inkl.:

  • MariaDB (database)
  • Redis (cache & køer)
  • Panel (Pterodactyl web/APP)
  • Wings (daemon til game servers)
  • Nginx (reverse proxy)
  • Certbot (Let's Encrypt SSL)
  • 💜 Branded til TuxiNet med dark-mode/neon banner (banner.png)

Banner


📁 Struktur

Når du pakker dette ud i /srv/pterodactyl, vil du have:

/srv/pterodactyl/
├── README.md
├── docker-compose.yml
├── install.sh
├── cert-renewal.sh
├── banner.png
├── docker/
│   ├── mariadb/Dockerfile
│   ├── panel/Dockerfile
│   ├── redis/Dockerfile
│   ├── wings/Dockerfile
│   ├── nginx/Dockerfile
│   └── certbot/Dockerfile
├── panel/
├── wings/
├── servers/
├── mysql/
│   └── data/
└── nginx/
    ├── conf.d/
    └── certbot/
        ├── conf/
        └── www/

Mapperne panel/, wings/, servers/, mysql/data, nginx/... er med som tomme mapper, så alt er klar fra start.


🛠️ Trin 1: Klargøring

1.1 Flyt projektet til /srv/pterodactyl

sudo mkdir -p /srv/pterodactyl
sudo chown -R $(whoami):$(whoami) /srv/pterodactyl
# Kopiér/zippens indhold herind

1.2 Redigér install.sh

Øverst i install.sh:

DOMAIN="panel.ditdomæne.dk"   # ← SKAL OPDATERES

1.3 Kør installationsscriptet

cd /srv/pterodactyl
chmod +x install.sh
./install.sh

Dette opretter mappestruktur og en midlertidig Nginx-konfiguration + dummy certifikater.


⚙️ Trin 2: Tilpas docker-compose.yml

Vigtige felter:

  • MariaDB:

    • MYSQL_ROOT_PASSWORD
    • MYSQL_PASSWORD
  • Panel (Pterodactyl):

    • APP_URL=https://panel.ditdomæne.dk
    • Alle MAIL_* (SMTP-konfiguration)
  • Wings (game server ports):

    • Tilføj fx 25565:25565 for Minecraft, m.m.

Når alt er rettet, start stacken:

docker-compose up -d

🔐 Trin 3: Hent rigtige SSL-certifikater

Skift domæne og email i følgende kommando:

docker-compose run --rm certbot certonly \\
  --webroot -w /var/www/certbot \\
  -d panel.ditdomæne.dk \\
  --email din@email.dk \\
  --agree-tos \\
  --no-eff-email

Genstart Nginx:

docker-compose restart nginx

🧩 Trin 4: Pterodactyl Panel Setup

docker-compose exec panel php artisan migrate --force
docker-compose exec panel php artisan p:environment:setup
docker-compose exec panel php artisan p:user:make

Følg anvisningerne i terminalen for at oprette din admin-bruger.


🛰️ Trin 5: Wings konfiguration

  1. Log ind i Panelet i browseren.
  2. Opret en Location og derefter en Node.
  3. Kopiér tokenet fra Node-konfigurationen.
  4. Kør på hosten (indsæt dit token):
docker-compose exec wings /bin/bash -c "echo '{ \"token\": \"DIT_TOKEN_HER\" }' > /etc/pterodactyl/config.json"
docker-compose restart wings

🔄 Trin 6: Automatisk SSL-fornyelse

6.1 Gør scriptet eksekverbart

chmod +x /srv/pterodactyl/cert-renewal.sh

6.2 Cron-job

crontab -e

Tilføj:

# Certbot automatisk fornyelse (08:00 & 20:00)
0 8,20 * * * /srv/pterodactyl/cert-renewal.sh >> /var/log/cert-renewal.log 2>&1

🧡 Brand & Tilpasning (TuxiNet)

  • Banneret (banner.png) er lavet i dark-mode med neon/teal gaming-look.
  • Du kan frit udskifte det med et nyt TuxiNet-brandet banner (samme filnavn, så README stadig virker).
  • Dockerfiles har simple LABEL-felter, hvor du kan tilføje mere metadata, hvis du vil.

Har du brug for en version med flere noder, Traefik i stedet for Nginx, eller ekstra monitoring (Prometheus/Grafana), kan vi bygge næste lag ovenpå den her stack.

Description
No description provided
Readme 95 KiB
Languages
Shell 100%