# 🚀 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](banner.png) --- ## 📁 Struktur Når du pakker dette ud i `/srv/pterodactyl`, vil du have: ```text /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` ```bash 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`: ```bash DOMAIN="panel.ditdomæne.dk" # ← SKAL OPDATERES ``` --- ### 1.3 Kør installationsscriptet ```bash 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: ```bash docker-compose up -d ``` --- ## 🔐 Trin 3: Hent rigtige SSL-certifikater Skift domæne og email i følgende kommando: ```bash 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: ```bash docker-compose restart nginx ``` --- ## 🧩 Trin 4: Pterodactyl Panel Setup ```bash 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): ```bash 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 ```bash chmod +x /srv/pterodactyl/cert-renewal.sh ``` ### 6.2 Cron-job ```bash crontab -e ``` Tilføj: ```cron # 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.