Skip to main content
Label Studio · SAM · Docker · Supabase · MinIO · Cloudflare Tunnel

專案概述

上游 Label Studio ML backend 截至 2026-04 尚未提供維護中的 SAM3 生產部署整合路徑。本專案補上這個缺口:以 Docker Compose 把 Label Studio、PostgreSQL、Redis、MinIO、Nginx、Cloudflare Tunnel 打包成核心堆疊,再用可選的 GPU overlay 掛上 SAM3 與 SAM2.1 的圖片和影片推論後端。Label Studio 的資料庫後端走 Supabase standalone(v1.1.x 主線),若偏好原生 PostgreSQL 模式可切換到 v1.0.4 版本線。

核心功能

  • make up 一次帶起核心堆疊(Label Studio + PostgreSQL + Redis + MinIO + Nginx + Cloudflare Tunnel)
  • SAM3 後端:原生點嵌入(圖片 + 影片)、多種遮罩選取模式(adaptive / top1 / topk / threshold / all)、雙向影片追蹤、多物件軌跡合併、執行時 UI 覆寫閾值與模式
  • SAM2.1 後端:圖片與影片推論
  • SAM3 Agent(選用):LLM 輔助遮罩選取,支援 vLLM、Ollama、OpenAI、Gemini、Groq 等具備視覺能力的模型端點
  • 批次標註:透過 CLI 或瀏覽器 Web UI 對整個 Label Studio 專案執行 SAM3/SAM2.1 批次推論,不需開終端機
  • 分離的環境設定檔(.env / .env.ml / .env.supabase / .env.tools)避免單一過大的 env 檔
  • Cloudflare Tunnel 選用路由(Supabase Studio、RedisInsight 等管理介面)

推論後端

可選的 GPU overlay 提供三種推論後端,依任務性質挑選:

專案架構

快速開始

1

複製 repo 並準備環境設定

填入所有 <PLACEHOLDER> 欄位。LABEL_STUDIO_USER_TOKEN 長度上限 40 字元,可用 openssl rand -hex 20 產生。.env.env.supabasePOSTGRES_PASSWORD 必須一致。
2

啟動 Supabase 與核心堆疊

make init-minio 是一次性指令,初始化 MinIO bucket 與服務帳號。完成後開 http://localhost:18090 確認 Label Studio 正常運作。
3

(選用)掛上 GPU 推論後端

Legacy Token 從 Label Studio 帳號頁取得,不是 Personal Access Token。
4

確認堆疊健康

注意事項

ML 後端必須用 Legacy Token,不是 Personal Access Token。MinIO 的 Label Studio S3 存取用服務帳號金鑰(MINIO_LS_ACCESS_ID / MINIO_LS_SECRET_KEY),不用 root 憑證。首次部署後立即輪換 MinIO 服務帳號金鑰。.env 異動後須 down + up 重建容器,只 restart 不會套用新的環境變數。

實際應用面

用於精準畜牧影像資料集的標註作業,以 SAM 自動產生初始遮罩再由標註者修正,比全手動標註省時。批次標註模式可一次對整個 Label Studio 專案的圖片或影片跑推論,適合大批次資料的初步分割。

相關連結