opencrm/backend
duffyduck e145edaa90 docker: zentrale .env + Compose mit MariaDB+OpenCRM+Adminer + Bind-Mounts
Big Move: vom backend-only-Setup zum vollständigen Container-Stack.

📁 Neue Struktur
- /.env (lokal, nicht getrackt) – zentrale Konfiguration für Dev + Docker
- /.env.example – Template mit allen Variablen
- /data/{db,uploads,factory-defaults,backups}/ – Bind-Mounts statt Volumes
  (auf Wunsch: Daten bleiben im Projektverzeichnis)
- /backend/Dockerfile – Multi-Stage Build (Frontend + Backend)
- /backend/docker-entrypoint.sh – wartet auf DB, prisma db push, optional seed

🐳 docker-compose.yml (neu konsolidiert)
- mariadb 10.11 mit Bind-Mount ./data/db
- opencrm-app (Backend serviert Frontend statisch in production)
- adminer mit Theme pepa-linha-dark als DB-UI
- Ports + Pfade + Secrets alle aus .env

🔧 Backend
- index.ts dotenv-Loader: lädt zuerst Root /.env, dann backend/.env als
  Fallback. Funktioniert nahtlos für npm run dev und für Container.
- backend/.env.example als Legacy-Fallback dokumentiert

📝 README
- Quick-Start mit Docker als empfohlener Default (3 Befehle)
- Tabelle der Daten-Verzeichnisse
- Hinweis auf RUN_SEED=true beim ersten Start

⚙ Konfigurierbar via .env
- OPENCRM_PORT (Backend extern), ADMINER_PORT (DB-UI), DB_PORT
- Daten-Pfade (DATA_DIR, DB_DATA_DIR, UPLOADS_DIR etc.)
- DB_NAME/USER/PASSWORD, JWT_SECRET, ENCRYPTION_KEY
- ADMINER_DESIGN (Theme-Auswahl)

Hinweis: Vor dem ersten `docker compose up -d` muss das laufende
`npm run dev`-Backend gestoppt werden (Port + DB-Conflict). Das alte
Volume `opencrm_mariadb_data` bleibt unangetastet als Notfall-Backup.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 18:53:19 +02:00
..
factory-defaults docs: Factory-Defaults Import/Export-Anleitung in READMEs 2026-04-23 14:19:02 +02:00
prisma Security-Hardening Runde 10: Security-Monitoring + Alerting 2026-05-01 09:25:47 +02:00
scripts Factory-Defaults: Export + Import von Stammdaten-Katalogen 2026-04-23 14:10:12 +02:00
src docker: zentrale .env + Compose mit MariaDB+OpenCRM+Adminer + Bind-Mounts 2026-05-01 18:53:19 +02:00
uploads save email as pdf like an attachment 2026-02-04 19:18:32 +01:00
.env.example docker: zentrale .env + Compose mit MariaDB+OpenCRM+Adminer + Bind-Mounts 2026-05-01 18:53:19 +02:00
.gitignore chore: backend/.env aus Git entfernt + .gitignore klargestellt 2026-05-01 18:35:00 +02:00
Dockerfile docker: zentrale .env + Compose mit MariaDB+OpenCRM+Adminer + Bind-Mounts 2026-05-01 18:53:19 +02:00
docker-entrypoint.sh docker: zentrale .env + Compose mit MariaDB+OpenCRM+Adminer + Bind-Mounts 2026-05-01 18:53:19 +02:00
package-lock.json Security-Hardening Runde 9: Diminishing returns 2026-05-01 08:47:20 +02:00
package.json v1.1.0: Production-readiness Release 2026-05-01 09:42:56 +02:00
tsconfig.json first commit 2026-01-29 01:16:54 +01:00