Poglavlje 6 · 6.2
Vaša radna mapa s compose.yaml, .env i Caddyjem
Pomoću docker compose sve svoje kontejnere opisujete u jednoj datoteci. U ovom se priručniku sve aplikacije nalaze u mapi /srv/diensten, a Caddy služi kao ulazna vrata koja za svaku aplikaciju brinu o https-u. Recepti u 7. poglavlju ovdje svaki put dodaju po jedan dio. Kako compose i vatrozid surađuju, pročitajte u članku Docker compose i vatrozid iz tečaja VPS i upravljanje Linux poslužiteljem.
Mapa i datoteke
anna@web1:~$ sudo mkdir -p /srv/diensten
anna@web1:~$ cd /srv/diensten
anna@web1:/srv/diensten$ sudo nano compose.yaml
Počnite samo s Caddyjem:
services:
caddy:
image: caddy:2
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy-data:/data
- caddy-config:/config
volumes:
caddy-data:
caddy-config:
A Caddyfile u istoj mapi:
{
email beheer@example.com
}
Redak version: na vrhu više nije potreban. Još ga možete vidjeti u starijim primjerima.
Pokretanje i pregled
anna@web1:/srv/diensten$ sudo docker compose up -d
anna@web1:/srv/diensten$ sudo docker compose ps
anna@web1:/srv/diensten$ sudo docker compose logs -f caddy
up -d pokreće sve u pozadini. Tipkama Ctrl+C prestajete pratiti zapise, a kontejneri nastavljaju raditi. Ako promijenite Caddyfile, ponovno ga učitajte naredbom:
anna@web1:/srv/diensten$ sudo docker compose exec -w /etc/caddy caddy caddy reload
Tajne u .env
Lozinke i tokene ne upisujte u compose.yaml, nego u datoteku .env u istoj mapi. U compose.yaml na njih upućujete pomoću ${NAAM}.
anna@web1:/srv/diensten$ sudo nano .env
anna@web1:/srv/diensten$ sudo chmod 600 .env
Datoteku .env nikada ne stavljajte u Git i ne dijelite je.
Caddy već radi kao usluga na Vašem poslužitelju?
Ako ste Caddy ili nginx instalirali kao u 5. poglavlju, priključci 80 i 443 već su zauzeti. Odaberite jednu od dvije mogućnosti:
- Isključite uslugu na poslužitelju (
sudo systemctl disable --now caddyilinginx) i premjestite svoje web-stranice u Caddyfile u/srv/diensten. To je ono što recepti pretpostavljaju. - Ili ostavite uslugu na poslužitelju, izostavite Caddy iz composea i svaku aplikaciju objavite samo na
127.0.0.1(pogledajte Docker i vatrozid: sigurno objavljivanje portova). Tada za svaku aplikaciju izradite reverse proxy kao u Aplikacija iza obrnutog proxyja.
