From 4f0f7e62f18c0d60b8cfff1813db99ac7ada658e Mon Sep 17 00:00:00 2001 From: Karim Gabriele Varano Date: Tue, 2 Jun 2026 02:34:46 +0200 Subject: [PATCH] Doku: Supabase-Admin-Setup klarer (Dialog-Output + README Abschnitt 5) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Tool legt Admin-User nicht an -> Schritt-für-Schritt: User in Supabase (Auth → Users → Add user, Auto Confirm) + E-Mail in ADMIN_ALLOWED_EMAILS - Deploy-Output zeigt Login-Vorbedingungen - Hinweis auf optionalen Self-Service-Signup Co-Authored-By: Claude Opus 4.8 --- README.md | 31 ++++++++++++++++++------------- dms-lxc.sh | 8 ++++++++ 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index b763592..18fd105 100644 --- a/README.md +++ b/README.md @@ -142,22 +142,27 @@ Die Web-Ports **80/443** gehen an den **Nginx Proxy Manager**, nicht direkt an d --- -## 5. Supabase-Login einrichten (Admin-UI) +## 5. Supabase-Login einrichten (Admin-UI) ← WICHTIG vor dem ersten Login -Die Admin-UI nutzt Supabase-Auth (wie OPENBUREAU): +Die Admin-UI nutzt **Supabase-Auth** (wie OPENBUREAU). **Das Tool legt den Admin-User NICHT +selbst an** — du erstellst ihn einmalig im Supabase-Dashboard. Schritt für Schritt: -1. In deinem Supabase-Projekt unter **Authentication → Users** einen Benutzer mit deiner E-Mail anlegen (oder Einladung). -2. Diese E-Mail muss in `ADMIN_ALLOWED_EMAILS` stehen (in `/opt/dms-stack/.env`). -3. `SUPABASE_URL` und `SUPABASE_ANON_KEY` in `.env` müssen gesetzt sein. +1. **Supabase-Projekt** (falls noch keins): [supabase.com](https://supabase.com) → New Project (Free-Tier reicht). +2. **Keys holen**: Project Settings → **API** → + - `Project URL` → das ist `SUPABASE_URL` + - `anon` `public` Key → das ist `SUPABASE_ANON_KEY` +3. **Admin-User anlegen**: Authentication → **Users** → **Add user** → + - E-Mail + Passwort eintragen, **„Auto Confirm User"** aktivieren (sonst braucht's eine Bestätigungsmail). +4. **Diese E-Mail** muss in `ADMIN_ALLOWED_EMAILS` stehen (Deploy-Dialog bzw. `/opt/dms-stack/.env`). +5. Werte gesetzt? `cd /opt/dms-stack && docker compose up -d && docker compose restart admin-ui admin-api`. +6. **Login**: `https://admin.` → mit dieser E-Mail + Passwort einloggen. -Änderungen an der `.env` aktiv machen: -```bash -cd /opt/dms-stack -docker compose up -d # liest .env neu (UI/-API neu starten) -docker compose restart admin-ui admin-api -``` - -> Nur E-Mails aus `ADMIN_ALLOWED_EMAILS` erhalten Zugriff — alle anderen Supabase-User werden von der API mit 403 abgewiesen. +> Nur E-Mails aus `ADMIN_ALLOWED_EMAILS` erhalten Zugriff — alle anderen Supabase-User werden mit 403 abgewiesen. +> +> **Alternative (Self-Service):** In Supabase unter Authentication → Providers → Email **„Enable Signup"** +> aktivieren; dann kann sich die erlaubte E-Mail über die Login-Seite selbst registrieren. (Standard: aus.) +> +> Weitere Admins später: einfach in Supabase als User anlegen **und** die E-Mail in `ADMIN_ALLOWED_EMAILS` ergänzen. --- diff --git a/dms-lxc.sh b/dms-lxc.sh index c91741b..2c945eb 100644 --- a/dms-lxc.sh +++ b/dms-lxc.sh @@ -418,6 +418,14 @@ ${GN}╔════════════════════════ ${RD}Rspamd-Web-UI-Passwort:${CL} ${RSPAMD_PASSWORD} (steht auch in ${DEPLOY_DIR}/docker-data/dms/config/rspamd/override.d/worker-controller.inc) + ${YW}── Admin-Login (Supabase) — VOR dem ersten Login nötig ──${CL} + Das Tool legt den Admin-User NICHT an. Einmalig im Supabase-Dashboard: + 1) Authentication → Users → Add user: eine deiner Admin-E-Mails + Passwort, „Auto Confirm" an + (aktuell erlaubt: ${ADMIN_ALLOWED_EMAILS:-}) + 2) SUPABASE_URL/ANON_KEY müssen in ${DEPLOY_DIR}/.env stehen${SUPABASE_URL:+ ✔} + 3) dann: cd ${DEPLOY_DIR} && docker compose up -d && docker compose restart admin-ui admin-api + Details: README, Abschnitt 5. + ${YW}── DNS: einmal für den Mailhost ──${CL} A-Record: ${MAIL_FQDN}. IN A <öffentliche IP>