環境、原始碼與實驗入口
先選操作方式
Section titled “先選操作方式”| 方式 | 適合誰 | 需要什麼 |
|---|---|---|
| 使用現有 5090 | 學員做查詢與驗證 | 自己電腦、自己的 Agent 帳號、講師配發的 Keycloak 帳號、獲准的 Tailscale 存取 |
| 重建整套服務 | 講師/進階學員 | 自己的 Linux 或 WSL、Docker Engine 與 Compose v2、Python 3、OpenSSL、Tailscale HTTPS |
不要在共用 5090 重新執行初始化或替換設定。 自建版需要獨立 Docker 環境;僅更改資料夾名稱不會隔離 Compose 專案、固定 subnet 與主機連接埠。
下載可檢視的原始碼
Section titled “下載可檢視的原始碼”包含 Compose、資料表與合成資料、RLS、SSO、OpenBao、MCP、驗證腳本。不包含 private、.env、真實帳密、研究書頁、瀏覽器個人資料。 來源對應目前講師沙盒;全新主機仍須依下列步驟配置自己的網域。它不是一鍵建立 50 個隔離租戶的產品。
解壓後先檢查程式碼,再在獨立環境執行:
cd textile-data-labdocker compose versionpython3 --versionopenssl versionpython3 scripts/prepare.pyprepare.py 產生隨機帳密及公開資料字典,不重用講師的密碼。將新產生的 .env 中 ORIGIN 改成自己的 Tailscale HTTPS origin,保留 :28100 與不帶結尾斜線的格式。此教材 Nginx 仍使用 28100;若換 port,需同步調整其 forwarded port。不要直接複製講師 hostname 當自己的服務。
在 scripts/configure_grafana.py 將固定 Host 改成自己的 origin authority;scripts/prepare.py 中 ORIGIN 也改成自己的值,讓產生的私人操作文件與入口一致。現有登入 realm 的 issuer 不宜事後任意更換。
python3 scripts/prepare_sso.pypython3 scripts/prepare_openbao.pydocker compose config --quietdocker compose up -d postgrespython3 scripts/bootstrap.pypython3 scripts/verify.py這裡先建立後續容器所需的秘密檔與 TLS 檔案;尚未啟動 OpenBao 或簽發憑證。第三章啟動登入相關服務,第四章才啟動與配置 OpenBao。
目前課程服務
Section titled “目前課程服務”以下連結需先連上獲准的 Tailscale 網路。手冊本身不需要 Tailscale。
| 服務 | 入口 | 用途 |
|---|---|---|
| 登入與 OpenBao 實驗 | 開啟實驗工作台 | 顯示身分、查詢與撤銷 |
| Grafana | 開啟儀表板 | 核准的跨部門摘要 |
| pgAdmin | 開啟資料表管理介面 | 講師查看資料表與 SQL |
| Keycloak | 開啟身分管理 | 講師管理 realm/client/使用者 |
| MCP | https://claude-lab.tail747e9c.ts.net:28100/textile/mcp |
Agent 協定端點,不能當一般網頁 |
帳密由講師私下配發。sales.a、sales.b、hr.a、teacher 是四個示範身分,並非全班共用帳號方案。Grafana SSO 全部是 Viewer;pgAdmin 仍有獨立講師登入。
可重現性與資源
Section titled “可重現性與資源”既有版本:PostgreSQL 18.6、Keycloak 26.7.5、OpenBao 2.7.1、Grafana 13.2.4、pgAdmin 9.18、Python MCP SDK 2.3.0。課程包附 images.env.example 的已驗證映像 digest,請合併到自己的 .env,保留自己的 ORIGIN。
Compose 設有記憶體與 CPU 上限,不用 GPU。它們共用主機與 Docker daemon,不等於 VM 隔離;尚未通過 30–50 人負載驗收。