From 4f5042dc4368b2d8756f1f706e6e961d803b7489 Mon Sep 17 00:00:00 2001 From: AliceDarkest Date: Sun, 12 Jul 2026 21:43:02 +0200 Subject: [PATCH] Sicherheit: DB-Passwort rotieren und aus Secret laden --- .gitea/workflows/mindflux.yml | 7 +++++++ docker-compose.yml | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/mindflux.yml b/.gitea/workflows/mindflux.yml index 7d8568b..d8d07ab 100644 --- a/.gitea/workflows/mindflux.yml +++ b/.gitea/workflows/mindflux.yml @@ -22,8 +22,15 @@ jobs: - name: Deploy env: + MINDFLUX_DB_PASSWORD: ${{ secrets.MINDFLUX_DB_PASSWORD }} MINDFLUX_ADMIN_PASSWORD: ${{ secrets.MINDFLUX_ADMIN_PASSWORD }} MINDFLUX_ADMIN2_PASSWORD: ${{ secrets.MINDFLUX_ADMIN2_PASSWORD }} run: | + test -n "$MINDFLUX_DB_PASSWORD" || { echo "MINDFLUX_DB_PASSWORD fehlt" >&2; exit 1; } + docker exec -i -e NEW_DB_PASSWORD="$MINDFLUX_DB_PASSWORD" postgres \ + psql -v ON_ERROR_STOP=1 -U mindflux -d mindfluxdb <<'SQL' + \getenv new_db_password NEW_DB_PASSWORD + ALTER USER mindflux WITH PASSWORD :'new_db_password'; + SQL docker compose -f docker-compose.yml pull docker compose -f docker-compose.yml up -d diff --git a/docker-compose.yml b/docker-compose.yml index ed85f08..3965c24 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,10 +5,10 @@ services: restart: unless-stopped environment: - # --- Datenbank: unverändert wie im bisherigen Deploy --- + # --- Datenbank: Passwort kommt aus Gitea-Secret (siehe Workflow), nie ins Repo --- SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/mindfluxdb SPRING_DATASOURCE_USERNAME: mindflux - SPRING_DATASOURCE_PASSWORD: mindflux_pass + SPRING_DATASOURCE_PASSWORD: "${MINDFLUX_DB_PASSWORD:?MINDFLUX_DB_PASSWORD muss als Secret gesetzt sein}" # --- App: lauscht intern auf 8080 (nginx -> mindflux:8080) --- SERVER_PORT: "8080"