Caddy
Instalacja
Założenia konfiguracyjne
- Aplikacja (Compose + konfiguracja) znajduje się w
/srv/docker/caddy. - Dane Caddy (certyfikaty, storage ACME) trzymamy w
/srv/docker/data/caddy. - Logi są domyślnie dostępne przez
docker logs.
Tworzenie katalogów
Tworzymy katalog aplikacji:
sudo mkdir -p /srv/docker/caddy
sudo chown -R "$USER:$USER" /srv/docker/caddy
Tworzymy katalog danych Caddy:
sudo mkdir -p /srv/docker/data/caddy/{data,config}
sudo chown -R "$USER:$USER" /srv/docker/data/caddy
Dostęp do sieci Docker
Wymagany dostęp do sieci proxy
Aby udostępnić aplikację publicznie, wymaga ona dostępu do zewnętrznej sieci Docker proxy.
Konfiguracja Docker Compose
Przechodzimy do katalogu aplikacji:
cd /srv/docker/caddy
Tworzymy plik compose.yaml:
sudo micro compose.yaml
W pliku umieszczamy:
compose.yaml
services:
caddy:
image: caddy:2.10
container_name: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- /srv/docker/data/caddy/data:/data
- /srv/docker/data/caddy/config:/config
networks:
- proxy
networks:
proxy:
external: true
Zapisujemy plik i wychodzimy z edytora.
Tworzenie pliku Caddyfile
Tworzymy plik Caddyfile:
sudo micro Caddyfile
Wklejamy przykładową zawartość:
Caddyfile
:80 {
respond "Caddy działa w Dockerze 🚀"
}
Konfiguracja logowania Basic Auth
Jeśli chcemy wymusić logowanie do panelu, możemy dodać autoryzację Basic Auth:
- Generujemy hash hasła:
docker exec -it caddy caddy hash-password --plaintext "haslo"
- Wstawiamy do
Caddyfile(przykład: loginuser):
Caddyfile
baserow.fulc.ro {
basicauth /login {
user $2a$14$WSTAW_TUTAJ_HASH
}
reverse_proxy baserow:80
}
Zapisujemy plik i wychodzimy z edytora.
Uruchomienie kontenera
Uruchamiamy Caddy:
docker compose up -d
Sprawdzamy, czy kontener działa:
docker ps | grep caddy
Test
Sprawdzamy działanie w przeglądarce:
http://138.199.151.222
Logi
Podgląd logów Caddy:
docker logs -f caddy