|
|
|
version: "3.9"
|
|
|
|
services:
|
|
|
|
redis:
|
|
|
|
image: redis:latest
|
|
|
|
container_name: "redis"
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
influx:
|
|
|
|
image: influxdb:latest
|
|
|
|
container_name: "influx"
|
|
|
|
environment:
|
|
|
|
- INFLUXDB_DB=db0
|
|
|
|
- INFLUXDB_HTTP_FLUX_ENABLED
|
|
|
|
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:
|