LabelStudio本地Docker部署

607 阅读2分钟

0. 总览

本方案介绍了如何在 Windows/Linux 环境下通过 Docker 部署 Label Studio 标注平台,并结合 SakuraFRP 实现内网穿透,使团队成员可通过外网访问并协同进行数据标注。

实施流程如下:

  • 利用 SakuraFRP 创建隧道并绑定自定义子域名,解决公网访问问题;
  • 使用 Docker Desktop 快速拉起 Label Studio 服务,挂载本地数据目录;
  • 配置 Label Studio 启动参数,包括端口映射、本地文件访问、用户认证与跨域配置;
  • 导入本地数据集至平台,通过项目管理界面配置“云存储”并实现数据同步;
  • 最终实现多人在线访问标注项目,界面加载正常,数据管理便捷高效。

通过此方案,团队无需购买公网服务器,即可高效构建一套可远程访问的数据标注系统,适用于图像、文本等多种标注需求。内网穿透服务10元/月。

操作步骤

  1. SakuraFRP作为内网穿透并绑定子域名
  2. windows Docker Desktop启动LabelStudio服务
  3. 外网提供多账号给团队使用,共同进行标注工作

1. SakuraFRP配置

1.1 创建隧道

image.png

1.2 创建域名绑定

image.png

2. Docker命令

docker run -itd \
将容器内默认的8080服务映射到本机的8181
-p 8181:8080 \    
将磁盘D:/code/labelstudio/data 和 files 挂载到容器内
-v //d/code/labelstudio/data:/label-studio/data  
-v //d/code/labelstudio/files:/label-studio/files
--env LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/label-studio/files
--env LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true
初始账号密码
--env LABEL_STUDIO_USERNAME=管理员邮箱
--env LABEL_STUDIO_PASSWORD=你的密码
这三个属于映射服务到你的域名或ip:port,如果不填会导致页面css等资源无法加载或者面临跨域问题
--env LABEL_STUDIO_HOST=https://school.rock6rock.nyat.app:12545
--env HOST=https://school.rock6rock.nyat.app:12545
--env CSRF_TRUSTED_ORIGINS=https://school.rock6rock.nyat.app:12545
--name label  
heartexlabs/label-studio:latest
docker run -itd -p 8181:8080 -v //d/code/labelstudio/data:/label-studio/data -v //d/code/labelstudio/files:/label-studio/files --env LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/label-studio/files --env LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true --env LABEL_STUDIO_USERNAME=管理员邮箱email.com --env LABEL_STUDIO_PASSWORD=你的密码 --env LABEL_STUDIO_HOST=https://school.rock6rock.nyat.app:12545 --env HOST=https://school.rock6rock.nyat.app:12545 --env CSRF_TRUSTED_ORIGINS=https://school.rock6rock.nyat.app:12545  --name label  heartexlabs/label-studio:latest

访问网站https://school.rock6rock.nyat.app:12545

3. 导入数据

参考官方文档 labelstud.io/guide/stora… 这里使用了本地数据集 直接将数据集目录移动到D:/code/labelstudio/files目录下 打开网站,创建项目,在项目设置下找到"云存储"进行配置并同步

4. 最终效果

image.png