Reactive Resume:隐私优先的免费开源简历生成器
Reactive Resume 是一个免费、开源(MIT)的简历生成器,支持选模板、实时预览、导出 PDF/JSON/DOCX,基础使用无需账号,也可通过 Docker 自托管,默认无追踪、无广告。
社区作者 · zZz
它解决什么问题
项目概览
Reactive Resume 是一个免费、开源的简历生成器,用于创建、更新与分享简历。它的核心理念是“数据属于你自己”:不追踪、不加广告、没有隐藏成本,代码以 MIT 许可证开放,基本使用无需注册账号;如果需要更多控制权,可以把整套应用部署到自己的基础设施上。
仓库已迁移:项目现位于 GitHub 的 reactive-resume/reactive-resume。
Docker Hub 镜像地址保持 amruthpillai/reactive-resume 不变,GHCR 构建现在发布到 ghcr.io/reactive-resume/reactive-resume。已验证的镜像标签为 latest、v5、v5.3、v5.3.0(AMD64 与 ARM64)。此次改名仅重新构建并重新部署了生产环境,没有发布新的 GitHub Release,也没有提升版本号。GitHub Sponsors 与 Open Collective 的资助链接保持不变。
配图 1 为项目横幅(Reactive Resume)。
功能特性
**简历构建**
- 输入时实时预览
- 多种导出格式(PDF、JSON、DOCX)
- 拖拽调整区块顺序
- 可为任意内容类型自定义区块
- 富文本编辑器
**模板**
- 提供 15 套模板
- 支持 A4 与 Letter 页面尺寸
- 颜色、字体、间距可自定义
- 通过结构化 Style Rules 控制区块与文本样式
**隐私与控制**
- 可自托管在自己的基础设施上
- 默认不做追踪与分析
- 可随时完整导出数据
- 一键永久删除数据
**其他**
- AI 集成(OpenAI、Google Gemini、Anthropic Claude)
- 多语言支持
- 通过唯一链接分享简历
- 支持从 JSON Resume 格式导入
- 深色模式
- Passkey 与双因素认证
模板列表
Azurill、Bronzor、Chikorita、Ditto、Gengar、Glalie、Kakuna、Lapras、Leafish、Onyx、Pikachu、Rhyhorn、Ditgar、Meowth、Scizor。
来源提供的模板预览图对应关系:配图 2 Azurill、配图 3 Bronzor、配图 4 Chikorita、配图 5 Ditto、配图 6 Gengar、配图 7 Glalie、配图 8 Kakuna、配图 9 Lapras、配图 10 Leafish、配图 11 Onyx、配图 12 Pikachu。
技术栈
| 类别 | 技术 | | --- | --- | | 框架 | TanStack Start(React 19、Vite) | | 运行时 | Node.js | | 语言 | TypeScript | | 数据库 | PostgreSQL + Drizzle ORM | | API | ORPC(类型安全 RPC) | | 认证 | Better Auth | | 样式 | Tailwind CSS | | UI 组件 | Base UI + shadcn 风格组件包 | | 状态管理 | Zustand + TanStack Query |
自托管说明
Reactive Resume 可通过
Docker 自托管,技术栈包含:
- PostgreSQL——存储用户数据与简历的数据库。
- SeaweedFS(可选)——S3 兼容存储,用于文件上传。
从 v5.1.0 开始,PDF 生成完全在客户端通过 @react-pdf/renderer 完成。新部署不再需要 Browserless、Chromium 或任何外部打印服务,PRINTER_* 与 BROWSERLESS_* 环境变量不再被读取,可以从 .env 中移除。
文档与支持
完整文档位于 docs.rxresu.me,包含:Getting Started(首次设置与基本用法)、Self-Hosting(部署到自己的服务器)、Development setup(本地开发环境)、Project architecture(代码库结构与模式)、Exporting Your Resume(PDF 与 JSON 导出选项)。
参与方式包括:给仓库点 Star、提交可复现的 Bug 与可执行的特性建议、在 GitHub Discussions 中帮助其他用户、改进文档、协助翻译。维护者每周审查 status: needs triage 队列:确认的 Bug 变为 status: confirmed,特性提案变为 status: accepted,需要补充信息的报告变为 status: needs info。
许可证
MIT——可以自由使用。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
准备环境:安装 Docker 与 Docker Compose。本地快速体验无需注册账号,也无需额外打印服务;如需源码开发,请参考官方 Development setup 指南。
方式一
Docker Compose 本地快速启动(官方 Quick Start)- 克隆仓库:
git clone --depth=1 https://github.com/reactive-resume/reactive-resume.git reactive-resume- 进入目录:
cd reactive-resume- 启动所有服务:
docker compose up -dopen http://localhost:3000
- 打开应用:
方式二:直接拉取官方镜像
Docker Hub
docker pull amruthpillai/reactive-resume:latestGitHub Container Registry
docker pull ghcr.io/reactive-resume/reactive-resume:latest已验证镜像标签:latest、v5、v5.3、v5.3.0,支持 AMD64 与 ARM64。
自托管组件与环境变量
- PostgreSQL:存储用户数据与简历(必需)。
- SeaweedFS(可选):S3 兼容存储,用于文件上传。
- 从 v5.1.0 起,PDF 生成完全在客户端通过 @react-pdf/renderer 完成:新部署不再需要 Browserless、Chromium 或任何外部打印服务;PRINTER_* 与 BROWSERLESS_* 环境变量不再被读取,可从 .env 中移除。
首次运行
- 启动容器后访问 http://localhost:3000 即可使用;完整的环境配置与自托管步骤见 https://docs.rxresu.me (Getting Started / Self-Hosting / Development setup / Project architecture / Exporting Your Resume)。
- 若只想快速使用在线版:选择模板、填写信息、导出 PDF,基础使用不需要账号。
常见问题
- 本地 3000 端口无法访问:确认 docker compose 的各服务已正常启动,并检查端口是否被占用。
- .env 中仍保留 PRINTER_*/BROWSERLESS_* 变量:自 v5.1.0 起这些变量已不再被读取,可以直接删除。
镜像地址混淆:
Docker Hub 仍为 amruthpillai/reactive-resume,GHCR 现为 ghcr.io/reactive-resume/reactive-resume,仓库已迁移到 reactive-resume/reactive-resume。
- 需要文件上传:可选用 SeaweedFS 作为 S3 兼容存储。