docs: Domain-/Reverse-Proxy-Deploy dokumentieren (SITE_DOMAIN + Caddy)
Hält den dev.openbureau.ch-Deploy reproduzierbar fest: SITE_DOMAIN-Env, Env-Overrides (local-zfs, statische IP, CTID …) und der Caddy-Block mit Pfad-Routing (/auth/* + /rest/* -> :8000, Rest -> :8080) samt Login-User-Anlage. Der reale Caddyfile liegt im separaten dms-stack (VPS). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -47,6 +47,46 @@ und SSH-Key lassen sich per Umgebungsvariable überschreiben:
|
||||
| `BRIDGE` | `vmbr0` |
|
||||
| `SSH_PUBKEY_FILE` | `~/.ssh/id_ed25519.pub` |
|
||||
|
||||
## Domain & HTTPS hinter einem Reverse-Proxy
|
||||
|
||||
Für eine öffentliche Adresse (statt LAN-IP:Port) kennt
|
||||
`cms/proxmox/create-openbureau-lxc.sh` die Variable **`SITE_DOMAIN`**. Ist sie
|
||||
gesetzt, werden `SITE_URL` und `API_EXTERNAL_URL` auf `https://<domain>` gelegt
|
||||
(Same-Origin) — der Browser ruft `/auth/*` + `/rest/*` auf derselben Domain auf,
|
||||
der Reverse-Proxy routet sie ans Supabase-Gateway (`:8000`), alles andere an die
|
||||
Site (`:8080`). `BIND_ADDR` bleibt `0.0.0.0`, damit der Proxy drankommt.
|
||||
|
||||
So wurde **dev.openbureau.ch** aufgesetzt (LXC auf einem ZFS-Host, statische IP):
|
||||
|
||||
```bash
|
||||
ROOTFS_STORAGE=local-zfs HOSTNAME=openbureau-dev CTID=134 \
|
||||
IP=192.168.1.134/24 GATEWAY=192.168.1.1 SITE_DOMAIN=dev.openbureau.ch \
|
||||
bash <(curl -fsSL https://git.kgva.ch/karim/OPENBUREAU/raw/branch/main/cms/proxmox/create-openbureau-lxc.sh)
|
||||
```
|
||||
|
||||
Den passenden Reverse-Proxy-Eintrag gibt das Skript am Ende selbst aus. Für
|
||||
**Caddy** (Pfad-Routing, ein Zertifikat):
|
||||
|
||||
```caddy
|
||||
dev.openbureau.ch {
|
||||
@sb path /auth/* /rest/* /storage/* /realtime/*
|
||||
reverse_proxy @sb 192.168.1.134:8000
|
||||
reverse_proxy 192.168.1.134:8080
|
||||
}
|
||||
```
|
||||
|
||||
Den Caddy-Block in die jeweilige Proxy-Config eintragen, validieren und neu laden
|
||||
(`caddy reload`). Caddy holt das Let's-Encrypt-Zertifikat beim ersten Aufruf
|
||||
selbst. Login-User danach über die Admin-API anlegen (Self-Signup ist aus):
|
||||
|
||||
```bash
|
||||
pct enter <CTID>; cd /opt/openbureau/cms; source .env
|
||||
curl -s -X POST "http://localhost:8000/auth/v1/admin/users" \
|
||||
-H "apikey: $SERVICE_ROLE_KEY" -H "Authorization: Bearer $SERVICE_ROLE_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"email":"du@example.ch","password":"…","email_confirm":true}'
|
||||
```
|
||||
|
||||
## Hintergrund
|
||||
|
||||
Warum und wie — die zwei Artikel in der Bibliothek:
|
||||
|
||||
Reference in New Issue
Block a user