Files
aza/AzA march 2026/intern_portal/README_DEPLOY.txt
2026-05-23 21:31:34 +02:00

64 lines
1.9 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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).