erpnext

llewellyn/erpnext Docker 镜像

ERPNext v15 Docker镜像,集成HRMS、Payments、Webshop、Lending、Shipping、Builder、Gameplan、Insights、Print Designer等应用,提供全面的企业资源管理、人力资源、电商、财务等功能,适用于各类业务管理需求。

10 次收藏下载次数: 0状态:社区镜像维护者:llewellyn仓库类型:镜像最近更新:
下载命令
点击查看

ERPNext v15 集成应用 Docker 镜像

镜像概述

本镜像提供ERPNext v15版本的Docker部署方案,集成了多个扩展应用以增强其功能,满足企业全方位业务管理需求。通过容器化部署,简化了ERP系统的安装、配置和维护流程,适用于各类规模的企业和组织。

核心功能与特性

集成应用

  • ERPNext:核心ERP应用,提供全面的业务管理功能,包括财务、库存、采购、销售等模块。
  • HRMS:人力资源管理系统,支持员工信息管理、考勤、薪酬、招聘等HR核心 operations。
  • Payments:支付集成模块,实现与各类支付渠道的无缝对接,简化交易处理流程。
  • Webshop:电子商务集成工具,支持在线销售、订单管理和客户互动。
  • Lending:贷款管理系统,适用于***机构的贷款发放、还款跟踪等业务。
  • Shipping:物流管理模块,处理运输安排、物流跟踪和配送管理。
  • Builder:自定义应用和模块创建工具,支持低代码开发企业定制化功能。
  • Gameplan:项目管理与规划工具,支持任务跟踪、团队协作和项目进度管理。
  • Insights:数据分析与报告工具,提供数据可视化和决策支持。
  • Print Designer:可定制打印格式设计器,支持各类业务单据的个性化打印模板创建。

使用场景与适用范围

  • 中小企业全方位业务管理(财务、库存、销售、采购一体化)
  • 企业人力资源管理(员工信息、考勤、薪酬管理)
  • 电商业务线上销售与订单处理
  • ***机构贷款业务管理
  • 物流与供应链管理
  • 项目团队协作与进度跟踪
  • 企业数据分析与决策支持
  • 定制化业务系统开发与扩展

使用方法与配置说明

前提条件

  • 已安装Docker和Docker Compose
  • 具备服务器域名(用于Traefik配置)
  • 服务器开放必要端口(80、443等)

详细部署步骤

1. 设置环境变量(密码)

bash
export TRAEFIK_PASS=CHANGEME_LONG  # Traefik管理界面密码
export DATABASE_PASS=CHANGEME_ONLY_CHARS  # 数据库密码
export ADMIN_PASS=CHANGEME_HUMAN  # ERPNext管理员密码

2. 配置Traefik

创建Traefik环境配置文件:

bash
echo 'TRAEFIK_DOMAIN=traefik.domain.com' > ~/gitops/traefik.env  # 替换为实际域名
echo 'EMAIL=info@vdm.io' >> ~/gitops/traefik.env  # 替换为实际邮箱
echo "HASHED_PASSWORD='$(openssl passwd -apr1 "$TRAEFIK_PASS" | sed 's/\$/\\$/g')'" >> ~/gitops/traefik.env

部署Traefik:

bash
docker compose --project-name traefik \
  --env-file ~/gitops/traefik.env \
  -f ~/frappe_docker/overrides/compose.traefik.yaml \
  -f ~/frappe_docker/overrides/compose.traefik-ssl.yaml up -d

3. 配置并部署数据库(MariaDB)

创建数据库环境配置文件:

bash
echo "DB_PASSWORD=$DATABASE_PASS" > ~/gitops/mariadb.env

部署MariaDB:

bash
docker compose --project-name mariadb --env-file ~/gitops/mariadb.env -f ~/frappe_docker/overrides/compose.mariadb-shared.yaml up -d

4. 配置ERPNext环境

复制并修改ERPNext环境配置文件:

bash
cp ~/frappe_docker/example.env ~/gitops/erpnext-one.env
sed -i "s/DB_PASSWORD=123/DB_PASSWORD=$DATABASE_PASS/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=\`erpnext.domain.com\`" >> ~/gitops/erpnext-one.env  # 替换为实际ERPNext域名
echo "BENCH_NETWORK=erpnext-one" >> ~/gitops/erpnext-one.env

生成ERPNext Compose配置文件:

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

5. 使用当前镜像部署ERPNext

替换配置文件中的镜像版本:

bash
sed -i 's/frappe\/erpnext\:v15\.23\.1/llewellyn\/erpnext\:latest/g' ~/gitops/erpnext-one.yaml

部署ERPNext:

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

6. 创建ERPNext站点

bash
docker compose --project-name erpnext-one exec backend \
  bench new-site erpnext.domain.com --mariadb-root-password "$DATABASE_PASS" --install-app erpnext --admin-password "$ADMIN_PASS"

7. 安装集成应用

进入ERPNext后端容器:

bash
docker exec -it erpnext-one-backend-1 /bin/bash

在容器内执行以下命令安装应用:

bash
bench use erpnext.domain.com  # 切换到创建的站点
bench install-app payments  # 支付模块
bench install-app hrms  # 人力资源模块
bench install-app webshop  # 电商模块
bench install-app lending  # 贷款管理模块
bench install-app erpnext_shipping  # 物流模块
bench install-app print_designer  # 打印设计器
bench install-app insights  # 数据分析模块
bench install-app builder  # 应用构建工具

可选安装的其他应用:

bash
bench install-app health  # 健康管理模块
bench install-app gameplan  # 项目管理模块
bench install-app crm  # 客户关系管理模块
bench install-app education  # 教育管理模块

更新镜像方法

  1. 停止ERPNext容器:
bash
docker compose --project-name erpnext-one -f ~/gitops/erpnext-one.yaml down
  1. 删除旧镜像:
bash
docker rmi llewellyn/erpnext:latest
  1. 启动容器(自动拉取最新镜像):
bash
docker compose --project-name erpnext-one -f ~/gitops/erpnext-one.yaml up -d
  1. 进入后端容器并迁移数据:
bash
docker exec -it erpnext-one-backend-1 /bin/bash
bench use erpnext.domain.com  # 切换到目标站点
bench migrate  # 执行数据库迁移

如有多个站点,对每个站点重复执行bench use和bench migrate

数据库连接问题修复

当因IP变化导致数据库连接失败(错误示例:pymysql.err.OperationalError: (1045, "Access denied for user 'xxx'@'172.xx.xx.xx' (using password: YES)")),按以下步骤修复:

  1. 进入ERPNext后端容器:
bash
docker exec -it erpnext-one-backend-1 /bin/bash
  1. 获取数据库配置信息:
bash
cat sites/erpnext.domain.com/site_config.json
  1. 进入MariaDB容器(root用户):
bash
docker exec -it --user root mariadb-database /bin/bash
  1. 登录MariaDB:
bash
mysql -u root -p  # 输入~/gitops/mariadb.env中设置的DB_PASSWORD
  1. 更新数据库用户权限:
sql
USE mysql;
SELECT User, Host FROM user WHERE User='user_name';  # 替换为site_config.json中的db_name
UPDATE global_priv SET Host='172.xx.xx.%' WHERE User='user_name';  # 替换为实际IP段
GRANT ALL PRIVILEGES ON db_name.* TO 'user_name'@'172.xx.xx.%';  # 替换为db_name和user_name
FLUSH PRIVILEGES;

许可证信息

@copyright  Copyright (C) 2022 Llewellyn van der Merwe. All rights reserved.
@license    GNU General Public License version 2; see LICENSE

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 erpnext 镜像标签

docker pull docker.xuanyuan.run/llewellyn/erpnext:<标签>

DockerHub 原生拉取命令

docker pull llewellyn/erpnext:<标签>
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载在线技术支持专业版保障服务可用付费会员免广告