cvat 로컬 설치 (cvat local installation)

CVAT Installation

Installation

github: https://github.com/opencv/cvat

cvat는 cvat.ai 에서 바로 사용할 수 있지만, 무료플랜은 저장공간, 그룹, 멤버 등에 대해서 제한적입니다.

따라서 self-hosting 할 수 있는 서버가 있다면 해당 서버(local) 에 설치하여 운영하는것이 좋습니다.

cvat를 local에 설치하는 가장 쉬운 방법은 docker compose를 사용하는 것입니다.

local에 docker (docker-compose) 가 설치되어 있고, 설치를 진행하는 유저가 docker 권한이 있어야 합니다.

1. Clone CVAT sources

cvat 설치를 위해 소스코드를 github에서 clone합니다.

git clone https://github.com/opencv/cvat
cd cvat

2. Set IP address

다른 환경(서버 등) 에서 cvat에 접근하려면 ip address를 설정해주어야 합니다. 기본(localhost) 설정이면 해당 서버에서만 cvat에 접근할 수 있습니다.

예를 들어 도메인이 cvat.example.com 인 서버에서 서버를 실행한다고 하면 export CVAT_HOST=cvat.example.com 와 같이 사용합니다.

export CVAT_HOST=<your-ip-address>

3.Run docker compose

미리 작성되어있는 docker compose를 실행시킵니다.

필요한 docker image들이 다운로드 되며, cvat_db, cvat_redis, cvat_server , etc...등 docker compose 에 정의되어있는 모든 service가 오류 없이 실행되는것을 확인해야 합니다.

docker compose up -d

cvat server는 8080 port를 기본으로 사용합니다. 만약 해당 포트가 이미 사용중이거나 다른 포트를 사용해야 할 경우 docker-compose.yaml 를 수정해줍니다.

다른 포트는 건드리지 말고, traefik(load balancer) 에서만 수정하면 완료됩니다.

  traefik:
    image: traefik:v2.9
    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:
      - <PORT YOU WANT>:8080
      - 8090:8090

4.Create superuser

image-20230223132128598.png

정상적으로 cvat 서버가 실행되었을 경우 <host>:<port> 로 접속 시 cvat 페이지가 나타납니다.

해당 페이지에서 일반유저들은 Create an account 를 눌러서 계정 가입을 진행하면 되며,

superuser(admin) 은 아래의 명령어를 통해서 생성할 수 있습니다.

docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'

5. (optional) Server health check

아래의 명령어를 통해 cvat의 모든 service가 정상적으로 작동하고 있는지 간단하게 테스트 해볼수 있습니다.

docker exec -t cvat_server python manage.py health_check