开箱即用~All in one!极空间部署开源ERP系统『ERPNext』
哈喽小伙伴们好,我是Stark-C~
有位极空间用户想要在自己的NAS上部署ERPNext,但是部署失败,所以过来寻求帮助~
说实话我之前也一直没有接触过ERP系统,所以对这方面也不是很了解。但是这位朋友既然点名了需要安装这个项目,而我正好有空摸鱼,所以就帮他来搞定下这个事情。
部署前的说明

🔺不过这个事情解决起来也非常的简单,我猜想主要是这位朋友没有找到大佬@ lvxj11 二次打包的All in one版本,所以部署起来有些困难。

🔺我这里直接对作者的这个镜像详情页面整个截图了,作者已经在这里对该镜像与官方镜像的区别、使用方法、运行脚本,以及相关说明讲的很清楚了。唯一需要注意的地方可能就是我上图红框所标识的:只能使用卷模式,不能用主机目录。
什么意思呢?通俗来说它的“Volumes”不能和我们之前部署Docker容器一样,可以通过绑定挂载的方式将容器内的目录映射到NAS本地共享文件夹,而是存储在Docker管理的存储空间。
也就是说,它其实也是存储在咱们NAS的内部硬盘,只是不是共享文件夹所以我们不能直接看到,它也具备数据隔离与持久化存储的特性,并且还不会影响我们后续Docker容器的升级,同时还可以让多个容器共享同一个卷。
唯一不方便的地方可能就是迁移或者备份,需要一些额外的操作。
说了这么多,接下来我就在极空间NAS上完整的演示一遍部署与备份的操作。
ERPNext部署

🔺前面说了,咱们今天部署的这个ERPNext只能用卷模式,所以我们也不用在本地共享文件夹建议本地目录,直接点击极空间的Compose开始即可。
Snipaste_2025-08-06_08-45-51🔺在新增项目页面自定义项目名称,输入以下 Docker Compose 配置信息后点“创建”按钮:
services:
erpnext:
image: lvxj11/erpnext:latest
container_name: ERPNext
ports:
- "8089:80" # 项目打开端口,本地不冲突即可
volumes:
- ERPNext_db:/var/lib/mysql
- ERPNext_sites:/home/frappe/frappe-bench/sites
volumes:
ERPNext_db:
driver: local
ERPNext_sites:
driver: local
以上代码需要根据注释自行修改,没有注释的默认即可,需要自行解决镜像拉取的网络问题,如果碰到格式不对建议使用AI工具重新整理一下。

🔺因为是All in one整合包,镜像还是比较大,部署的时间也略长,完成后看到ERPNext容器显示“运行中”,就可以使用了。
ERPNext体验

🔺登录方式没啥好说的,浏览器【IP:端口号】即可。进来之后输入作者介绍页面给出的初始账号和密码:administrator/admin。

🔺接下来设置语言、国家、失去、货币。该项目是完美支持中文使用环境的。

🔺设置账号,自己随意设置即可~

🔺设置公司相关。

🔺OK,进入主页,可以正式使用了~。剩下的事就交给专业的用户自行体验了,我是看不懂了。
ERPNext数据备份与迁移
如果只是在本机NAS上使用,我们后期可以随意升级该项目没有任何问题。
但是搞管理或者运维的,可能会涉及到数据的备份或者迁移,需要将数据导出来那怎么办呢?
其实也很简单,只不过需要使用到SSH终端工具(如果你不了解SSH终端工具我想你也没必要继续看下去了~)

🔺咱们使用SSH终端工具连接到极空间NAS之后,需要做的就是以下3个步骤:
第一步:输入命令“sudo -i”提权
(之后会让我们输入NAS的登录密码,输入密码的时候不显示,输入完成之后直接回车即可)
第二步:输入命令“docker inspect 容器名 | grep Source”查看存储卷路径
(容器名我演示的命令已将其定义为“ERPNext”,所以这里的命令就为“docker inspect ERPNext | grep Source”。下面返回的信息就是我们需要的存储卷绝对路径)
第三步:输入命令“cp -a 存储卷绝对路径/. 本地共享硬盘绝对路径”将存储卷复制到本地目标目录
(这里需要注意的是,命令中的“存储卷绝对路径”和“本地共享硬盘绝对路径”一定要是正确的绝对路径。注意命令中的空格,以及存储卷绝对路径后面还有一个“/.”)

🔺按照以上思路,我们很快就能将相关数据备份出来了。
最后,感谢@ lvxj11 大佬为我们提供了这么好一个开箱即用的ERPNext项目!
好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~
