52 lines
1.2 KiB
YAML
52 lines
1.2 KiB
YAML
services:
|
|
# The Brain (FastAPI)
|
|
c2-brain:
|
|
build: .
|
|
container_name: radio-c2-brain
|
|
restart: always
|
|
environment:
|
|
- MONGO_URI=mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@db:27017/radio_c2?authSource=admin
|
|
- MQTT_BROKER=mqtt-broker
|
|
- PORT=8000
|
|
depends_on:
|
|
- db
|
|
- mqtt-broker
|
|
ports:
|
|
- "8000:8000"
|
|
networks:
|
|
- radio-shared-net
|
|
|
|
# The Memory (MongoDB)
|
|
db:
|
|
image: mongo:latest
|
|
container_name: radio-db
|
|
restart: always
|
|
environment:
|
|
- MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME}
|
|
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD}
|
|
volumes:
|
|
- mongo_data:/data/db
|
|
networks:
|
|
- radio-shared-net
|
|
|
|
# The Post Office (MQTT Broker)
|
|
mqtt-broker:
|
|
image: eclipse-mosquitto:latest
|
|
container_name: radio-mqtt
|
|
restart: always
|
|
ports:
|
|
- "1883:1883"
|
|
- "9001:9001"
|
|
volumes:
|
|
- ./mosquitto/config/:/mosquitto/config/
|
|
- ./mosquitto/data/:/mosquitto/data/
|
|
- ./mosquitto/log/:/mosquitto/log/
|
|
networks:
|
|
- radio-shared-net
|
|
|
|
networks:
|
|
radio-shared-net:
|
|
external: true
|
|
|
|
volumes:
|
|
mongo_data: |