Basis: Certvia dev@a48c5fb als Fundament für Craftvia
Unveränderter Stand von certvia/dev (a48c5fb) plus Craftvia-Spezifikation und Brandbook unter docs/craftvia/. ISMS-Module werden im Folgecommit entfernt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# Referenz für die Coolify-Environment-Variablen (Testserver, intern).
|
||||
# ECHTE Secrets NUR in Coolify eintragen â diese Datei enthält nur Platzhalter.
|
||||
# In Coolify: Ressource -> Environment Variables (Bulk-Paste möglich).
|
||||
# Hostnamen sind die Compose-Service-Namen (postgres/redis/garage), NICHT localhost.
|
||||
|
||||
# --- Datenbank (Service "postgres") ---
|
||||
POSTGRES_USER=isms
|
||||
POSTGRES_PASSWORD=CHANGE_ME_db_password
|
||||
POSTGRES_DB=isms
|
||||
DATABASE_URL=postgresql://isms:CHANGE_ME_db_password@postgres:5432/isms?schema=public
|
||||
|
||||
# --- Redis (Service "redis") ---
|
||||
# F-18: Redis läuft mit requirepass. NUR REDIS_PASSWORD setzen — REDIS_URL wird in der
|
||||
# docker-compose.coolify.yml daraus abgeleitet (redis://:${REDIS_PASSWORD}@redis:6379)
|
||||
# und ist deshalb NICHT separat zu setzen (in Coolify sonst als „managed" gesperrt).
|
||||
REDIS_PASSWORD=CHANGE_ME_redis_password
|
||||
|
||||
# --- Objektspeicher (Service "garage", S3-kompatibel) ---
|
||||
# Garage ersetzt MinIO (Community EOL). Buckets/Keys legt NICHT die S3-API an, sondern
|
||||
# der Init-Job "garage-provision" (Admin-API). S3_ACCESS_KEY/S3_SECRET_KEY sind der
|
||||
# Garage-Key, den dieser Job importiert (App-Env == Garage). Garage erzwingt das Format:
|
||||
# S3_ACCESS_KEY = "GK" + 24 Hex -> echo "GK$(openssl rand -hex 12)"
|
||||
# S3_SECRET_KEY = 64 Hex -> openssl rand -hex 32
|
||||
S3_ENDPOINT=http://garage:3900
|
||||
S3_ACCESS_KEY=GK000000000000000000000000
|
||||
S3_SECRET_KEY=CHANGE_ME_openssl_rand_hex_32
|
||||
S3_BUCKET=isms-documents
|
||||
S3_REGION=us-east-1
|
||||
# Garage-Secrets: der Daemon liest sie aus der Env (NICHT in deploy/garage.toml).
|
||||
# In Coolify LITERAL setzen, NICHT via ${...} referenzieren (Interpolationsfalle).
|
||||
# GARAGE_RPC_SECRET: openssl rand -hex 32
|
||||
# GARAGE_ADMIN_TOKEN: openssl rand -hex 32
|
||||
GARAGE_RPC_SECRET=CHANGE_ME_openssl_rand_hex_32
|
||||
GARAGE_ADMIN_TOKEN=CHANGE_ME_openssl_rand_hex_32
|
||||
# Optional: Single-Node-Layout (nominal). Zone/Kapazität nur bei Bedarf überschreiben.
|
||||
# GARAGE_ZONE=dc1
|
||||
# GARAGE_CAPACITY_BYTES=100000000000
|
||||
|
||||
# --- Backup-Zielspeicher (optional) ---
|
||||
# Ziel der Backup-/DSGVO-Artefakte ist im Betreiber-Portal (/admin/backup) waehlbar
|
||||
# (Lokal/S3) und wird verschluesselt in der DB gehalten. Praezedenz: DB-Config →
|
||||
# Env (S3_*/BACKUP_LOCAL_DIR) → lokaler Default. Sobald im Portal gespeichert, hat die
|
||||
# DB-Config Vorrang. Fuer „Lokal" mountet die Compose-Datei das persistente Volume
|
||||
# `backups` auf /app/.backups (app + backup-worker) — Pfad hier NICHT aendern, ausser
|
||||
# der Mount wird angepasst.
|
||||
BACKUP_LOCAL_DIR=/app/.backups
|
||||
|
||||
# --- Auth (NextAuth) ---
|
||||
# AUTH_SECRET: openssl rand -base64 32
|
||||
# AUTH_URL: exakt die Coolify-Domain des app-Service (http:// für intern)
|
||||
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=http://REPLACE-WITH-COOLIFY-SSLIP-DOMAIN
|
||||
# Hinter Reverse-Proxy (Coolify/Traefik) für Auth.js v5 zwingend, sonst UntrustedHost:
|
||||
AUTH_TRUST_HOST=true
|
||||
|
||||
# --- Demo-Seed (NUR Testserver!) ---
|
||||
# true => migrate-Job legt nach der Migration den Demo-Mandanten + Nutzer an
|
||||
# (admin@demo.example / Demo1234!). In Produktion NICHT setzen / auf false lassen.
|
||||
RUN_DEMO_SEED=true
|
||||
|
||||
# --- KI-Provider (optional, aktuell ungenutzt) ---
|
||||
AI_PROVIDER=anthropic
|
||||
AI_API_KEY=
|
||||
|
||||
# --- E-Mail (optional, im Test ungenutzt) ---
|
||||
SMTP_HOST=
|
||||
SMTP_PORT=1025
|
||||
SMTP_USER=
|
||||
SMTP_PASSWORD=
|
||||
SMTP_FROM=isms@example.com
|
||||
Reference in New Issue
Block a user