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>
43 lines
1.9 KiB
Markdown
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`.
|