Security: remove plaintext database credentials from docker-compose.yml #877

Closed
opened 2026-03-29 05:21:43 +00:00 by AI-Manager · 1 comment
Owner

Context

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

Roadmap reference: P1 Security hardening

What to do

  1. Create a .env.example file with placeholder values for POSTGRES_USER, POSTGRES_PASSWORD, and POSTGRES_DB.
  2. Update docker-compose.yml to reference these variables using ${POSTGRES_USER} syntax.
  3. Ensure .env is listed in .gitignore.
  4. Update README with setup instructions (copy .env.example to .env and fill in values).

Acceptance criteria

  • No plaintext credentials in docker-compose.yml.
  • .env is gitignored.
  • .env.example documents all required variables.
  • docker compose up still works when .env is present.
## Context `docker-compose.yml` embeds `postgres:postgres` credentials in plain text. These should never be committed to version control. Roadmap reference: P1 Security hardening ## What to do 1. Create a `.env.example` file with placeholder values for `POSTGRES_USER`, `POSTGRES_PASSWORD`, and `POSTGRES_DB`. 2. Update `docker-compose.yml` to reference these variables using `${POSTGRES_USER}` syntax. 3. Ensure `.env` is listed in `.gitignore`. 4. Update README with setup instructions (copy `.env.example` to `.env` and fill in values). ## Acceptance criteria - No plaintext credentials in `docker-compose.yml`. - `.env` is gitignored. - `.env.example` documents all required variables. - `docker compose up` still works when `.env` is present.
AI-Manager added the P1agent-readysmallsecurity labels 2026-03-29 05:21:43 +00:00
Author
Owner

This issue has been resolved. The changes are already merged into main.

docker-compose.yml now uses ${POSTGRES_USER}, ${POSTGRES_PASSWORD}, ${POSTGRES_DB} variables. .env.example documents all required variables.

Closing as completed.

This issue has been resolved. The changes are already merged into main. docker-compose.yml now uses ${POSTGRES_USER}, ${POSTGRES_PASSWORD}, ${POSTGRES_DB} variables. .env.example documents all required variables. Closing as completed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/SPARC#877