【Docker项目实战】使用Docker部署ChiefOnboarding员工入职系统
一、ChiefOnboarding介绍
1.1 ChiefOnboarding简介
ChiefOnboarding是一款免费、开源的员工入职管理平台,支持通过 Slack 或网页仪表盘进行新员工入职引导,助力企业高效、人性化地完成从入职前到转正的全过程管理。
1.2 ChiefOnboarding主要特点
- 自动账户配置:自动为新员工创建用户账号并触发相关 webhook,提升入职效率。
- 入职前引导(Pre-boarding):在员工正式入职前即可发送欢迎页面,提前建立归属感。
- 待办事项管理:为新员工设置待办任务并支持在线填写表单,清晰追踪进度。
- 知识资源中心:提供可搜索的知识库和培训课程,帮助新人快速上手。
- 序列化内容推送(Sequences):按时间或任务完成情况逐步推送内容,避免信息过载。
- 成就徽章系统:通过发放徽章奖励员工完成任务,增强参与感与积极性。
- 自动引荐机制:自动将团队成员介绍给新员工,促进团队融合。
- 管理员协作任务:支持团队成员协作处理新员工入职相关事务。
- 多语言支持:支持英语、中文、荷兰语、葡萄牙语、德语、土耳其语、法语、西班牙语、日语等,满足国际化团队需求。
- 时区自定义:可为每位新员工设置独立时区,确保消息推送时间合理。
- Slack 机器人与仪表盘双模式:支持通过 Slack 机器人或网页仪表盘使用全部功能,灵活便捷。
- 高度可定制化:可自定义品牌 Logo、配色、邮件模板和机器人外观,完美匹配企业形象。
- 开源透明,保障隐私:基于 AGPLv3 开源协议,代码完全公开,支持私有化部署,确保数据安全与自由可控。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。
| hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 | 备注 |
|---|---|---|---|---|---|
| jeven | 192.168.3.88 | Ubuntu 24.04.2 LTS | 28.5.0 | ChiefOnboarding | —— |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署ChiefOnboarding员工入职系统。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Sat 2025-10-04 13:29:05 UTC; 2 days ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 888 (dockerd)
Tasks: 65
Memory: 1.2G (peak: 1.4G)
CPU: 3min 23.296s
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker compose version
Docker Compose version v2.39.4
四、拉取ChiefOnboarding镜像
下载ChiefOnboarding相关容器镜像,如下所示:
docker pull chiefonboarding/chiefonboarding:v2.3.1
docker pull postgres:15

五、部署ChiefOnboarding服务
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/chiefOnboarding/data && cd /data/chiefOnboarding/
5.2 编辑部署文件
在部署目录下,创建docker-compose.yaml文件,注意BASE_URL和ALLOWED_HOSTS环境变量替换为自己服务器的IP地址,宿主机端口可自行设置,注意防止端口冲突。
vim docker-compose.yaml
version: '3'
services:
db:
image: postgres:15
container_name: chiefonboarding-db
restart: always
volumes:
- ./data:/var/lib/postgresql/data/
environment:
- POSTGRES_DB=chiefonboarding
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
web:
image: chiefonboarding/chiefonboarding:v2.3.1
container_name: chiefonboarding-web
restart: always
ports:
- 5300:8000
environment:
#- DEBUG=True
- HTTP_INSECURE=True
- SECRET_KEY=somethingsupersecret
- BASE_URL=http://192.168.3.88:5300
- DATABASE_URL=postgres://postgres:postgres@db:5432/chiefonboarding
- ALLOWED_HOSTS=192.168.3.88
depends_on:
- db
5.3 创建ChiefOnboarding容器
执行以下命令,创建ChiefOnboarding容器。
docker compose up -d

5.4 查看ChiefOnboarding容器状态
检查ChiefOnboarding容器运行状态,确保ChiefOnboarding容器正常启动。
root@jeven:/data/chiefOnboarding# docker compose ps
WARN[0000] /data/chiefOnboarding/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
chiefonboarding-db postgres:15 "docker-entrypoint.s…" db 11 minutes ago Up 10 minutes 5432/tcp
chiefonboarding-web chiefonboarding/chiefonboarding:v2.3.1 "/usr/bin/supervisor…" web 11 minutes ago Up 10 minutes 0.0.0.0:5300->8000/tcp, [::]:5300->8000/tcp
5.5 检查ChiefOnboarding容器日志
检查容器运行日志,确保ChiefOnboarding服务正常运行。
docker compose logs

六、访问ChiefOnboarding服务
6.1访问ChiefOnboarding初始页
浏览器地址:
http://<个人的服务器IP>:5300,访问ChiefOnboarding初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

6.2 注册账号
自行填写基本账号信息,确认创建即可。

使用刚才注册的账号,重新登录即可进入到ChiefOnboarding系统。

6.3 新增员工
点击首页的新增员工选项,自行填写员工信息,确认创建。


七、总结
通过本次实践,我们成功使用Docker部署了开源的员工入职系统ChiefOnboarding,整个过程简洁高效。ChiefOnboarding凭借其自动化入职流程、多语言支持和Slack集成等特性,非常适合现代化远程团队使用。其开源和可自托管的特性保障了数据隐私,同时支持高度定制化,便于与企业现有系统集成。本次部署验证了其在容器化环境中的稳定性和易用性,为后续在企业内部推广使用奠定了良好基础。
- 点赞
- 收藏
- 关注作者
评论(0)