Ein Laufzeit-Paket (scripts/paket-bauen.sh) für beide Wege: Next standalone, worker als Bundle mit nur den nötigen Paketen, Migrationen ohne Prisma-CLI. Compose lokal komplett hochgefahren; der Installer auf pve-demo in einem echten Debian-13-LXC durchgelaufen. Closes #019 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
49 lines
3.1 KiB
Bash
49 lines
3.1 KiB
Bash
# ── Datenbank ────────────────────────────────────────────────────────────────
|
||
DATABASE_URL=postgresql://proxdeploy:proxdeploy@localhost:5437/proxdeploy
|
||
# Nur Docker Compose: Passwort der mitgelieferten PostgreSQL (DATABASE_URL setzt Compose selbst).
|
||
POSTGRES_PASSWORT=
|
||
# Nur für Tests; wird vor jedem Test geleert.
|
||
TEST_DATABASE_URL=postgresql://proxdeploy:proxdeploy@localhost:5437/proxdeploy
|
||
# Nur Docker Compose: Passwort der mitgelieferten PostgreSQL (DATABASE_URL setzt Compose selbst).
|
||
POSTGRES_PASSWORT=_test
|
||
|
||
# ── Geheimnisse ──────────────────────────────────────────────────────────────
|
||
# Schlüssel für AES-256-GCM (Proxmox-Token, SSH-Schlüssel, OIDC-Secret): genau 32 Byte, base64.
|
||
# Erzeugen: openssl rand -base64 32 – NIE ändern, sonst sind gespeicherte Geheimnisse unlesbar.
|
||
PROXDEPLOY_SCHLUESSEL=
|
||
# Signiert die Sitzungscookies. Erzeugen: openssl rand -base64 48
|
||
SITZUNG_GEHEIMNIS=
|
||
|
||
# ── Adresse und Reverse-Proxy ────────────────────────────────────────────────
|
||
# Öffentliche Adresse, wie Browser und CLI sie sehen (ohne Schrägstrich am Ende).
|
||
APP_URL=http://localhost:3000
|
||
# true hinter einem Reverse-Proxy: X-Forwarded-For/-Proto werden ausgewertet.
|
||
TRUST_PROXY=false
|
||
|
||
# ── Erster Administrator ─────────────────────────────────────────────────────
|
||
# Wird nur angelegt, solange es noch keinen Benutzer gibt. Danach wirkungslos.
|
||
ADMIN_BENUTZER=admin
|
||
ADMIN_PASSWORT=
|
||
|
||
# ── OIDC (optional, z. B. authentik) ─────────────────────────────────────────
|
||
# Beim IdP als Redirect-URI eintragen: <APP_URL>/api/v1/auth/oidc/rueckruf
|
||
# Client-Typ „confidential“, Scopes openid profile email; der Gruppen-Claim muss im ID-Token stehen.
|
||
OIDC_AKTIV=false
|
||
OIDC_ISSUER=
|
||
OIDC_CLIENT_ID=
|
||
OIDC_CLIENT_SECRET=
|
||
OIDC_ANZEIGENAME=SSO
|
||
# Gruppen-Claim und Gruppennamen für die Rollen. Wer in keiner der beiden Gruppen ist, kommt nicht
|
||
# hinein. Beide leer = jeder beim IdP angemeldete Benutzer wird Operator.
|
||
OIDC_GRUPPEN_CLAIM=groups
|
||
OIDC_GRUPPE_ADMIN=proxdeploy-admins
|
||
OIDC_GRUPPE_OPERATOR=proxdeploy-operators
|
||
|
||
# ── Worker ───────────────────────────────────────────────────────────────────
|
||
# Wie viele Aufträge gleichzeitig laufen dürfen.
|
||
WORKER_PARALLEL=4
|
||
|
||
# ── Logs ─────────────────────────────────────────────────────────────────────
|
||
# trace | debug | info | warn | error
|
||
LOG_LEVEL=info
|