Infra: Worker/Garage/Test-Runner
- docker-compose.yml: explizite Build-Targets (runner/migrate) — Ursache für "npx not found" bei garage-provision war das Default-Target (letzte Stage = Garage-Image ohne Node); worker startet npm run worker:mail; Defaults craftvia - Coolify-Compose: incident-inbound-worker und sync-policy-templates entfernt, Rollen-/Bucket-/Image-Namen auf craftvia - Dockerfile: seed/ und docs/wizard-uebergabe entfernt, messages/ im Runner - npm: Name craftvia, Scripts test (scripts/run-tests.ts) und gate, ISMS-Pakete entfernt (handlebars, marked, sanitize-html, @xyflow/react, @dagrejs/dagre, html-to-image, imapflow, mailparser, exceljs, @dnd-kit/core) - .env-Beispiele, launch.json (craftvia-dev), CI-Kommentare umbenannt Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+26
-26
@@ -1,37 +1,37 @@
|
||||
# Referenz für die PRODUKTIV-Env-Variablen (Contabo-VPS + Coolify).
|
||||
# ECHTE Secrets NUR in Coolify eintragen â diese Datei enthält nur Platzhalter.
|
||||
# Referenz für die PRODUKTIV-Env-Variablen (Contabo-VPS + Coolify).
|
||||
# ECHTE Secrets NUR in Coolify eintragen – diese Datei enthält nur Platzhalter.
|
||||
# Unterschiede zum Testserver: HTTPS-AUTH_URL, KEIN Demo-Seed, stattdessen Bootstrap-Admin.
|
||||
|
||||
# --- Datenbank (Service "postgres") ---
|
||||
POSTGRES_USER=isms
|
||||
POSTGRES_USER=craftvia
|
||||
POSTGRES_PASSWORD=CHANGE_ME_starkes_db_passwort
|
||||
POSTGRES_DB=isms
|
||||
DATABASE_URL=postgresql://isms:CHANGE_ME_starkes_db_passwort@postgres:5432/isms?schema=public
|
||||
POSTGRES_DB=craftvia
|
||||
DATABASE_URL=postgresql://craftvia:CHANGE_ME_starkes_db_passwort@postgres:5432/craftvia?schema=public
|
||||
|
||||
# --- Row Level Security scharfschalten (F-04) ---
|
||||
# RLS_ENFORCED=true â die App verbindet sich als eingeschränkte Rolle isms_app
|
||||
# RLS_ENFORCED=true – die App verbindet sich als eingeschränkte Rolle craftvia_app
|
||||
# (NOBYPASSRLS) und setzt app.tenant_id pro Transaktion; FORCE ROW LEVEL SECURITY
|
||||
# macht die Policies dann scharf. Ist der Kontext nicht gesetzt, sieht isms_app
|
||||
# NULL Zeilen â daher NUR mit korrekt gesetztem RLS_DATABASE_URL einschalten.
|
||||
# macht die Policies dann scharf. Ist der Kontext nicht gesetzt, sieht craftvia_app
|
||||
# NULL Zeilen – daher NUR mit korrekt gesetztem RLS_DATABASE_URL einschalten.
|
||||
# WICHTIG: Die Owner-/Migrate-Rolle in DATABASE_URL MUSS BYPASSRLS/Superuser sein
|
||||
# (Migrationen, Seed und der mandantenübergreifende Login-Lookup laufen darüber),
|
||||
# sonst sähe der Login keine Nutzer. isms_app in Prod EINMALIG mit LOGIN + starkem
|
||||
# Passwort versehen: ALTER ROLE isms_app WITH LOGIN PASSWORD '<stark>';
|
||||
# (Migrationen, Seed und der mandantenübergreifende Login-Lookup laufen darüber),
|
||||
# sonst sähe der Login keine Nutzer. craftvia_app in Prod EINMALIG mit LOGIN + starkem
|
||||
# Passwort versehen: ALTER ROLE craftvia_app WITH LOGIN PASSWORD '<stark>';
|
||||
RLS_ENFORCED=true
|
||||
RLS_DATABASE_URL=postgresql://isms_app:CHANGE_ME_starkes_isms_app_passwort@postgres:5432/isms?schema=public
|
||||
RLS_DATABASE_URL=postgresql://craftvia_app:CHANGE_ME_starkes_craftvia_app_passwort@postgres:5432/craftvia?schema=public
|
||||
|
||||
# --- Redis ---
|
||||
# F-18: Redis läuft mit requirepass. REDIS_PASSWORD setzen (stark!) und identisch
|
||||
# F-18: Redis läuft mit requirepass. REDIS_PASSWORD setzen (stark!) und identisch
|
||||
# in die REDIS_URL einsetzen (redis://:<pw>@redis:6379).
|
||||
REDIS_PASSWORD=CHANGE_ME_starkes_redis_passwort
|
||||
REDIS_URL=redis://:CHANGE_ME_starkes_redis_passwort@redis:6379
|
||||
|
||||
# --- Objektspeicher (MinIO) â S3_* muss zu MINIO_ROOT_* passen ---
|
||||
# --- Objektspeicher (MinIO) – S3_* muss zu MINIO_ROOT_* passen ---
|
||||
S3_ENDPOINT=http://minio:9000
|
||||
S3_ACCESS_KEY=isms
|
||||
S3_ACCESS_KEY=CHANGE_ME_GK_plus_24_hex
|
||||
S3_SECRET_KEY=CHANGE_ME_starkes_minio_passwort
|
||||
S3_BUCKET=isms-documents
|
||||
MINIO_ROOT_USER=isms
|
||||
S3_BUCKET=craftvia-documents
|
||||
MINIO_ROOT_USER=craftvia
|
||||
MINIO_ROOT_PASSWORD=CHANGE_ME_starkes_minio_passwort
|
||||
|
||||
# --- Backup-Zielspeicher (optional) ---
|
||||
@@ -41,13 +41,13 @@ MINIO_ROOT_PASSWORD=CHANGE_ME_starkes_minio_passwort
|
||||
# die DB-Config Vorrang. Fuer „Lokal" auf ein gemountetes, persistentes Volume zeigen.
|
||||
BACKUP_LOCAL_DIR=/app/.backups
|
||||
|
||||
# --- Auth (NextAuth) â Produktiv über HTTPS ---
|
||||
# --- Auth (NextAuth) – Produktiv über HTTPS ---
|
||||
# AUTH_SECRET: openssl rand -base64 32 (frisch, NICHT der Testwert)
|
||||
AUTH_SECRET=CHANGE_ME_openssl_rand_base64_32
|
||||
# PASSWORD_PEPPER (Härtung §1): openssl rand -hex 32 — frisch je Umgebung, NICHT rotierbar, nie ins Artefakt.
|
||||
PASSWORD_PEPPER=CHANGE_ME_openssl_rand_hex_32
|
||||
AUTH_URL=https://app.certvia.de
|
||||
# AUTH_TRUST_HOST ist im Compose fest auf true (hinter dem Coolify-Proxy) â nicht nötig.
|
||||
AUTH_URL=https://app.craftvia.de
|
||||
# AUTH_TRUST_HOST ist im Compose fest auf true (hinter dem Coolify-Proxy) – nicht nötig.
|
||||
|
||||
# --- KI-Provider (optional) ---
|
||||
AI_PROVIDER=anthropic
|
||||
@@ -58,7 +58,7 @@ SMTP_HOST=
|
||||
SMTP_PORT=587
|
||||
SMTP_USER=
|
||||
SMTP_PASSWORD=
|
||||
SMTP_FROM=noreply@certvia.de
|
||||
SMTP_FROM=noreply@craftvia.de
|
||||
|
||||
# --- Demo-Seed: in PROD AUS lassen! ---
|
||||
RUN_DEMO_SEED=false
|
||||
@@ -67,10 +67,10 @@ RUN_DEMO_SEED=false
|
||||
# Beim ersten Deploy true setzen -> migrate-Job legt Admin + Mandant an (idempotent).
|
||||
# Danach kann true bleiben (tut nichts, wenn der Admin existiert) oder auf false.
|
||||
BOOTSTRAP_ADMIN=true
|
||||
BOOTSTRAP_ADMIN_EMAIL=admin@certvia.de
|
||||
BOOTSTRAP_ADMIN_EMAIL=admin@craftvia.de
|
||||
BOOTSTRAP_ADMIN_PASSWORD=CHANGE_ME_initiales_admin_passwort
|
||||
BOOTSTRAP_ADMIN_NAME=Certvia Admin
|
||||
BOOTSTRAP_TENANT_NAME=Certvia
|
||||
BOOTSTRAP_TENANT_SLUG=certvia
|
||||
BOOTSTRAP_TENANT_SHORT=Certvia
|
||||
BOOTSTRAP_ADMIN_NAME=Craftvia Admin
|
||||
BOOTSTRAP_TENANT_NAME=Craftvia
|
||||
BOOTSTRAP_TENANT_SLUG=craftvia
|
||||
BOOTSTRAP_TENANT_SHORT=Craftvia
|
||||
BOOTSTRAP_TENANT_SECTOR=
|
||||
|
||||
Reference in New Issue
Block a user