# ChPocketBase **Repository Path**: dragonlhp/ChPocketBase ## Basic Information - **Project Name**: ChPocketBase - **Description**: PocketBase Pockethost Platform - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-03 - **Last Updated**: 2026-10-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PocketBase + PocketHost 平台仓库 本仓库是一个面向 PocketBase 与 [PocketHost](https://pockethost.io) 的平台仓库:沉淀开发规范、下载脚本与部署工作流,并在 `apps/` 下承载具体的 PocketBase 应用(当前为 `apps/hr` 人事简历管理系统)。 ## 仓库目标与范围 - **平台仓库**:统一提供 PocketBase 二进制下载、开发指引(skill)、部署工作流与项目/开发规范文档。 - **应用承载**:`apps/*` 为相互独立的 PocketBase 项目,各自拥有 `pb_public` / `pb_hooks` / `pb_migrations` 等 PocketBase 标准布局。 - **部署目标**:以 PocketHost 作为线上托管平台,通过 GitHub Actions 自动部署。 ## 当前状态 - ✅ `apps/hr` 已可用:人事简历管理系统的独立 PocketBase 项目,含 5 个 JS 迁移与零构建前端。 - ⏳ `packages/*`(`pocketbase-pockethost` CLI)**规划中,尚未提供**:根 `package.json` 已声明 `workspaces: ["packages/*"]`,但 `packages/` 目录当前并不存在,也没有可用的 CLI 命令。部署工作流在该 CLI 缺席时会自动退化为等价的 SFTP 部署。 ## 目录结构 ```text . ├── apps/ │ └── hr/ # 人事简历管理系统的独立 PocketBase 项目 │ ├── .pb_version # 本项目锁定的 PocketBase 版本(0.40.4) │ ├── .pb_config.json # 项目配置 │ ├── README.md # 项目自身说明(本地启动 / 部署) │ ├── pb_migrations/ # 5 个 PocketBase JS 迁移 │ ├── pb_public/ # 零构建前端(含 vendor 版 SDK) │ │ ├── index.html │ │ └── assets/ │ │ ├── app.js │ │ ├── site.css │ │ └── vendor/pocketbase.es.mjs │ └── pb_hooks/ # 钩子目录(暂为空,含 .gitkeep) ├── scripts/ │ ├── download-pocketbase.sh # 下载 PocketBase 二进制(macOS/Linux,支持 --all) │ ├── download-pocketbase.bat # 下载 PocketBase 二进制(Windows) │ └── refresh-mcp-token.sh # 刷新 MCP 配置里的 PocketBase 管理员 token ├── skills/ │ └── pocketbase-pockethost/ # PocketBase/PocketHost 开发指引 │ ├── SKILL.md │ ├── references/ # 参考资料 │ ├── assets/ # 模板资源 │ └── scripts/download_pocketbase.py ├── .trae/ │ ├── skills/ │ │ └── pocketbase-pockethost/ # 与 skills/ 下同一份 skill 副本,供 IDE 内使用 │ └── specs/ # 规格文档 │ ├── add-pocketbase-download-scripts/ │ ├── add-hr-resume-management/ │ └── rewrite-readme-and-add-docs/ ├── .github/ │ └── workflows/deploy.yml # PocketHost 部署工作流 ├── docs/ # 项目与开发规范 │ ├── project.md │ └── dev.md ├── bin/ # 由下载脚本生成的 PocketBase 多平台二进制 │ # (本地生成,已被 .gitignore 忽略,不在版本库中) ├── package.json # 声明 workspaces: ["packages/*"](packages/ 规划中) └── package-lock.json ``` > `bin/` 目录在首次运行下载脚本后才会出现,属于本地生成产物,**不进入版本库**。 ## 快速开始 以下命令以 macOS(本机为 darwin/amd64)为例,其他平台可换用 `bin/` 下对应二进制。 ### 1. 下载 PocketBase 二进制 ```bash # 单平台:自动识别当前系统与架构,输出 bin/pocketbase bash scripts/download-pocketbase.sh # 全平台:一次性下载 linux/darwin/windows × amd64/arm64 共 6 个, # 平铺输出到 bin/pocketbase__(Windows 带 .exe) bash scripts/download-pocketbase.sh --all ``` Windows 用户可改用 `scripts/download-pocketbase.bat`。 ### 2. 创建开发用管理员并启动服务 ```bash ./bin/pocketbase_darwin_amd64 superuser upsert admin@example.com 'Passw0rd!123' --dir apps/hr/pb_data ./bin/pocketbase_darwin_amd64 serve --dev --http=127.0.0.1:8090 \ --dir apps/hr/pb_data --publicDir apps/hr/pb_public \ --hooksDir apps/hr/pb_hooks --migrationsDir apps/hr/pb_migrations ``` > `--publicDir` 必须显式指定,否则访问 `/` 会返回 404。 ### 3. 访问入口 | 入口 | 地址 | | --- | --- | | 前端 | http://127.0.0.1:8090/ | | API | http://127.0.0.1:8090/api/ | | Admin 面板 | http://127.0.0.1:8090/_/ | ### 4. 开发用账号 以下均为**弱口令,仅供本地开发使用,禁止用于生产环境**: | 用途 | 邮箱 | 密码 | | --- | --- | --- | | HR 前端 | `hr@example.com` | `Passw0rd!123` | | Admin 面板 | `admin@example.com` | `Passw0rd!123` | ## 人事系统能力简述(apps/hr) `apps/hr` 是人事简历管理系统,当前提供: - **简历录入**:上传并保存原始简历。 - **候选人列表**:支持搜索、按状态筛选、按职位筛选,并可切换显示已归档候选人。 - **候选人详情**:查看简历历史,支持预览与下载。 - **状态流转**:推进候选人状态。 - **标记归档**:将候选人归档。 - **原始简历不可变留存**:上传的原始简历只增不改,长期留存。 详见 [apps/hr/README.md](apps/hr/README.md)。 ## 部署(PocketHost) 线上部署由 `.github/workflows/deploy.yml` 自动完成,通过 SFTP(`ftp.pockethost.io:2222`)把 `apps/hr` 的代码同步到 PocketHost。 ### 分支与环境映射 | 分支 | GitHub Environment | | --- | --- | | `staging` | `staging` | | `main` / `master` | `production` | 推送上述分支会自动触发部署,也可在 GitHub Actions 页面通过 `workflow_dispatch` 手动触发。 ### 部署范围 仅上传 `pb_public`、`pb_hooks`、`pb_migrations` 三个目录,**不包含 `pb_data`**。线上数据独立存在,请勿用本地数据覆盖线上。 ### 凭据 所有凭据一律通过 GitHub Environment 的 secret/variable 注入,**绝不写入仓库**。请在 `staging` 与 `production` 两个 Environment 中分别配置(仓库 Settings → Environments),完整清单见 [apps/hr/README.md](apps/hr/README.md)。 ## 文档 - 项目规范:[docs/project.md](docs/project.md) - 开发规范:[docs/dev.md](docs/dev.md) - 人事系统说明:[apps/hr/README.md](apps/hr/README.md) ## 安全提示 - 上文列出的账号与口令为**开发用弱口令,严禁用于生产环境**。 - 任何凭据(SFTP 私钥、账号邮箱、租户 ID、管理员 token 等)**都不得提交到仓库**,一律通过 GitHub Environment secret/variable 或本地环境变量注入。 - `.trae/mcp.json`(含明文 token)已被 `.gitignore` 忽略,请勿强制加入版本库。 - `bin/`、`pb_data/` 等本地产物均不进入版本库。