|
|
@@ -1,104 +1,26 @@
|
|
|
-version: '3.9'
|
|
|
-
|
|
|
services:
|
|
|
- box-redis:
|
|
|
- image: redis:7
|
|
|
- restart: unless-stopped
|
|
|
- ports:
|
|
|
- - '6379:6379'
|
|
|
- healthcheck:
|
|
|
- test: ["CMD", "redis-cli", "-h", "127.0.0.1", "ping"]
|
|
|
- interval: 10s
|
|
|
- timeout: 5s
|
|
|
- retries: 5
|
|
|
- volumes:
|
|
|
- - redis_data:/data
|
|
|
- networks:
|
|
|
- - box-network
|
|
|
-
|
|
|
- box-rabbitmq:
|
|
|
- image: rabbitmq:3.12-management
|
|
|
- restart: unless-stopped
|
|
|
- ports:
|
|
|
- - '5672:5672'
|
|
|
- - '15672:15672'
|
|
|
- environment:
|
|
|
- RABBITMQ_DEFAULT_USER: boxrabbit
|
|
|
- RABBITMQ_DEFAULT_PASS: BoxRabbit2025
|
|
|
- RABBITMQ_DEFAULT_VHOST: /
|
|
|
- healthcheck:
|
|
|
- test: ["CMD", "rabbitmq-diagnostics", "status"]
|
|
|
- interval: 10s
|
|
|
- timeout: 5s
|
|
|
- retries: 5
|
|
|
- volumes:
|
|
|
- - rabbitmq_data:/var/lib/rabbitmq
|
|
|
- networks:
|
|
|
- - box-network
|
|
|
-
|
|
|
- box-mongodb:
|
|
|
- image: mongo:7
|
|
|
- restart: unless-stopped
|
|
|
- command: ["mongod", "--replSet", "rs0", "--bind_ip_all"]
|
|
|
- ports:
|
|
|
- - '27017:27017'
|
|
|
- environment:
|
|
|
- MONGO_INITDB_ROOT_USERNAME: boxadmin
|
|
|
- MONGO_INITDB_ROOT_PASSWORD: boxpass
|
|
|
- MONGO_INITDB_DATABASE: box_admin
|
|
|
- healthcheck:
|
|
|
- test: ["CMD", "mongo", "--quiet", "--eval", "db.adminCommand('ping')", "-u", "boxadmin", "-p", "boxpass", "--authenticationDatabase", "admin"]
|
|
|
- interval: 10s
|
|
|
- timeout: 5s
|
|
|
- retries: 5
|
|
|
- volumes:
|
|
|
- - mongo_data:/data/db
|
|
|
- - ./docker/mongo/init-repl.js:/docker-entrypoint-initdb.d/init-repl.js:ro
|
|
|
- networks:
|
|
|
- - box-network
|
|
|
-
|
|
|
- box-mysql:
|
|
|
- image: mysql:8
|
|
|
- restart: unless-stopped
|
|
|
- profiles:
|
|
|
- - migration
|
|
|
- ports:
|
|
|
- - '3306:3306'
|
|
|
- environment:
|
|
|
- MYSQL_ROOT_PASSWORD: rootpass
|
|
|
- MYSQL_DATABASE: box_admin
|
|
|
- healthcheck:
|
|
|
- test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"]
|
|
|
- interval: 10s
|
|
|
- timeout: 5s
|
|
|
- retries: 5
|
|
|
- volumes:
|
|
|
- - mysql_data:/var/lib/mysql
|
|
|
- networks:
|
|
|
- - box-network
|
|
|
-
|
|
|
box-mgnt-api:
|
|
|
build:
|
|
|
context: .
|
|
|
dockerfile: apps/box-mgnt-api/Dockerfile
|
|
|
+ container_name: box-mgnt-api
|
|
|
+ restart: unless-stopped
|
|
|
ports:
|
|
|
- - '3300:3300'
|
|
|
+ - "3300:3300"
|
|
|
env_file:
|
|
|
- .env.docker
|
|
|
environment:
|
|
|
NODE_ENV: development
|
|
|
APP_HOST: 0.0.0.0
|
|
|
APP_PORT: 3300
|
|
|
- APP_CORS_ORIGIN: '*'
|
|
|
- REDIS_DB: 0
|
|
|
- REDIS_TLS: 'false'
|
|
|
- depends_on:
|
|
|
- box-redis:
|
|
|
- condition: service_healthy
|
|
|
- box-rabbitmq:
|
|
|
- condition: service_healthy
|
|
|
- box-mongodb:
|
|
|
- condition: service_healthy
|
|
|
+ APP_CORS_ORIGIN: "*"
|
|
|
+ REDIS_HOST: box-redis
|
|
|
+ REDIS_PORT: "6379"
|
|
|
+ REDIS_DB: "0"
|
|
|
+ REDIS_TLS: "false"
|
|
|
+ RABBITMQ_HOST: box-rabbitmq
|
|
|
+ MONGO_HOST: box-mongodb
|
|
|
+ MYSQL_HOST: box-mysql
|
|
|
networks:
|
|
|
- box-network
|
|
|
|
|
|
@@ -106,24 +28,24 @@ services:
|
|
|
build:
|
|
|
context: .
|
|
|
dockerfile: apps/box-app-api/Dockerfile
|
|
|
+ container_name: box-app-api
|
|
|
+ restart: unless-stopped
|
|
|
ports:
|
|
|
- - '3301:3301'
|
|
|
+ - "3301:3301"
|
|
|
env_file:
|
|
|
- .env.docker
|
|
|
environment:
|
|
|
NODE_ENV: development
|
|
|
APP_HOST: 0.0.0.0
|
|
|
APP_PORT: 3301
|
|
|
- APP_CORS_ORIGIN: '*'
|
|
|
- REDIS_DB: 1
|
|
|
- REDIS_TLS: 'false'
|
|
|
- depends_on:
|
|
|
- box-redis:
|
|
|
- condition: service_healthy
|
|
|
- box-rabbitmq:
|
|
|
- condition: service_healthy
|
|
|
- box-mongodb:
|
|
|
- condition: service_healthy
|
|
|
+ APP_CORS_ORIGIN: "*"
|
|
|
+ REDIS_HOST: box-redis
|
|
|
+ REDIS_PORT: "6379"
|
|
|
+ REDIS_DB: "1"
|
|
|
+ REDIS_TLS: "false"
|
|
|
+ RABBITMQ_HOST: box-rabbitmq
|
|
|
+ MONGO_HOST: box-mongodb
|
|
|
+ MYSQL_HOST: box-mysql
|
|
|
networks:
|
|
|
- box-network
|
|
|
|
|
|
@@ -131,33 +53,28 @@ services:
|
|
|
build:
|
|
|
context: .
|
|
|
dockerfile: apps/box-stats-api/Dockerfile
|
|
|
+ container_name: box-stats-api
|
|
|
+ restart: unless-stopped
|
|
|
ports:
|
|
|
- - '3302:3302'
|
|
|
+ - "3302:3302"
|
|
|
env_file:
|
|
|
- .env.docker
|
|
|
environment:
|
|
|
NODE_ENV: development
|
|
|
APP_HOST: 0.0.0.0
|
|
|
APP_PORT: 3302
|
|
|
- APP_CORS_ORIGIN: '*'
|
|
|
- REDIS_DB: 2
|
|
|
- REDIS_TLS: 'false'
|
|
|
- depends_on:
|
|
|
- box-redis:
|
|
|
- condition: service_healthy
|
|
|
- box-rabbitmq:
|
|
|
- condition: service_healthy
|
|
|
- box-mongodb:
|
|
|
- condition: service_healthy
|
|
|
+ APP_CORS_ORIGIN: "*"
|
|
|
+ REDIS_HOST: box-redis
|
|
|
+ REDIS_PORT: "6379"
|
|
|
+ REDIS_DB: "2"
|
|
|
+ REDIS_TLS: "false"
|
|
|
+ RABBITMQ_HOST: box-rabbitmq
|
|
|
+ MONGO_HOST: box-mongodb
|
|
|
+ MYSQL_HOST: box-mysql
|
|
|
networks:
|
|
|
- box-network
|
|
|
|
|
|
-volumes:
|
|
|
- redis_data:
|
|
|
- rabbitmq_data:
|
|
|
- mongo_data:
|
|
|
- mysql_data:
|
|
|
-
|
|
|
networks:
|
|
|
box-network:
|
|
|
- driver: bridge
|
|
|
+ external: true
|
|
|
+ name: box-network
|