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