Ubuntu 24.04에 Label Studio 배포하기
Label Studio는 텍스트, 이미지, 오디오 및 비디오 라벨링을 도와줍니다. 머신러닝 워크플로우와 팀 협업에 사용할 수 있습니다.
이 가이드는 Docker Compose와 Traefik을 사용하여 Label Studio를 배포하는 방법을 안내합니다. Traefik은 도메인에 대해 자동 HTTPS를 제공합니다.
다음 단계에 따라 설정을 진행하세요.
- 디렉토리 준비
프로젝트 폴더를 생성하려면 다음 명령어를 실행하세요:
$ mkdir ~/labelstudio $ cd ~/labelstudio
- 환경 변수 설정
.env 파일을 생성합니다:
$ nano .env
도메인과 이메일을 추가합니다:
DOMAIN=labelstudio.example.com LETSENCRYPT_EMAIL=admin@example.com
- 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
- 권한 설정 및 시작
data 폴더를 생성합니다:
$ mkdir data $ sudo chown :0 data
서비스를 실행합니다:
$ docker compose up -d
- 설정 확인
컨테이너가 실행 중인지 확인합니다:
$ docker compose ps
https://labelstudio.example.com에서 도구에 접속하세요. 회원가입을 통해 관리자 계정을 생성할 수 있습니다.
프로젝트를 위한 다음 단계:
- 액티브 러닝(active learning)을 위해 PyTorch와 같은 ML 백엔드를 연결합니다.
- 특정 역할을 가진 팀원을 초대합니다.
- 데이터를 JSON, CSV 또는 YOLO와 같은 형식으로 내보냅니다.
출처: https://dev.to/vultr/deploying-label-studio-open-source-data-labeling-platform-on-ubuntu-2404-5bd0
선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi