Files
aza/AzA march 2026/intern_portal/README_DEPLOY.txt

64 lines
1.9 KiB
Plaintext
Raw Normal View History

2026-05-23 21:31:34 +02:00
AzA Intern Portal Deployment auf Hetzner
==========================================
Ziel-URL: https://intern.aza-medwork.ch
Server-Pfad: /root/aza-intern-portal
Voraussetzungen
---------------
- Docker und docker-compose auf dem Server
- Caddy als Reverse-Proxy (bestehend)
- DNS A-Record: intern.aza-medwork.ch -> Server-IP (178.104.51.177)
Schritte
--------
1. Backup erstellen (vor Deploy):
mkdir -p /root/backups/aza_intern_portal_predeploy_YYYYMMDD_HHMMSS
cp -a /root/aza-intern-portal /root/backups/.../ (falls vorhanden)
2. Verzeichnis anlegen und Dateien hochladen:
mkdir -p /root/aza-intern-portal
(rsync/scp des intern_portal-Inhalts)
3. .env anlegen (Werte NICHT ins Repo committen):
cp .env.example .env
AZA_INTERN_SESSION_SECRET=<zufälliger 64-Zeichen-Hex-String>
AZA_INTERN_ADMIN_USER=<admin-benutzername>
AZA_INTERN_ADMIN_PASSWORD=<sicheres-passwort>
4. Docker starten:
cd /root/aza-intern-portal
docker compose build
docker compose up -d
5. Healthcheck:
curl -s http://127.0.0.1:8088/health
6. Caddy (nur wenn DNS bereit):
- Caddyfile sichern: cp /etc/caddy/Caddyfile /root/backups/.../Caddyfile.bak
- Snippet aus Caddyfile.snippet ergänzen
- caddy validate --config /etc/caddy/Caddyfile
- systemctl reload caddy
7. Im Browser testen: https://intern.aza-medwork.ch
Wichtig
-------
- /root/aza-app (produktive AzA-App) NICHT verändern
- Portal läuft nur auf 127.0.0.1:8088, extern nur via Caddy
- Keine Patientendaten, API-Keys oder Passwörter hochladen
Backup (manuell)
----------------
Regelmässig sichern:
/data/intern.db (Docker-Volume aza_intern_data)
/data/uploads/
Beispiel:
docker compose exec aza-intern ls /data
docker cp aza-intern-portal:/data/intern.db ./backups/intern_YYYYMMDD.db
2FA
---
Für eine spätere Version vorgesehen. Session-Cookies sind httpOnly (Starlette SessionMiddleware).