在 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 访问您的工具。注册以创建管理员账户。
项目的后续步骤:
- 连接 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