This commit is contained in:
2026-01-14 12:37:31 +08:00
commit 01d1a49a59
22 changed files with 1037 additions and 0 deletions

54
PRD.md Normal file
View File

@@ -0,0 +1,54 @@
# 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
```