前言
在当今数字化时代,越来越多的中小企业开始意识到企业资源管理系统(ERP)对于提升运营效率、规范管理流程的重要性。相比昂贵的商业 ERP 软件,开源 ERP 系统如 ERPNext 以其灵活性、可定制性和零授权费用,成为众多企业数字化转型的优选方案。
本教程将以 飞牛云 NAS 或 VPS 为基础平台,结合 Docker 技术,手把手带你搭建一套功能完整的 ERPNext 系统。无论你是初次接触 ERP 系统,还是希望构建一套属于自己的企业级管理平台,本文都将提供简洁实用的搭建方法,助你快速上手,打造专属的业务管理系统。
界面
以下是与该项目相关的一些图片:
基本界面
功能展示




中文页面
核心功能 🌟
100% 开源 ERP 系统帮助您运营业务。
主要特点
-
会计
您需要在一个地方管理现金流的所有工具,从记录交易到汇总和分析财务报告。 -
订单管理
跟踪库存水平、补充库存,以及管理销售订单、客户、供应商、发货、交付物和订单履行。 -
制造业
简化生产周期,帮助跟踪材料消耗,展示产能规划,处理分包等等! -
资产管理
从采购到报废,从 IT 基础设施到设备,覆盖您组织的每个分支机构,所有信息都集中在一个集中式系统中。 -
项目管理
按时、按预算、按效益交付内部和外部项目。按项目跟踪任务、工时表和问题。
demo
官网
部署方法
由于官方版本为英文版,我们选用网友 lvxj11 打包的 All in one docker镜像版本进行部署。
📦 本镜像与官方镜像的区别
- All in one:已内置 MySQL 数据库和 Redis,一个镜像即可满足 ERPNext 的运行需求。
- 预装站点:镜像中已创建站点并安装 ERPNext 应用,部署后可直接访问,无需额外初始化或拉取应用。
- 中文优化:集成了中文汉化包及开箱即用插件,优化了界面翻译问题
- 汉化项目地址:https://gitee.com/yuzelin/erpnext_chinese
- 作者:余则霖
- 国内加速源:已将
apt
、pip
、npm
、yarn
等软件包管理工具的源替换为国内镜像源,提高安装速度。 - ✅ 开箱即用,开箱即用,开箱即用!
🔗 镜像地址
https://hub.docker.com/r/lvxj11/erpnext
其它说明
-
默认登录账号:
administrator
-
默认登录密码:
admin
-
已内置 MySQL 数据库,数据库
root
密码为:Pass1234
如需修改以上参数,请自行手动修改。
-
所有 ERPNext 文件及中文本地化插件已预先拉取并安装,运行容器后无需任何额外设置,可直接访问系统。
-
⚠️ 使用建议:
- 推荐用于测试、演示、或临时部署
- 如用于生产环境,请自行充分测试后部署
-
构建文件地址:https://github.com/lvxj11/docker/tree/master/erpnext15
📁 数据说明(持久化存储)
/var/lib/mysql
:容器内 MySQL 数据库的数据存储目录/home/frappe/frappe-bench/sites
:Frappe 的站点数据目录
这两个目录建议挂载到主机数据卷,以实现数据持久化。
🔄 升级建议
完成数据持久化配置后,如需升级:
- 删除原有容器及镜像
- 重新拉取新镜像并启动
理论上不需要手动恢复数据,原有数据会保留在数据卷中。
使用Docker安装
本教程就是使用docker-compose的方式安装部署
准备条件
1)一台服务器或者NAS
我们使用飞牛云NAS和VPS来演示
需要vps的可以看以下信息
莱卡云官网
2)本项目使用到的github
https://github.com/frappe/erpnext?tab=readme-ov-file
目前已经25.5k个 stars
更多功能可以访问GitHub
3)域名(可选)
域名可以根据自己的需求绑定
①《飞牛NAS上搭建》
直接在docker新增一个compose项目即可
新建项目:
erpnext
compose配置如下:
services:
erpnext: # 定义 ERPNext 服务
image: lvxj11/erpnext:latest # 使用镜像 lvxj11/erpnext 的 latest 标签
container_name: ERPNext # 设置容器名称为 ERPNext
ports:
- "22380:80" # 映射主机的 22380 端口到容器的 80 端口可以自定义
volumes:
- ERPNext_db:/var/lib/mysql # 将名为 ERPNext_db 的数据卷挂载到容器的 /var/lib/mysql,用于存储数据库数据
- ERPNext_sites:/home/frappe/frappe-bench/sites # 将名为 ERPNext_sites 的数据卷挂载到 ERPNext 站点目录
restart: unless-stopped # 在容器退出时自动重启,除非手动停止
tty: true # 分配伪终端,保持容器运行
stdin_open: true # 保持标准输入打开,支持交互式命令
volumes:
ERPNext_db: # 定义名为 ERPNext_db 的 Docker 卷
ERPNext_sites: # 定义名为 ERPNext_sites 的 Docker 卷
启动即可
正常启动
资源占用情况如下
补充docker可用的镜像仓库
国内如果无法拉取镜像的可以使用
仓库1
https://proxy.1panel.live/
仓库2
https://docker.1panel.top/
仓库3
https://mirror.azure.cn/
仓库4
https://hub.rat.dev/
仓库5
https://docker.1ms.run
仓库6
https://docker.itelyou.cf/
仓库7
https://abc.itelyou.cf/
仓库8
https://docker.ywsj.tk/
②《vps上搭建》
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、创建docker-compose.yml文件
mkdir erpnext;cd erpnext #创建一个目录,并进入此目录
然后再新建docker-compose.yml
vim docker-compose.yml
services:
erpnext: # 定义 ERPNext 服务
image: lvxj11/erpnext:latest # 使用镜像 lvxj11/erpnext 的 latest 标签
container_name: ERPNext # 设置容器名称为 ERPNext
ports:
- "22380:80" # 映射主机的 22380 端口到容器的 80 端口可以自定义
volumes:
- ERPNext_db:/var/lib/mysql # 将名为 ERPNext_db 的数据卷挂载到容器的 /var/lib/mysql,用于存储数据库数据
- ERPNext_sites:/home/frappe/frappe-bench/sites # 将名为 ERPNext_sites 的数据卷挂载到 ERPNext 站点目录
restart: unless-stopped # 在容器退出时自动重启,除非手动停止
tty: true # 分配伪终端,保持容器运行
stdin_open: true # 保持标准输入打开,支持交互式命令
volumes:
ERPNext_db: # 定义名为 ERPNext_db 的 Docker 卷
ERPNext_sites: # 定义名为 ERPNext_sites 的 Docker 卷
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否开启成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
ERPNext lvxj11/erpnext:latest "/bin/bash -c 'sudo …" erpnext 4 hours ago Up 4 hours 3306/tcp, 0.0.0.0:22380->80/tcp, [::]:22380->80/tcp
四、打开web页面使用
成功以后需要打开自己相应的端口(22380)防火墙就可以web端访问了
打开自己VPS的ip加端口在加路径就可进入初始化页面
http://ip:22380/#login
账号:administrator
密码:admin
已包含mysql数据库 ,数据库root密码为“Pass1234”。
以上参数如需修改请自行手动修改。
语言初始化
配置管理员
完成设置
大约等待1分钟左右就初始化成功了
可以使用ERP系统了
还可以设置网站
其他功能自行探索
五、绑定域名
如需绑定域名的自行绑定
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定完域名配置好证书就可以用域名来访问了
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!
评论区