veza/config/docker/README.md
senke 6e0d4457d9 chore(docker): document docker-compose file usage and purpose
Add config/docker/README.md with:
- Table of all remaining docker-compose files and their purposes
- Usage commands for each environment
- List of deleted deprecated files (from C9)
- Required environment variables for production deployment

Addresses audit finding: debt item 8 (12 docker-compose files confusion).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-11 22:53:24 +01:00

43 lines
1.9 KiB
Markdown

# Docker Compose Files — Usage Guide
This project uses multiple `docker-compose` files for different environments. After the cleanup in the audit remediation, the following files remain and are canonical:
## Root-level files
| File | Purpose | Usage |
|------|---------|-------|
| `docker-compose.yml` | Local development | `docker compose up` |
| `docker-compose.prod.yml` | **Production** (canonical) | `docker compose -f docker-compose.prod.yml up -d` |
| `docker-compose.staging.yml` | Staging environment | `docker compose -f docker-compose.staging.yml up -d` |
| `docker-compose.test.yml` | Integration tests | `docker compose -f docker-compose.test.yml up -d` |
## Service-specific files
| File | Purpose | Usage |
|------|---------|-------|
| `veza-chat-server/docker-compose.yml` | Standalone chat server dev | `cd veza-chat-server && docker compose up` |
| `veza-stream-server/docker-compose.yml` | Standalone stream server dev | `cd veza-stream-server && docker compose up` |
## Infrastructure monitoring
| File | Purpose | Usage |
|------|---------|-------|
| `config/docker/docker-compose.local.yml` | Local monitoring (Prometheus, Grafana) | `docker compose -f config/docker/docker-compose.local.yml up -d` |
## Deleted files (audit remediation C9)
The following deprecated/duplicate files were removed:
- `docker-compose.production.yml` (root) — superseded by `docker-compose.prod.yml`
- `config/docker/docker-compose.production.yml` — deprecated copy
- `veza-stream-server/docker-compose.production.yml` — deprecated copy
## Production deployment notes
`docker-compose.prod.yml` requires the following environment variables to be set (it will **fail** if any are missing):
- `DB_PASS` — PostgreSQL password
- `JWT_SECRET` — JWT signing secret (minimum 32 characters)
- `RABBITMQ_PASS` — RabbitMQ password
All database connections use `sslmode=require`.