# Copyright (c) 2020 Intel Corporation # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. version: '2.3' services: idlp_filebrowser: container_name: idlp_filebrowser image: filebrowser/filebrowser command: --noauth volumes: - idlp_data_v:/srv - ./web/filebrowser/.filebrowser.json:/.filebrowser.json networks: - idlp_network idlp_nginx: container_name: idlp_nginx image: nginx:1.18-alpine ports: - 8001:8001 - 8002:8002 - 8003:8003 volumes: - idlp_nginx_conf_v:/etc/nginx/conf.d - idlp_nginx_media_v:/media environment: - IDLP_HOST=${IDLP_HOST} networks: - idlp_network depends_on: - idlp_api - idlp_tensorboard_worker - idlp_mongo - idlp_ui - idlp_filebrowser idlp_ui: build: context: web/ui args: IDLP_HOST: ${IDLP_HOST} container_name: idlp_ui volumes: - ./web/ui/ui.nginx.conf:/etc/nginx/conf.d/ui.nginx.conf networks: - idlp_network depends_on: - idlp_api idlp_mongo: image: mongo container_name: idlp_mongo # ports: # - 27017:27017 networks: - idlp_network volumes: - idlp_mongo_db_v:/data/db idlp_mongo_express: image: mongo-express container_name: idlp_mongo_express restart: always ports: - 8081:8081 environment: ME_CONFIG_MONGODB_AUTH_DATABASE: 'db' ME_CONFIG_MONGODB_AUTH_USERNAME: 'admin' ME_CONFIG_MONGODB_AUTH_PASSWORD: 'admin' ME_CONFIG_OPTIONS_EDITORTHEME: 'idea' ME_CONFIG_MONGODB_SERVER: 'idlp_mongo' networks: - idlp_network depends_on: - idlp_mongo idlp_rabbitmq: image: 'rabbitmq:management-alpine' ports: # - '5672:5672' - '15672:15672' container_name: idlp_rabbitmq networks: - idlp_network idlp_api: build: context: web/goserver/src/server dockerfile: api/Dockerfile restart: always volumes: - idlp_go_server_v:/go/src/server - idlp_ote_v:/ote container_name: idlp_api # ports: # - 8888:8888 networks: - idlp_network depends_on: - idlp_rabbitmq - idlp_db idlp_db: build: context: web/goserver/src/server dockerfile: db/Dockerfile restart: always volumes: - idlp_go_server_v:/go/src/server container_name: idlp_db networks: - idlp_network depends_on: - idlp_rabbitmq - idlp_mongo idlp_problem: build: context: web/goserver/src/server dockerfile: domains/problem/Dockerfile restart: always volumes: - idlp_go_server_v:/go/src/server - idlp_problem_v:/problem - idlp_ote_v:/ote - idlp_nginx_media_v:/media container_name: idlp_problem networks: - idlp_network depends_on: - idlp_rabbitmq - idlp_db idlp_model: build: context: web/goserver/src/server dockerfile: domains/model/Dockerfile restart: always volumes: - idlp_go_server_v:/go/src/server - idlp_problem_v:/problem - idlp_ote_v:/ote container_name: idlp_model networks: - idlp_network depends_on: - idlp_rabbitmq - idlp_db idlp_build: build: context: web/goserver/src/server dockerfile: domains/build/Dockerfile restart: always volumes: - idlp_go_server_v:/go/src/server - idlp_problem_v:/problem container_name: idlp_build networks: - idlp_network depends_on: - idlp_rabbitmq - idlp_db idlp_cvat_task: build: context: web/goserver/src/server dockerfile: domains/cvat_task/Dockerfile restart: always volumes: - idlp_go_server_v:/go/src/server - idlp_problem_v:/problem - idlp_cvat_images_v:/images container_name: idlp_cvat_task networks: - idlp_network - default depends_on: - idlp_rabbitmq - idlp_db idlp_asset: build: context: web/goserver/src/server dockerfile: domains/asset/Dockerfile restart: always volumes: - idlp_go_server_v:/go/src/server - idlp_assets_v:/assets container_name: idlp_asset networks: - idlp_network depends_on: - idlp_rabbitmq - idlp_db idlp_train_worker: build: context: . dockerfile: web/goserver/src/server/workers/train/Dockerfile.cpu restart: always shm_size: '2gb' volumes: - idlp_go_server_v:/go/src/server - idlp_problem_v:/problem - idlp_cvat_images_v:/images - idlp_ote_v:/ote container_name: idlp_train_worker networks: - idlp_network depends_on: - idlp_rabbitmq idlp_tensorboard_worker: container_name: idlp_tensorboard_worker build: context: web/pyserver dockerfile: workers/board/Dockerfile volumes: - idlp_py_server_v:/code - idlp_problem_v:/problem ports: - 6006:6006 - 8812:8812 networks: - idlp_network cvat_db: container_name: cvat_db image: postgres:10-alpine networks: idlp_network: aliases: - db restart: always environment: POSTGRES_USER: root POSTGRES_DB: cvat POSTGRES_HOST_AUTH_METHOD: trust volumes: - cvat_db_v:/var/lib/postgresql/data cvat_redis: container_name: cvat_redis image: redis:4.0-alpine networks: idlp_network: aliases: - redis restart: always cvat: container_name: cvat image: cvat restart: always depends_on: - cvat_redis - cvat_db build: context: external/cvat args: http_proxy: https_proxy: no_proxy: socks_proxy: TF_ANNOTATION: "no" AUTO_SEGMENTATION: "no" USER: "django" DJANGO_CONFIGURATION: "production" TZ: "Etc/UTC" OPENVINO_TOOLKIT: "no" environment: DJANGO_MODWSGI_EXTRA_ARGS: "" ALLOWED_HOSTS: '*' CVAT_REDIS_HOST: "cvat_redis" CVAT_POSTGRES_HOST: "cvat_db" volumes: - cvat_data_v:/home/django/data - cvat_keys_v:/home/django/keys - cvat_logs_v:/home/django/logs - cvat_models_v:/home/django/models - idlp_assets_v:/home/django/share networks: - idlp_network cvat_ui: container_name: cvat_ui restart: always build: context: external/cvat args: http_proxy: https_proxy: no_proxy: socks_proxy: dockerfile: Dockerfile.ui networks: idlp_network: aliases: - ui depends_on: - cvat cvat_proxy: container_name: cvat_proxy image: nginx:stable-alpine restart: always depends_on: - cvat - cvat_ui environment: CVAT_HOST: ${IDLP_HOST} ports: - "8080:80" volumes: - ./external/cvat/cvat_proxy/nginx.conf:/etc/nginx/nginx.conf:ro - ./external/cvat/cvat_proxy/conf.d/cvat.conf.template:/etc/nginx/conf.d/cvat.conf.template:ro command: /bin/sh -c "envsubst '$$CVAT_HOST' < /etc/nginx/conf.d/cvat.conf.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'" networks: - idlp_network networks: idlp_network: name: idlp_network volumes: idlp_mongo_db_v: driver: local driver_opts: o: bind type: none device: $PWD/web/data/db idlp_go_server_v: driver: local driver_opts: o: bind type: none device: $PWD/web/goserver/src/server idlp_ote_v: driver: local driver_opts: o: bind type: none device: $PWD idlp_problem_v: driver: local driver_opts: o: bind type: none device: $PWD/web/data/problem idlp_cvat_images_v: driver: local driver_opts: o: bind type: none device: $PWD/web/data/images idlp_assets_v: driver: local driver_opts: o: bind type: none device: $PWD/web/data/assets idlp_py_server_v: driver: local driver_opts: o: bind type: none device: $PWD/web/pyserver idlp_nginx_conf_v: driver: local driver_opts: o: bind type: none device: $PWD/web/nginx/conf.d idlp_nginx_media_v: driver: local driver_opts: o: bind type: none device: $PWD/web/nginx/media cvat_db_v: cvat_data_v: cvat_keys_v: cvat_logs_v: cvat_models_v: idlp_data_v: driver: local driver_opts: o: bind type: none device: $PWD/web/data idlp_filebrowser_db_v: driver: local driver_opts: o: bind type: none device: $PWD/web/filebrowser/filebrowser.db