Files
Pterodactyl/readme.md
2025-11-21 19:20:00 +00:00

185 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🚀 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.