NAS部署OrangeHRM开源人力资源管理系统:Docker容器化实现员工管理与考勤统计
本文最后更新于 2025-05-26,文章内容可能已经过时。

OrangeHRM 是一款功能强大的开源人力资源管理系统(HRM),支持员工信息管理、考勤追踪、休假审批等核心功能,适用于初创企业、中小型公司及大型组织,且提供多语言支持(包括中文)。
通过 NAS(网络附加存储) 结合 Docker 部署 OrangeHRM,不仅能实现资源的高效利用,还能保障数据安全与服务的稳定性,尤其适合需要私有化部署的企业用户。
通过本教程,用户可快速搭建私有化的人力资源管理平台,兼顾安全性与灵活性。无论是技术新手还是企业IT人员,均可借助 Docker 的标准化流程,轻松实现高效运维。立即行动,解锁企业管理的智能化升级!
OrangeHRM介绍
OrangeHRM Starter 是一款免费的开源 HR 软件,提供大量功能丰富的模块,以满足您的业务需求。


部署教程
演示环境
黑群晖NAS DS918+ DSM7.2.1
飞牛NAS fnOS-0.8.36
CPU:i5-4570
内存:4GB DDR3*2
硬盘:500GB SATA固态硬盘
部署版本:OrangeHRM 5.7
(4.*与5.*版本不同,升级需要迁移数据,官方不知道什么原因删掉了官网的5.*版本部署文档。)
先决条件
要安装 OrangeHRM,请确保它满足先决条件,先决条件是:
Apache HTTP Server 2.2 或更高版本
PHP 7.4 或更高版本
MySQL 5.5 或更高版本/ MariaDB 5.5 或更高版本
数据库配置
如果自己有能力的可以独立部署数据库,非高级玩家请按教程操作。
以下取自官方说明👇
注意:特权数据库用户和 OrangeHRM 数据库用户
可以为 Database Server 用户分配不同的权限。要让 Web 安装程序创建 OrangeHRM 数据库,您需要在特权数据库用户/密码字段下为数据库用户帐户提供具有 CREATE、ALTER、DROP、INSERT 权限的数据库用户帐户详细信息(用户名/密码)。
由于 OrangeHRM 只需要 INSERT、UPDATE、SELECT 和 DELETE 权限即可与数据库交互,因此 Web 安装程序可以为 OrangeHRM 创建一个单独的数据库用户帐户。始终建议您为 OrangeHRM 创建一个单独的用户帐户。为此,请根据需要填写 OrangeHRM 用户详细信息(用户名/密码),Web 安装程序将为您创建帐户。
由于 OrangeHRM 使用的数据库用户帐户详细信息以纯文本形式存储,因此让 OrangeHRM 使用特权用户帐户将构成安全威胁。
Docker Compose方式部署
演示以在群晖NAS系统上安装为例
(其他系统请自行安装好最新版本Docker、docker compose)打开群晖的
SSH功能,使用终端软件进行连接,并切换到root状态下。
进入群晖的docker文件夹(你想将容器数据存储到哪就进哪个文件夹)
# 将/volume1/docker换成你自己的文件夹路径 cd /volume1/docker创建项目文件夹及子文件夹
mkdir -p OrangeHRM/{orangehrm-data,mysql-data}进入项目文件夹
cd OrangeHRM编辑docker-compose.yml模板文件
vi docker-compose.yml按字母
i键进入编辑模式,复制并修改下面的配置文件,粘贴到终端,按Esc键退出编辑模式,输入:wq保存并退出。version: '3.8' services: # OrangeHRM 服务 orangehrm: image: orangehrm/orangehrm:latest container_name: orangehrm ports: - "8000:80" # 映射本地端口8000到容器内的80端口(HTTP),左侧的8000端口可自行修改。 - "8443:443" # 映射本地端口8443到容器内的443端口(HTTPS),左侧的8443端口可自行修改。 environment: - ORANGEHRM_DATABASE_HOST=mysql # 指定 OrangeHRM 数据库的主机为 mysql(容器名,自动解析) - ORANGEHRM_DATABASE_USER=orangehrm # 指定 OrangeHRM 数据库的用户名 - ORANGEHRM_DATABASE_PASSWORD=Password01 # 指定 OrangeHRM 数据库的密码(与下面的 MySQL 容器中的密码一致) - ORANGEHRM_DATABASE_NAME=orangehrm # 指定 OrangeHRM 数据库的名称 volumes: - ./orangehrm-data:/orangehrm # 持久化存储OrangeHRM数据文件到本地 orangehrm-data 文件夹,避免数据丢失。 depends_on: - mysql # 声明 orangehrm 服务依赖于 mysql 服务,等待MySQL数据库启动后才启动orangehrm。 networks: - orangehrm_network restart: always # MySQL 服务 mysql: image: mysql:8.0 container_name: orangehrm-mysql ports: - "3366:3306" # 映射本地端口3366到容器内的3306端口(避免与其他运行的数据库端口冲突,外部连接端口改成了3366,你也可以自行修改。) environment: - MYSQL_ROOT_PASSWORD=Password01 # 设置 MySQL 的根用户 root 的密码 - MYSQL_DATABASE=orangehrm # 创建一个数据库,名称为 orangehrm - MYSQL_USER=orangehrm # 设置 MySQL 的用户名为 orangehrm(为 OrangeHRM 创建一个单独的用户帐户) - MYSQL_PASSWORD=Password01 # 设置 MySQL 用户的密码为 Password01(为 OrangeHRM 创建一个单独的用户帐户的密码) volumes: - ./mysql-data:/var/lib/mysql # 持久化存储数据库文件到本地 mysql-data 文件夹,避免数据丢失。 networks: - orangehrm_network restart: always command: --skip-host-cache --skip-name-resolve # MySQL 会允许来自所有主机的连接,并且跳过 DNS 解析,避免主机名解析而无法连接的问题。 networks: orangehrm_network: driver: bridge # 使用默认的桥接网络,确保两个容器能够互相通信查看当前项目文件的路径
pwd授权该项目文件夹内的读写权限(部分NAS系统需要【如群晖】,否则容器无读写权限访问运行,按需执行。)
# 把/volume1/docker/OrangeHRM换成你自己的项目文件夹路径 chmod -R 777 /volume1/docker/OrangeHRM/执行命令,启动docker-compose模板文件,拉取镜像并创建容器。
docker-compose up -d 或 docker compose up -d查看正在运行的项目容器实时日志,按
Ctrl+C中断查看。docker-compose logs -f 或 docker compose logs -f
初始化设置OrangeHRM
打开浏览器,以NAS的IP+设置的端口进行访问。
以本机为例:http://172.16.19.200:8000
这里我们是全新安装,所以选择全新安装,然后点击下一步。
(默认全英文页面,自行打开浏览器翻译。)
点击接受许可,然后下一步。

数据库配置选择:现有数据库
数据库主机名:运行数据库的设备IP地址(NAS上安装的就写NAS的IP地址)
数据库主机端口:设置哪个就写哪个,我们设置的是3366,避免与其他数据库端口冲突。(默认为3306)
数据库名称:orangehrm(创建项目时创建的)
OrangeHRM 数据库用户名:orangehrm(创建项目时创建的)
OrangeHRM 数据库用户密码:Password01(创建项目时创建的)
然后点击下一步
确保所有的都显示为绿色正常状态,然后点击下一步。

如果所有响应都为绿色,则表示您已经安装了所需版本的先决条件,并将它们设置为一起运行,则可以放心地继续下一步。请参阅下文,了解所有可能的颜色代码。
绿:满足建议的先决条件
琥珀:满足最低推荐要求。这不会阻止您继续进行下一步
红:不满足安装的最低要求。除非您手动更正它们,否则安装程序不会让您前进。更正它们后,单击 Re-Check 再次运行系统检查以查看其更新的状态
设置组织信息后点击下一步

设置一个管理员账户,注意
只填写必填项目即可,协议可取消勾选。
然后点击下一步
确认信息后点击安装

耐心等待安装完成,进度到99%的时候会停顿,等待5-10分钟后即可。
测试在飞牛NAS上的速度比群晖NAS快一点,具体取决于你的设备性能。
安装完成点击下一步

点击启动

输入你设置的账户后进行登录

初始设置的账户密码较弱,被提示设置一个复杂的密码。
设置完之后点击保存
设置完之后重新登录即可

如果要设置语言,可以在管理员--本地化--语言,进行选择,然后保存。

剩下的就可以自己使用了,不再赘述。
相关地址
OrangeHRM官网:https://starterhelp.orangehrm.com/hc/en-us
OrangeHRM官方体验地址:https://opensource-demo.orangehrmlive.com/
OrangeHRM GitHub地址:https://github.com/orangehrm/orangehrm
OrangeHRM GitHub项目安装指南:https://github.com/orangehrm/orangehrm/wiki/Installation-Guide-(Web)
OrangeHRM Starter 安装指南:https://starterhelp.orangehrm.com/hc/en-us/articles/5295915003666-OrangeHRM-Starter-Installation-Guide
OrangeHRM官方Docker镜像发布地址:https://hubgw.docker.com/r/orangehrm/orangehrm
网络教程参考地址:https://www.richarvin.com/docker-yi-jian-bu-shu-orangehrm/
文末

👇👇👇
- 感谢你赐予我前进的力量

