跳到主内容
Self-hosted · 81/81 记录为 live

自部署服务

把图鉴里那些「能自己跑起来」的资源,真的部署成可访问的服务:知识库与静态站点放在 Cloudflare 边缘, 上游仓库镜像交给 GitHub Pages, 其余经 cloudflared 隧道 从本机 Docker 暴露成 HTTPS 域名。Cloudflare 与 Docker 服务在 sgyyyds.qzz.io 之下,GitHub Pages 镜像在各自的 tanlysgy.github.io/仓库名/ 路径下,更新于 2026-10-24。

Cloudflare 无服务器16

跑在 Cloudflare 边缘(Workers / Pages / KV),不占本机资源,全局加速。

GitHub Pages 静态镜像34

上游仓库内容由 GitHub Actions 构建并以 GitHub Pages 托管,upstream 更新通过定时任务自动同步。

本机 Docker + Cloudflare Tunnel31

容器跑在本机,通过 cloudflared 隧道以 HTTPS 域名对外,全部避开已占用端口。

运维说明

  • · Docker 编排文件与隧道配置存放在本机 ~/workspace/selfhost,全部 restart: unless-stopped。
  • · 隧道由用户级 systemd 服务 foss-labs-tunnel.service 常驻,开机自启;新增域名用 cloudflared tunnel route dns 注册。
  • · Cloudflare 侧的静态站与知识库镜像用 wrangler 部署到 Workers/Pages,自定义域直接绑在同一个 zone 上。
  • · 本页数据源 src/data/deployed.json;改完推送到 main,GitHub Pages 与 Cloudflare Pages 会各自自动重新发布。
  • · 每条的状态 chip 来自发布时跑的只读探测(npm run probe -- --out dist/probe.json),它说的是上一次发布那一刻从公网看到的结果,不是实时监控;530/1033 指隧道没接上云,502 指云接上了但源站没应答。
  • · GitHub Pages 的 34 个镜像仓库各自带自己的 Atlas · … workflow 和 schedule,不存在集中的调度仓库:Atlas · sync upstream 每天 03:23 UTC 拉上游,Atlas · sync mirror 每天 04:17 UTC 重建镜像内容,Atlas · docs site 每周一 04:37 UTC 重建文档站。
  • · 网页终端 term 走 HTTP Basic 密码保护;如需更强鉴权可挂 Cloudflare Access。
  • · 边缘小工具 short / paste 是同一个 Worker(atlas-edge-kit)的两个自定义域,数据存 Cloudflare KV。
  • · vault / book / sgyyyds / hub / chat 五项由另一条隧道 cloudflared.service(/etc/cloudflared/config.yml)承载,与 foss-labs 相互独立,改动互不影响。
  • · 端口统一避开本机已占用的 3000/3001/3002/8222/9090 等,新增服务前先查占用。