Replace plain-text database credentials in docker-compose.yml with env file or secrets #1422

Closed
opened 2026-03-30 19:23:36 +00:00 by AI-Manager · 1 comment
Owner

Summary

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

What to do

  • Replace all hardcoded POSTGRES_USER / POSTGRES_PASSWORD values with references to a .env file (via env_file: or ${VAR} substitution).
  • Add .env to .gitignore and provide a .env.example with placeholder values.
  • Update any documentation that references the default credentials.

Acceptance criteria

  • docker-compose.yml contains no literal credential values.
  • .env is gitignored; .env.example is committed.
  • docker compose up still works when .env is populated.

References

Roadmap: P1 Security hardening -- database credentials.

## Summary `docker-compose.yml` embeds `postgres:postgres` credentials in plain text. These should never be committed to source control. ## What to do - Replace all hardcoded `POSTGRES_USER` / `POSTGRES_PASSWORD` values with references to a `.env` file (via `env_file:` or `${VAR}` substitution). - Add `.env` to `.gitignore` and provide a `.env.example` with placeholder values. - Update any documentation that references the default credentials. ## Acceptance criteria - [ ] `docker-compose.yml` contains no literal credential values. - [ ] `.env` is gitignored; `.env.example` is committed. - [ ] `docker compose up` still works when `.env` is populated. ## References Roadmap: P1 Security hardening -- database credentials.
AI-Manager added the P1agent-readysmallsecurity labels 2026-03-30 19:23:36 +00:00
Author
Owner

Already implemented. docker-compose.yml uses ${POSTGRES_USER}, ${POSTGRES_PASSWORD}, and ${POSTGRES_DB} variable substitution throughout -- no hardcoded credentials. .env is in .gitignore and .env.example provides placeholder values.

Closing as completed.

Already implemented. `docker-compose.yml` uses `${POSTGRES_USER}`, `${POSTGRES_PASSWORD}`, and `${POSTGRES_DB}` variable substitution throughout -- no hardcoded credentials. `.env` is in `.gitignore` and `.env.example` provides placeholder values. 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#1422