Replace hardcoded DB credentials with env vars in docker-compose

Adds .env.example as a template and .gitignore to exclude the actual
.env file, preventing accidental credential commits.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Christoph K.
2026-04-07 09:54:18 +02:00
parent a49416854e
commit 23506bab7d
3 changed files with 10 additions and 5 deletions

4
.env.example Normal file
View File

@@ -0,0 +1,4 @@
# Copy to .env and set a strong password before starting
DB_USER=pamietnik
DB_NAME=pamietnik
DB_PASSWORD=change-me-before-production

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.env

View File

@@ -2,13 +2,13 @@ services:
postgres: postgres:
image: postgres:16-alpine image: postgres:16-alpine
environment: environment:
POSTGRES_USER: pamietnik POSTGRES_USER: ${DB_USER:-pamietnik}
POSTGRES_PASSWORD: pamietnik POSTGRES_PASSWORD: ${DB_PASSWORD:?DB_PASSWORD is required}
POSTGRES_DB: pamietnik POSTGRES_DB: ${DB_NAME:-pamietnik}
volumes: volumes:
- pgdata:/var/lib/postgresql/data - pgdata:/var/lib/postgresql/data
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U pamietnik"] test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-pamietnik}"]
interval: 5s interval: 5s
timeout: 5s timeout: 5s
retries: 5 retries: 5
@@ -20,7 +20,7 @@ services:
ports: ports:
- "9050:8080" - "9050:8080"
environment: environment:
DATABASE_URL: postgres://pamietnik:pamietnik@postgres:5432/pamietnik?sslmode=disable DATABASE_URL: postgres://${DB_USER:-pamietnik}:${DB_PASSWORD:?DB_PASSWORD is required}@postgres:5432/${DB_NAME:-pamietnik}?sslmode=disable
LISTEN_ADDR: :8080 LISTEN_ADDR: :8080
depends_on: depends_on:
postgres: postgres: