diff --git a/.env.example b/.env.example index c9d83d97..d51617f7 100644 --- a/.env.example +++ b/.env.example @@ -18,6 +18,10 @@ FACTORY_DEFAULTS_DIR=./data/factory-defaults BACKUPS_DIR=./data/backups # ============== DATENBANK ============== +# Der App-User (DB_USER) wird beim ersten Start automatisch von MariaDB +# angelegt (über MARIADB_USER/MARIADB_PASSWORD im docker-compose) – mit +# GRANT ALL PRIVILEGES auf ${DB_NAME}.*. Damit nutzt das Backend NICHT root. +# DB_ROOT_PASSWORD ist nur für Adminer / Notfall-Wartung. DB_HOST=localhost # Im Container überschreibt docker-compose das auf "db" DB_NAME=opencrm DB_USER=opencrm diff --git a/docker-compose.yml b/docker-compose.yml index 89a347f7..d182800c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -48,8 +48,11 @@ services: db: condition: service_healthy environment: - # Connection ins Container-Netzwerk (Service-Name = Hostname) - DATABASE_URL: "mysql://${DB_USER}:${DB_ROOT_PASSWORD}@db:3306/${DB_NAME}" + # Connection ins Container-Netzwerk (Service-Name = Hostname). + # Wir nutzen den App-User ${DB_USER}, der von MariaDB beim ersten Start + # automatisch mit GRANT ALL PRIVILEGES auf ${DB_NAME}.* angelegt wird + # (über MARIADB_USER/MARIADB_PASSWORD). KEIN root für die App. + DATABASE_URL: "mysql://${DB_USER}:${DB_PASSWORD}@db:3306/${DB_NAME}" JWT_SECRET: ${JWT_SECRET} JWT_EXPIRES_IN: ${JWT_EXPIRES_IN:-7d} ENCRYPTION_KEY: ${ENCRYPTION_KEY}