Skip to content

Instantly share code, notes, and snippets.

@bkbilly
Last active February 9, 2025 13:28
Show Gist options
  • Save bkbilly/cf4f0618391d267eb5d88dd6272bf911 to your computer and use it in GitHub Desktop.
Save bkbilly/cf4f0618391d267eb5d88dd6272bf911 to your computer and use it in GitHub Desktop.
Access CVAT from any host
# Copyright (C) 2018-2021 Intel Corporation
#
# SPDX-License-Identifier: MIT
version: '3.3'
services:
cvat_db:
container_name: cvat_db
image: postgres:10-alpine
restart: always
environment:
POSTGRES_USER: root
POSTGRES_DB: cvat
POSTGRES_HOST_AUTH_METHOD: trust
volumes:
- cvat_db:/var/lib/postgresql/data
networks:
- cvat
cvat_redis:
container_name: cvat_redis
image: redis:4.0-alpine
restart: always
networks:
- cvat
cvat:
container_name: cvat
image: openvino/cvat_server
restart: always
depends_on:
- cvat_redis
- cvat_db
- cvat_opa
environment:
DJANGO_MODWSGI_EXTRA_ARGS: ''
ALLOWED_HOSTS: '*'
CVAT_REDIS_HOST: 'cvat_redis'
CVAT_POSTGRES_HOST: 'cvat_db'
ADAPTIVE_AUTO_ANNOTATION: 'false'
no_proxy: elasticsearch,kibana,logstash,nuclio,opa,${no_proxy}
labels:
- traefik.enable=true
- traefik.http.services.cvat.loadbalancer.server.port=8080
- traefik.http.routers.cvat.rule=PathPrefix(`/api/`, `/git/`, `/opencv/`, `/static/`, `/admin`, `/documentation/`, `/django-rq`)
- traefik.http.routers.cvat.entrypoints=web
volumes:
- cvat_data:/home/django/data
- cvat_keys:/home/django/keys
- cvat_logs:/home/django/logs
networks:
- cvat
cvat_ui:
container_name: cvat_ui
image: openvino/cvat_ui
restart: always
depends_on:
- cvat
labels:
- traefik.enable=true
- traefik.http.services.cvat-ui.loadbalancer.server.port=80
- traefik.http.routers.cvat-ui.rule=HostRegexp(`{subdomain:[\S]+}`)
- traefik.http.routers.cvat-ui.entrypoints=web
networks:
- cvat
traefik:
image: traefik:v2.4
container_name: traefik
restart: always
command:
- '--providers.docker.exposedByDefault=false'
- '--providers.docker.network=cvat'
- '--entryPoints.web.address=:8080'
- '--providers.file.directory=/etc/traefik/rules'
# Uncomment to get Traefik dashboard
- "--entryPoints.dashboard.address=:8090"
- "--api.dashboard=true"
labels:
- traefik.enable=true
- traefik.http.routers.dashboard.entrypoints=dashboard
- traefik.http.routers.dashboard.service=api@internal
- traefik.http.routers.dashboard.rule=Host(`${CVAT_HOST:-localhost}`)
ports:
- 8080:8080
- 8090:8090
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- cvat
cvat_opa:
container_name: cvat_opa
image: openpolicyagent/opa:0.34.2-rootless
restart: always
networks:
cvat:
aliases:
- opa
volumes:
- ./cvat/apps/iam/rules:/rules
ports:
- '8181:8181'
command: run --server --addr :8181 --set=decision_logs.console=true /rules
volumes:
cvat_db:
cvat_data:
cvat_keys:
cvat_logs:
networks:
cvat:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment