手把手教程:使用Docker部署开源人力资源管理软件Frappe HR
对于有一定规模的公司而言,其人事管理系统通常是付费定制开发的。然而,对于预算有限的小型团队或初创企业来说,这笔费用可能是一个不小的负担。
本文将为大家详细介绍一款功能全面、支持高度定制且拥有活跃社区的开源HR与薪资系统——Frappe HR。它支持通过Docker进行快速的一键式部署,并且提供了适配的移动端应用程序。
如果你的小团队正在寻找一款合适的人事管理软件,或者希望体验一下搭建企业级人事系统的过程,那么不妨尝试一下这款开源解决方案。
Frappe HR 概述
Frappe HR 提供了企业内部实现高效人力资源管理所需的全套功能。它是一个完整的HRMS(人力资源管理系统)解决方案,包含了超过13个不同的功能模块,覆盖了从员工信息管理、入职流程、休假申请,到薪资计算、税务处理等各个方面。
这个项目的诞生源于Frappe公司自身的发展需求。随着团队规模的扩大,他们也需要一套开源、可定制的HR与薪资系统,于是便自主开发了这套方案。随着各个模块的日益成熟,在ERPNext v14版本发布时,团队决定将其独立出来,形成一个全新的产品,也就是如今的Frappe HR。
核心功能亮点
- 员工全生命周期管理:全面支持员工的入职、晋升、调岗、离职以及离职面谈等完整人力资源流程。
- 考勤与休假管理:支持多种请假类型与政策,可一键导入地区性公共假期,结合地理位置打卡,并提供清晰的假期余额报表。
- 费用报销与预支:涵盖员工费用报销、预支借款申请与审批流程,并可与ERPNext的财务会计模块无缝集成。
- 绩效管理体系:支持设定工作目标、关键成果领域(KRA)、员工自评以及管理完整的绩效考核周期。
- 薪资与税务处理:可灵活配置薪资结构、设置税率规则,处理标准薪资、加薪、异动支付,薪资单可详细展示收入构成。
- 移动端全面支持:通过官方移动App,员工可以随时随地申请或审批休假、进行打卡操作,并查看个人档案信息。
- 灵活的配置与定制:提供低代码甚至无代码的定制能力,允许用户自定义数据表单、字段、审批工作流、报表样式和页面布局。
- 强大的集成与扩展:能够与ERPNext系统无缝整合;同时提供REST API和Webhook,便于连接第三方软件或生物识别考勤设备。
- 广泛的企业规模适应性:无论小型企业还是大型集团,都可以根据实际需求启用相应模块或进行功能扩展。
详细部署流程
本文将以在威联通(QNAP)NAS上的部署为例,演示具体的操作步骤。
首先,通过SSH工具连接到您的NAS设备。在命令行中,切换到Docker常用的工作目录,并下载所需的项目文件。
cd /share/Container
git clone https://github.com/frappe/hrms
# 注:如果无法执行git命令,可先安装Git工具,或直接访问项目页面手动下载压缩包,然后上传至NAS。

我们建议通过NAS的网页管理界面来修改YAML配置文件,这样更为直观。当然,您也可以使用vim等命令行编辑器直接操作。

# 接续上面的命令,进入docker配置目录
cd hrms/docker
vim docker-compose.yml
若仅为测试体验,通常只需修改服务对外的映射端口即可。主要更改第一个服务端口(例如下文改为9090),保存修改。
准备就绪后,在SSH命令行中输入以下命令启动服务:
docker compose up -d
# 如果上述命令无效,可以尝试使用:docker-compose up -d
等待Docker容器拉取镜像并部署完成即可。

初始使用介绍
完成上述部署后,在浏览器地址栏输入您的NAS_IP:9090即可访问Frappe HR服务。首次访问将看到如下初始化界面。

使用默认的超级管理员账户登录:
用户名: Administrator
密码: admin
软件的国际化适配做得相当完善,初始设置时即可选择首选语言、国家、时区和默认货币。

接下来,根据向导设置您的公司信息。

等待系统初始化完成。此过程通常非常迅速,完成后便会直接进入软件的主仪表盘界面。

左侧导航栏列出了所有可用的核心人力资源管理功能模块。

系统支持细粒度的权限配置。后台能够完整记录所有用户操作日志,并且支持生成标准的企业角色权限配置文件,方便进行批量管理。

总结
Frappe HR 作为一款开源且完全免费的软件,功能全面,特别适合小型企业、创业团队或需要低成本试点的组织使用。其基于Docker的部署方式大大降低了技术门槛,使得非专业运维人员也能轻松搭建起一套专业级的人力资源管理系统。