Deploy
Schritt-für-Schritt: Web-Deploy, Schema-Migration, Infra-Änderungen, Docs — welches just-Recipe wann.
Dokumentation deployen
Abschnitt betitelt „Dokumentation deployen“Die Astro-Starlight-Dokumentation läuft in Produktion als eigener
Docker-Compose-Service docs. Das Multi-Stage-Image baut die statischen Seiten
mit Node 24 und liefert sie anschließend über nginx im Container aus.
docs.md-vernetzt.de → Host-nginx (TLS) → 127.0.0.1:3001 → mdv-docs:80Der Host benötigt dafür weder Node/npm noch ein synchronisiertes
/var/www-Verzeichnis.
Einmaliger nginx-vHost
Abschnitt betitelt „Einmaliger nginx-vHost“server { listen 443 ssl; listen [::]:443 ssl; server_name docs.md-vernetzt.de;
location / { proxy_pass http://127.0.0.1:3001; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
ssl_certificate /etc/letsencrypt/live/md-vernetzt.de/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/md-vernetzt.de/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;}
server { listen 80; listen [::]:80; server_name docs.md-vernetzt.de; return 301 https://$host$request_uri;}Nach einer einmaligen Prüfung mit nginx -t und einem nginx-Reload genügt für
alle weiteren Doku-Aktualisierungen:
just deploy-docsDas Recipe zieht main, baut mdv-docs:latest, ersetzt ausschließlich den
Docs-Container und zeigt anschließend dessen Status und Start-Logs.
Prüfung
Abschnitt betitelt „Prüfung“just pscurl -fsS http://127.0.0.1:3001/ >/dev/nullcurl -fsS https://docs.md-vernetzt.de/ >/dev/nullmdv-docs muss als healthy erscheinen; beide HTTP-Prüfungen müssen mit
Exit-Code 0 enden.