94 lines
1.9 KiB
Markdown
94 lines
1.9 KiB
Markdown
# Pterodactyl Wings + Caddy (SSL z Let's Encrypt)
|
|
|
|
Ten projekt uruchamia Pterodactyl Wings za reverse proxy Caddy, który
|
|
automatycznie generuje i odnawia certyfikaty SSL z Let's Encrypt.
|
|
Konfiguracja jest oparta na `docker-compose` i nie wymaga ręcznej
|
|
obsługi certyfikatów.
|
|
|
|
## 📁 Struktura katalogów
|
|
|
|
Przykładowy układ plików:
|
|
|
|
/srv/wing/
|
|
├─ wing/
|
|
│ ├─ tmp/
|
|
│ ├─ data/
|
|
│ └─ volumes/
|
|
└─ caddy/
|
|
├─ data/
|
|
└─ config/
|
|
|
|
## 🔧 Zmienne środowiskowe (`.env`)
|
|
|
|
W pliku `.env` należy ustawić:
|
|
|
|
DOMAIN=wing-02.prod.kzbikowski.pl
|
|
TMP_DIR=/srv/wing/wing/tmp
|
|
DATA_DIR=/srv/wing/wing/data
|
|
VOLUMES_DIR=/srv/wing/wing/volumes
|
|
CADDY_DIR=/srv/wing/caddy
|
|
MAIL=mail@kzbikowski.pl
|
|
|
|
## 🚀 Uruchamianie
|
|
|
|
1. Utwórz katalogi zgodnie ze strukturą powyżej.
|
|
2. Upewnij się, że domena wskazuje na IP serwera.
|
|
3. Uruchom:
|
|
|
|
|
|
```
|
|
docker compose up -d
|
|
```
|
|
|
|
Caddy automatycznie: - wykryje usługę Wings, - wygeneruje certyfikat
|
|
Let's Encrypt, - wystawi HTTPS.
|
|
|
|
## 🧩 Jak to działa?
|
|
|
|
### Caddy
|
|
|
|
- nasłuchuje na portach 80 i 443,
|
|
- automatycznie zarządza certyfikatami,
|
|
- kieruje ruch HTTPS do Wings.
|
|
|
|
### Wings
|
|
|
|
Kontener Wings działa na porcie 443 wewnątrz sieci Docker.\
|
|
Caddy przekazuje do niego ruch za pomocą etykiet.
|
|
|
|
## 🔒 Certyfikaty Let's Encrypt
|
|
|
|
Certyfikaty są zapisywane w:
|
|
|
|
${CADDY_DIR}/data
|
|
|
|
## 🔍 Sprawdzenie działania
|
|
|
|
### Logi Caddy:
|
|
|
|
docker compose logs -f caddy
|
|
|
|
### Logi Wings:
|
|
|
|
docker compose logs -f wings
|
|
|
|
### Sprawdzenie certyfikatu:
|
|
|
|
curl -I https://wing-02.prod.kzbikowski.pl
|
|
|
|
## 🛑 Zatrzymywanie
|
|
|
|
docker compose down
|
|
|
|
## 🧹 Czyszczenie certyfikatów (opcjonalnie)
|
|
|
|
sudo rm -rf /srv/wing/caddy/data/*
|
|
|
|
## 📌 Notatki
|
|
|
|
- Porty 80 i 443 muszą być wolne.
|
|
- Domena musi wskazywać na IP serwera.
|
|
- Nie trzeba tworzyć konfiguracji Caddy.
|
|
|
|
## ✔️ Gotowe!
|