Peatükk 6 · 6.2
Sinu töökaust failidega compose.yaml, .env ja Caddy
Failiga docker compose kirjeldad kõiki oma konteinereid ühes failis. Selles juhendis on kõik rakendused kaustas /srv/diensten ja Caddy on esiuks, mis korraldab iga rakenduse jaoks https-i. Peatüki 7 retseptid lisavad siia iga kord väikese tüki juurde. Kuidas compose ja tulemüür koos töötavad, loe kursuse VPS ja Linuxi serveri haldus artiklist Docker compose ja tulemüür.
Kaust ja failid
anna@web1:~$ sudo mkdir -p /srv/diensten
anna@web1:~$ cd /srv/diensten
anna@web1:/srv/diensten$ sudo nano compose.yaml
Alusta ainult Caddyga:
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:
Ja samas kaustas olev Caddyfile:
{
email beheer@example.com
}
Rida version: faili alguses pole enam vaja. Seda näed veel vanades näidetes.
Käivitamine ja vaatamine
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 käivitab kõik taustal. Klahvidega Ctrl+C lõpetad logide jälgimise, konteinerid jäävad tööle. Kui muudad Caddyfile'i, laadi see uuesti käsuga:
anna@web1:/srv/diensten$ sudo docker compose exec -w /etc/caddy caddy caddy reload
Saladused failis .env
Paroole ja tokeneid ei pane sa faili compose.yaml, vaid samas kaustas olevasse faili .env. Failis compose.yaml viitad neile kujul ${NAAM}.
anna@web1:/srv/diensten$ sudo nano .env
anna@web1:/srv/diensten$ sudo chmod 600 .env
Ära pane faili .env kunagi Giti ega jaga seda.
Caddy töötab sinu serveris juba teenusena?
Kui paigaldasid Caddy või nginxi nagu peatükis 5, on pordid 80 ja 443 juba hõivatud. Vali üks kahest:
- Lülita serveris olev teenus välja (
sudo systemctl disable --now caddyvõinginx) ja koli oma saidid kaustas/srv/dienstenolevasse Caddyfile'i. Just seda retseptid eeldavad. - Või jäta serveris olev teenus alles, jäta Caddy compose'ist välja ja avalda iga rakendus ainult aadressil
127.0.0.1(vaata Docker ja tulemüür: pordid turvaliselt avalikuks). Siis teed iga rakenduse jaoks pöördpuhverserveri nagu artiklis Rakendus pöördpuhverserveri taga.
