ERPnext:容器化安装部署步骤

ERPnext(一)

前言

    ERPnext是GitHub上开源的最热门的ERP项目之一,它的开源协议是GPL-3.0,因此自由度高,无需担心版权问题。ERPnext项目设计简单且使用PYTHON语言实现,因此部署、修改难度小,号称全球最敏捷的ERP系统。ERPnext简单但功能完整,旨在能使企业使用一个系统就能处理公司日常工作中的所有问题。
    因此,对于 不想花大价钱购买一套后期服务费更昂贵的ERP系统的中小企业、初创企业;想拥有一套简单但功能完整,易于新增功能的免费的ERP系统的中小企业、初创企业;想拥有一套安装、部署和运维人力成本低的ERP系统的中小企业、初创企业;ERPnext也许是他们的最好的选择。
    ERPnext是基于低代码平台frappe开发的软件。frappe是ERPnext的基座,ERPnext是frappe框架上运行的一个app。
    本系列文章将包含 1. 介绍ERPnext的安装部署;2. 关键模块的源码走读分析;3. 新增功能、修改功能的方法;4. 汉化实现。旨在通过本系列文章,帮助中小企业、初创企业从0开始构建自主可控的,可稳定应用于生产环境的ERP系统。

安装介绍:

    ERPnext是一个印度团队开源的软件,它在github上的安装教程bug非常多,流程也乱七八糟的。按照官方文档,绝大多数人不能成功安装,他们在安装过程中总是会遇到各种各样的问题。ERPnext是我见过最不真诚的开源,单单找安装文档链接你就可能头晕。

github项目代码地址:https://github.com/frappe/erpnext
安装方法有三:

  1. 容器化部署:https://github.com/frappe/frappe_docker
  2. easy way install(意思是超级简单的安装): https://github.com/frappe/bench#easy-install-script
  3. 手动安装:https://github.com/frappe/bench#manual-installation

    吐槽:一个ERPnext项目,三种安装方式,在不同的项目下。完成看不出他们这个写作文档的逻辑。以上链接大家看看就好。

    以上3中安装方法我都多次测试过,总有各种各样的问题。最好我选择了使用方法1,也就是容器化部署方法。
使用的安装方法在这里。单服务器部署方法:
https://github.com/frappe/frappe_docker/blob/main/docs/single-server-example.md

    本次我使用的环境为:阿里云ecs,系统CentOS Linux release 7.8.2003。

安装步骤:

1. 安装docker容器
curl -fsSL https://get.docker.com | bash
systemctl start docker
2. 安装compose v2
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
3. 下载frappe源码,并进入源码目录
git clone https://github.com/frappe/frappe_docker
cd frappe_docker
4. 创建一个目录存储配置文件
mkdir ~/gitops
5. 安装Traefik(一个类似负责均衡的软件)

5.1 创建环境变量配置文件

echo 'TRAEFIK_DOMAIN=traefik.example.com' > ~/gitops/traefik.env
echo 'EMAIL=admin@example.com' >> ~/gitops/traefik.env
echo 'HASHED_PASSWORD='$(openssl passwd -apr1 changeit | sed 's/\$/\\\$/g') >> ~/gitops/traefik.env

5.2 部署Traefik容器

docker compose --project-name traefik \
--env-file ~/gitops/traefik.env \
-f docs/compose/compose.traefik.yaml \
-f docs/compose/compose.traefik-ssl.yaml up -d
6. 安装Mariadb数据库

6.1 创建Mariadb相关的配置文件

echo "DB_PASSWORD=changeit" > ~/gitops/mariadb.env

密码想修改就替换changeit

6.2 部署Mariadb容器

docker compose --project-name mariadb --env-file ~/gitops/mariadb.env -f docs/compose/compose.mariadb-shared.yaml up -d
7. 安装ERPnext

7.1 创建配置文件erpnext-one.env

cp example.env ~/gitops/erpnext-one.env
sed -i 's/DB_PASSWORD=123/DB_PASSWORD=changeit/g' ~/gitops/erpnext-one.env
sed -i 's/DB_HOST=/DB_HOST=mariadb-database/g' ~/gitops/erpnext-one.env
sed -i 's/DB_PORT=/DB_PORT=3306/g' ~/gitops/erpnext-one.env
echo 'ROUTER=erpnext-one' >> ~/gitops/erpnext-one.env
echo "SITES=\`one.example.com\`,\`two.example.com\`" >> ~/gitops/erpnext-one.env
echo "BENCH_NETWORK=erpnext-one" >> ~/gitops/erpnext-one.env

7.2 创建配置文件erpnext-one.yaml

docker compose --project-name erpnext-one \
  --env-file ~/gitops/erpnext-one.env \
  -f compose.yaml \
  -f overrides/compose.erpnext.yaml \
  -f overrides/compose.redis.yaml \
  -f docs/compose/compose.multi-bench.yaml \
  -f docs/compose/compose.multi-bench-ssl.yaml config > ~/gitops/erpnext-one.yaml

7.3 部署erpnext-one容器

docker compose --project-name erpnext-one -f ~/gitops/erpnext-one.yaml up -d

这部耗时有点久,需要耐心等待

7.4 部署站点

docker compose --project-name erpnext-one exec backend \
  bench new-site one.example.com --mariadb-root-password changeit --install-app erpnext --admin-password changeit

    到这里就部署完成了。部署完成后直接使用本机ip登录是会找不到页面的。且http协议登录也是会报错找不到页面的。需要使用https协议+域名登录。也就是在浏览器输入https://one.example.com 登录。为了让one.example.com解析到部署机器的ip地址呢,需要在host文件中配置ip 于域名one.example.com的映射。

    接下来会继续进行ERPnext的部署分享。计划把我部署好的环境的docker容器打包成镜像,以后在其它的地方部署指定docker compose就可以部署成功。
拒绝转载,谢谢

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_17240471

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值