This directory contains Docker Compose configurations and related infrastructure setup for the Spike application.
Start all services:
cd docker
docker-compose -f docker-compose.Development.yml up -dStop all services:
docker-compose -f docker-compose.Development.yml downPostgreSQL provides the primary data store for all microservices.
- Port: localhost:5432
- User: volleyer_user
- Password: volleyer_password_dev
- Logical Replication: Enabled (for Debezium CDC)
Web-based PostgreSQL administration tool.
- URL: http://localhost:8080
- Email: [email protected]
- Password: admin123
In-memory data store for caching and session management.
- Port: localhost:6379
- Persistence: AOF (append-only file) enabled
RabbitMQ provides asynchronous messaging between microservices.
- AMQP Port: localhost:5672
- Management UI: http://localhost:15672
- User: volleyer_user
- Password: volleyer_password_dev
events.outbox- Events from events-serviceprofiles.outbox- Events from profiles-servicemessages.outbox- Events from messages-service
Debezium captures database changes and publishes to RabbitMQ using the outbox pattern.
- Monitors
outbox_messagestables in each service database - Publishes changes to RabbitMQ exchanges
- Uses Debezium Server standalone mode (no Kafka dependency)
Configuration files are located in docker/debezium/ directory.
| Service | Port | Description |
|---|---|---|
| auth-service | 5005 | Authentication & authorization |
| events-service | 5010 | Event management |
| profiles-service | 5170 | User profiles |
| clubs-service | 5020 | Club management |
| messages-service | 5180 | Messaging API |
| messages-socketserver | 5181 | WebSocket/SignalR for real-time messaging |
| notifications-service | 5030 | Push notifications |
Reverse proxy and API gateway.
- Port: localhost:8000
- Routes requests to appropriate microservices
| Volume | Purpose |
|---|---|
| postgres_data | PostgreSQL data persistence |
| pgadmin_data | PgAdmin configuration |
| redis_data | Redis AOF persistence |
| rabbitmq_data | RabbitMQ queues and messages |
| debezium_data | Debezium offset tracking |
| nginx_logs | Nginx access and error logs |
All services communicate over the volleyer_network bridge network.