171 lines
3.3 KiB
YAML
171 lines
3.3 KiB
YAML
name: "road_vision"
|
|
services:
|
|
mqtt:
|
|
image: eclipse-mosquitto
|
|
container_name: mqtt
|
|
volumes:
|
|
- ./agent/docker/mosquitto:/mosquitto
|
|
- ./agent/docker/mosquitto/data:/mosquitto/data
|
|
- ./agent/docker/mosquitto/log:/mosquitto/log
|
|
ports:
|
|
- 1883:1883
|
|
- 9001:9001
|
|
networks:
|
|
mqtt_network:
|
|
|
|
|
|
agent1:
|
|
build:
|
|
context: .
|
|
dockerfile: agent/Dockerfile
|
|
depends_on:
|
|
- mqtt
|
|
environment:
|
|
PYTHONUNBUFFERED: 1
|
|
MQTT_BROKER_HOST: "mqtt"
|
|
MQTT_BROKER_PORT: 1883
|
|
MQTT_TOPIC: "agent_data_topic"
|
|
DELAY: 1.2
|
|
USER_ID: 2
|
|
networks:
|
|
mqtt_network:
|
|
|
|
agent2:
|
|
build:
|
|
context: .
|
|
dockerfile: agent/Dockerfile
|
|
depends_on:
|
|
- mqtt
|
|
environment:
|
|
PYTHONUNBUFFERED: 1
|
|
MQTT_BROKER_HOST: "mqtt"
|
|
MQTT_BROKER_PORT: 1883
|
|
MQTT_TOPIC: "agent_data_topic"
|
|
GPS_SOURCE: "data/route2.csv"
|
|
DELAY: 1.0
|
|
USER_ID: 3
|
|
networks:
|
|
mqtt_network:
|
|
|
|
edge:
|
|
container_name: edge
|
|
build:
|
|
context: .
|
|
dockerfile: edge/Dockerfile
|
|
depends_on:
|
|
- mqtt
|
|
environment:
|
|
MQTT_BROKER_HOST: "mqtt"
|
|
MQTT_BROKER_PORT: 1883
|
|
MQTT_TOPIC: "agent_data_topic"
|
|
HUB_HOST: "hub"
|
|
HUB_PORT: 8000
|
|
HUB_CONNECTION_TYPE: "http"
|
|
HUB_MQTT_BROKER_HOST: "mqtt"
|
|
HUB_MQTT_BROKER_PORT: 1883
|
|
HUB_MQTT_TOPIC: "processed_data_topic"
|
|
networks:
|
|
mqtt_network:
|
|
edge_hub:
|
|
|
|
postgres_db:
|
|
image: postgres:17
|
|
container_name: postgres_db
|
|
restart: always
|
|
environment:
|
|
POSTGRES_USER: user
|
|
POSTGRES_PASSWORD: pass
|
|
POSTGRES_DB: test_db
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
- ./store/docker/db/structure.sql:/docker-entrypoint-initdb.d/structure.sql
|
|
ports:
|
|
- "5432:5432"
|
|
networks:
|
|
db_network:
|
|
|
|
pgadmin:
|
|
container_name: pgadmin4
|
|
image: dpage/pgadmin4
|
|
restart: always
|
|
environment:
|
|
PGADMIN_DEFAULT_EMAIL: admin@admin.com
|
|
PGADMIN_DEFAULT_PASSWORD: root
|
|
volumes:
|
|
- pgadmin-data:/var/lib/pgadmin
|
|
ports:
|
|
- "5050:80"
|
|
networks:
|
|
db_network:
|
|
|
|
|
|
store:
|
|
container_name: store
|
|
build:
|
|
context: .
|
|
dockerfile: store/Dockerfile
|
|
depends_on:
|
|
- postgres_db
|
|
restart: always
|
|
environment:
|
|
PYTHONUNBUFFERED: 1
|
|
POSTGRES_USER: user
|
|
POSTGRES_PASSWORD: pass
|
|
POSTGRES_DB: test_db
|
|
POSTGRES_HOST: postgres_db
|
|
POSTGRES_PORT: 5432
|
|
ports:
|
|
- "8000:8000"
|
|
networks:
|
|
db_network:
|
|
hub_store:
|
|
|
|
|
|
redis:
|
|
image: redis:latest
|
|
container_name: redis
|
|
ports:
|
|
- "6379:6379"
|
|
networks:
|
|
hub_redis:
|
|
|
|
|
|
hub:
|
|
container_name: hub
|
|
build:
|
|
context: .
|
|
dockerfile: hub/Dockerfile
|
|
depends_on:
|
|
- mqtt
|
|
- redis
|
|
- store
|
|
environment:
|
|
PYTHONUNBUFFERED: 1
|
|
STORE_API_HOST: "store"
|
|
STORE_API_PORT: 8000
|
|
REDIS_HOST: "redis"
|
|
REDIS_PORT: 6379
|
|
MQTT_BROKER_HOST: "mqtt"
|
|
MQTT_BROKER_PORT: 1883
|
|
MQTT_TOPIC: "processed_data_topic"
|
|
BATCH_SIZE: 4
|
|
ports:
|
|
- "9000:8000"
|
|
networks:
|
|
mqtt_network:
|
|
hub_store:
|
|
hub_redis:
|
|
|
|
networks:
|
|
mqtt_network:
|
|
db_network:
|
|
edge_hub:
|
|
hub:
|
|
hub_store:
|
|
hub_redis:
|
|
|
|
|
|
volumes:
|
|
postgres_data:
|
|
pgadmin-data:
|