# PocketBase Helm Chart 设计文档 ## 概述 使用 Helm Chart 管理多个 PocketBase 实例,每个实例对应独立的域名。 使用k3s集群部署,Traefik作为Ingress控制器,SQLite作为本地存储。 ## 需求 - 批量部署多个 PocketBase Pod - 每个实例绑定独立域名:`{id}.pb.xiongxiao.me` - 使用 Traefik 作为反向代理和入口控制器 - 通过 Helm 实现统一配置管理 - 使用 SQLite 本地存储(默认) ## 架构 ``` Traefik Ingress │ ▼ ┌─────────────────────────────────────┐ │ Helm Release (values.id) │ │ ├── pocketbase-{id} Service │ │ │ │ │ │ │ ▼ │ │ │ pocketbase-{id} Pod │ │ │ │ │ │ └─────────┼──→ {id}.pb.xiongxiao.me │ ▼ SQLite (本地存储) ``` ## 配置方式 通过 `values.yaml` 配置实例列表: ```yaml instances: - id: "app1" domain: "app1.pb.xiongxiao.me" replicaCount: 1 - id: "app2" domain: "app2.pb.xiongxiao.me" replicaCount: 1 ``` ## 部署命令 ```bash helm install pocketbase ./pocketbase -f values.yaml ```