服务器架构
Litopia 自建 Supabase 服务器 — 生产容器 + pm2 应用层、Caddy 反向代理、域名路由
服务器:sanjiaozhou(101.34.250.109),运行 Ubuntu + Docker。Supabase 容器化部署,应用层(litopia-api / 文件服务 / webhook)由 pm2 运行。2026-09-26 已从旧机 12kmroot 整体迁移。
生产容器清单
| 容器 / 载体 | 宿主机端口 | 用途 |
|---|---|---|
| litopia-db | 127.0.0.1:5433 | PostgreSQL 15 |
| litopia-auth | 127.0.0.1:9998 | GoTrue 认证 |
| litopia-rest | 127.0.0.1:3011 | PostgREST API |
| litopia-realtime | 127.0.0.1:4011 | WebSocket 实时 |
| litopia-storage-api | 127.0.0.1:5001 | Storage API |
| litopia-storage | 127.0.0.1:9006/9007 | MinIO 对象存储 |
| litopia-minio | 127.0.0.1:9100/9101 | MinIO 用户上传 |
| pm2 litopia-api | 8101 | Node.js/Express API |
| pm2 litopia-file-service | 9200 | 文件服务 |
| pm2 litopia-webhook | 127.0.0.1:9001 | 部署 webhook |
Caddy 反向代理
Caddy 是所有域名的入口网关(systemd 管理,主配置 /etc/caddy/Caddyfile,Litopia 站点片段 /etc/caddy/conf.d/litopia-sites.caddy),负责:
- 自动 Let's Encrypt HTTPS 证书(证书存储
/root/.local/share/caddy) - 路径路由——
/rest/v1/*→ PostgREST,/functions/v1/*→ pm2 litopia-api - CORS 统一处理
- HTTP/3 支持
- 访问日志写入
/var/log/caddy/
域名映射
| 域名 | 服务 |
|---|---|
| litopia.space | Litopia 主站 (React SPA) + Supabase API(/auth/v1 /rest/v1 /realtime/v1 /storage/v1) |
| api.litopia.space | 转发到 pm2 litopia-api (:8101) |
| staging.litopia.space | 预发布环境 |
| studio.litopia.space | Fabric Studio 设计工具 |
| docs.litopia.space | 文档中心 (本网站) |
| openpenpal.com | OpenPenPal 手写信平台(共享 Supabase 后端) |