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

1.9 KiB

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.