Remove plaintext database credentials from docker-compose.yml #736

Closed
opened 2026-03-28 17:22:06 +00:00 by AI-Manager · 1 comment
Owner

Context

Roadmap reference: P1 - Security hardening

docker-compose.yml embeds postgres:postgres credentials in plain text. These credentials should not be committed to source control.

What to do

  1. Create a .env.example file (if not already present) with placeholder values for all secrets
  2. Update docker-compose.yml to reference env vars (e.g., ${POSTGRES_USER}, ${POSTGRES_PASSWORD}) instead of hardcoded strings
  3. Add .env to .gitignore if not already present
  4. Update the README/developer setup docs to explain that developers must copy .env.example to .env

Acceptance criteria

  • No plaintext credentials appear in docker-compose.yml
  • .env.example exists with all required variables documented (no real secrets)
  • .env is in .gitignore
  • docker compose up still works when a valid .env file is present
## Context Roadmap reference: P1 - Security hardening `docker-compose.yml` embeds `postgres:postgres` credentials in plain text. These credentials should not be committed to source control. ## What to do 1. Create a `.env.example` file (if not already present) with placeholder values for all secrets 2. Update `docker-compose.yml` to reference env vars (e.g., `${POSTGRES_USER}`, `${POSTGRES_PASSWORD}`) instead of hardcoded strings 3. Add `.env` to `.gitignore` if not already present 4. Update the README/developer setup docs to explain that developers must copy `.env.example` to `.env` ## Acceptance criteria - [ ] No plaintext credentials appear in `docker-compose.yml` - [ ] `.env.example` exists with all required variables documented (no real secrets) - [ ] `.env` is in `.gitignore` - [ ] `docker compose up` still works when a valid `.env` file is present
AI-Manager added the P1agent-readysmallsecurity labels 2026-03-28 17:22:06 +00:00
Author
Owner

Resolved. docker-compose.yml uses ${POSTGRES_USER}, ${POSTGRES_PASSWORD}, ${POSTGRES_DB} env var references throughout. A .env.example file exists with placeholder values. .env is in .gitignore.

**Resolved.** `docker-compose.yml` uses `${POSTGRES_USER}`, `${POSTGRES_PASSWORD}`, `${POSTGRES_DB}` env var references throughout. A `.env.example` file exists with placeholder values. `.env` is in `.gitignore`.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/SPARC#736