This repository contains the Docker Compose configuration to start the entire Beep stack.
To clone this repository with all its submodules, use:
git clone --recurse-submodules git@github.com:beep-industries/central.gitIf you've already cloned the repository without submodules, you can initialize/update them with:
git submodule update --init --recursiveIf you need to update submodules later, run:
git submodule update --remote --mergeTo start all services, simply run:
docker compose --profile all up -d --buildAll services come with sensible defaults and will work out of the box.
If you need to override any environment variables:
cp .env.example .envThen edit .env with your custom values. The docker-compose will automatically pick up your changes.
The profile system allows you to start all infrastructure EXCEPT the service you're working on.
# Starts everything EXCEPT user-api (you run it locally)
docker compose --profile user up -d --build# Starts everything EXCEPT communities-api (you run it locally)
docker compose --profile communities up -d --build# Starts everything EXCEPT message-api (you run it locally)
docker compose --profile message up -d --build# Starts everything EXCEPT realtime-api (you run it locally)
docker compose --profile realtime up -d --build# Starts everything EXCEPT authz-listeners (you run it locally)
docker compose --profile authz up -d --build# Starts everything EXCEPT client (you run it locally)
docker compose --profile client up -d --build- user-db (PostgreSQL) - Port 5432
- keycloak-db (PostgreSQL)
- keycloak - Port 8080
- communities-db (PostgreSQL) - Port 5433
- message-db (MongoDB) - Port 27017
- rabbitmq - Ports 5672 (AMQP), 15672 (Management)
- spicedb - Ports 50051, 8443
- otel-collector - Ports 4317, 4318, 8888
- user-api - Ports 3000, 3001
- communities-api - Ports 8081, 8082
- message-api - Port 8083
- realtime-api - Port 4000
- authz-listeners
- client - Port 80
docker compose logs -f <service-name>docker compose --profile <used-profile> down
docker compose --profile <used-profile> down -vdocker compose ps- Keycloak Admin: http://localhost:8080/admin (admin/admin by default)
- RabbitMQ Management: http://localhost:15672 (guest/guest)
- User API: http://localhost:3000
- Communities API: http://localhost:8081
- Message API: http://localhost:8083
- Real-time API: http://localhost:4000
- Client: http://localhost
.
├── authz/ # Authorization service
├── client/ # Frontend
├── communities/ # Communities service
├── message/ # Messaging service
├── real-time/ # Real-time service
├── user/ # User service
├── docker-compose.yaml # Main configuration
└── setup-env.sh # Setup script
- Make sure you have Docker and Docker Compose installed
- Infrastructure services start automatically
- Application services require a profile to start