diff --git a/README.md b/README.md index a448b96..8560af5 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,93 @@ -# wings +# 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!