118 lines
2.4 KiB
YAML
118 lines
2.4 KiB
YAML
version: '3.9'
|
|
|
|
networks:
|
|
dns_net:
|
|
driver: bridge
|
|
|
|
|
|
services:
|
|
# For ended simulations
|
|
mongo:
|
|
image: mongo
|
|
container_name: dns-mongo-db
|
|
environment:
|
|
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
|
|
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
|
|
MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE}
|
|
ports:
|
|
- '27017:27017'
|
|
networks:
|
|
- dns_net
|
|
volumes:
|
|
- mongodata:/data/db
|
|
restart: always
|
|
# For user management and etc
|
|
postgres:
|
|
image: postgres:13
|
|
container_name: dns-postgres-db
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB}
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
ports:
|
|
- "${POSTGRES_PORT}:5432"
|
|
networks:
|
|
- dns_net
|
|
restart: always
|
|
# For web
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: dns-nginx
|
|
ports:
|
|
- "${NGINX_PORT}:80"
|
|
volumes:
|
|
# - ./frontend/geotouchka-web-application/build:/usr/share/nginx/html
|
|
- ./nginx.conf:/etc/nginx/nginx.conf
|
|
networks:
|
|
- dns_net
|
|
depends_on:
|
|
- front
|
|
restart: always
|
|
# Api server - For kernel communication
|
|
server:
|
|
container_name: dns-server
|
|
build:
|
|
context: ./src/server
|
|
dockerfile: Dockerfile
|
|
env_file: ".env"
|
|
ports:
|
|
- "8080:8080"
|
|
depends_on:
|
|
- postgres
|
|
- mongo
|
|
networks:
|
|
- dns_net
|
|
restart: always
|
|
# Socket hub - For websocket communication
|
|
hub:
|
|
container_name: dns-hub
|
|
build:
|
|
context: ./src/microservices/hub
|
|
dockerfile: Dockerfile
|
|
env_file: ".env"
|
|
ports:
|
|
- "10001:10000"
|
|
depends_on:
|
|
- nats
|
|
networks:
|
|
- dns_net
|
|
restart: always
|
|
# Frontend - For web ui
|
|
front:
|
|
container_name: dns-ui
|
|
build:
|
|
context: ./src/usn-frontend
|
|
dockerfile: test.Dockerfile
|
|
env_file: ".env"
|
|
volumes:
|
|
- ./src/usn-frontend:/app
|
|
working_dir: /app
|
|
command: ["npm", "run", "dev"]
|
|
ports:
|
|
- "3000:3000"
|
|
networks:
|
|
- dns_net
|
|
restart: always
|
|
|
|
#
|
|
math:
|
|
container_name: dns-math
|
|
build:
|
|
context: ./src/microservices/py-simulation
|
|
dockerfile: Dockerfile
|
|
env_file: ".env"
|
|
ports:
|
|
- "10000:10000"
|
|
networks:
|
|
- dns_net
|
|
restart: always
|
|
|
|
|
|
# For messaging
|
|
|
|
volumes:
|
|
postgres_data:
|
|
mongodata:
|
|
driver: local |