Ubuntu 24.04에 Label Studio 배포하기

Label Studio는 텍스트, 이미지, 오디오 및 비디오 라벨링을 도와줍니다. 머신러닝 워크플로우와 팀 협업에 사용할 수 있습니다.

이 가이드는 Docker Compose와 Traefik을 사용하여 Label Studio를 배포하는 방법을 안내합니다. Traefik은 도메인에 대해 자동 HTTPS를 제공합니다.

다음 단계에 따라 설정을 진행하세요.

  1. 디렉토리 준비

프로젝트 폴더를 생성하려면 다음 명령어를 실행하세요:

$ mkdir ~/labelstudio $ cd ~/labelstudio

  1. 환경 변수 설정

.env 파일을 생성합니다:

$ nano .env

도메인과 이메일을 추가합니다:

DOMAIN=labelstudio.example.com LETSENCRYPT_EMAIL=admin@example.com

  1. Docker Compose 파일 생성

docker-compose.yaml이라는 이름의 파일을 생성합니다:

$ nano docker-compose.yaml

다음 설정을 붙여넣으세요:

services:
  traefik:
    image: traefik:v3.6
    container_name: traefik
    command:
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--entrypoints.web.http.redirections.entrypoint.to=websecure"
      - "--entrypoints.web.http.redirections.entrypoint.scheme=https"
      - "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
      - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
      - "--certificatesresolvers.letsencrypt.acme.email=${LETSENCRYPT_EMAIL}"
      - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "./letsencrypt:/letsencrypt"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
    restart: unless-stopped

  labelstudio:
    image: heartexlabs/label-studio:1.23.0
    container_name: labelstudio
    expose:
      - "8080"
    environment:
      - DJANGO_ALLOWED_HOSTS=${DOMAIN}
      - CSRF_TRUSTED_ORIGINS=https://${DOMAIN}
      - USE_X_FORWARDED_HOST=true
      - SECURE_PROXY_SSL_HEADER=HTTP_X_FORWARDED_PROTO,https
    volumes:
      - ./data:/label-studio/data
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.labelstudio.rule=Host(`${DOMAIN}`)"
      - "traefik.http.routers.labelstudio.entrypoints=websecure"
      - "traefik.http.routers.labelstudio.tls.certresolver=letsencrypt"
      - "traefik.http.services.labelstudio.loadbalancer.server.port=8080"
    restart: unless-stopped
  1. 권한 설정 및 시작

data 폴더를 생성합니다:

$ mkdir data $ sudo chown :0 data

서비스를 실행합니다:

$ docker compose up -d

  1. 설정 확인

컨테이너가 실행 중인지 확인합니다:

$ docker compose ps

https://labelstudio.example.com에서 도구에 접속하세요. 회원가입을 통해 관리자 계정을 생성할 수 있습니다.

프로젝트를 위한 다음 단계:

출처: https://dev.to/vultr/deploying-label-studio-open-source-data-labeling-platform-on-ubuntu-2404-5bd0

선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi