Scalable IoT solution for real-time body position data
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

82 lines
1.5 KiB

version: "3.9"
services:
redis:
image: redis:latest
container_name: "redis"
networks:
- backend
influx:
image: influxdb:latest
container_name: "influx"
environment:
- INFLUXDB_DB=db0
networks:
- backend
- monitor
grafana:
image: grafana/grafana:latest
container_name: "grafana"
ports:
- "3000:3000"
networks:
- monitor
depends_on:
- influx
mongo:
image: mongo:latest
container_name: "mongo"
networks:
- backend
backend:
build: ./server
container_name: "backend"
deploy:
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
ports:
- "8000:8000"
volumes:
- ./server:/usr/src/app/server
- /usr/src/app/server/node_modules
networks:
- backend
- frontend
depends_on:
- redis
- influx
- mongo
frontend:
build: ./web
container_name: "frontend"
deploy:
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
ports:
- "8080:8080"
volumes:
- ./web:/usr/src/app/web
- /usr/src/app/web/node_modules
networks:
- frontend
depends_on:
- backend
test_client:
build: ./client
container_name: "test_client"
volumes:
- ./client:/usr/src/app/client
- /usr/src/app/client/node_modules
networks:
- backend
depends_on:
- backend
networks:
backend:
frontend:
monitor: