74 lines
1.6 KiB
YAML
74 lines
1.6 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# PostgreSQL for event persistence
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: svrnty-postgres
|
|
ports:
|
|
- "5432:5432"
|
|
environment:
|
|
POSTGRES_USER: svrnty
|
|
POSTGRES_PASSWORD: svrnty_dev
|
|
POSTGRES_DB: svrnty_events
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U svrnty"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- svrnty-network
|
|
|
|
# RabbitMQ for cross-service messaging
|
|
rabbitmq:
|
|
image: rabbitmq:3-management-alpine
|
|
container_name: svrnty-rabbitmq
|
|
ports:
|
|
- "5672:5672" # AMQP port
|
|
- "15672:15672" # Management UI
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: guest
|
|
RABBITMQ_DEFAULT_PASS: guest
|
|
RABBITMQ_DEFAULT_VHOST: /
|
|
volumes:
|
|
- rabbitmq_data:/var/lib/rabbitmq
|
|
healthcheck:
|
|
test: rabbitmq-diagnostics -q ping
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- svrnty-network
|
|
|
|
# pgAdmin for PostgreSQL management (optional)
|
|
pgadmin:
|
|
image: dpage/pgadmin4:latest
|
|
container_name: svrnty-pgadmin
|
|
ports:
|
|
- "5050:80"
|
|
environment:
|
|
PGADMIN_DEFAULT_EMAIL: admin@svrnty.local
|
|
PGADMIN_DEFAULT_PASSWORD: admin
|
|
volumes:
|
|
- pgadmin_data:/var/lib/pgadmin
|
|
depends_on:
|
|
- postgres
|
|
networks:
|
|
- svrnty-network
|
|
profiles:
|
|
- tools
|
|
|
|
volumes:
|
|
postgres_data:
|
|
driver: local
|
|
rabbitmq_data:
|
|
driver: local
|
|
pgadmin_data:
|
|
driver: local
|
|
|
|
networks:
|
|
svrnty-network:
|
|
driver: bridge
|