llewellyn/erpnext Docker 镜像
llewellyn查看 Docker Hub 原文页
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. 设置环境变量(密码)
bashexport TRAEFIK_PASS=CHANGEME_LONG # Traefik管理界面密码 export DATABASE_PASS=CHANGEME_ONLY_CHARS # 数据库密码 export ADMIN_PASS=CHANGEME_HUMAN # ERPNext管理员密码
2. 配置Traefik
创建Traefik环境配置文件:
bashecho '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:
bashdocker 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)
创建数据库环境配置文件:
bashecho "DB_PASSWORD=$DATABASE_PASS" > ~/gitops/mariadb.env
部署MariaDB:
bashdocker compose --project-name mariadb --env-file ~/gitops/mariadb.env -f ~/frappe_docker/overrides/compose.mariadb-shared.yaml up -d
4. 配置ERPNext环境
复制并修改ERPNext环境配置文件:
bashcp ~/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配置文件:
bashdocker 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
替换配置文件中的镜像版本:
bashsed -i 's/frappe\/erpnext\:v15\.23\.1/llewellyn\/erpnext\:latest/g' ~/gitops/erpnext-one.yaml
部署ERPNext:
bashdocker compose --project-name erpnext-one -f ~/gitops/erpnext-one.yaml up -d
6. 创建ERPNext站点
bashdocker 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后端容器:
bashdocker exec -it erpnext-one-backend-1 /bin/bash
在容器内执行以下命令安装应用:
bashbench 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 # 应用构建工具
可选安装的其他应用:
bashbench install-app health # 健康管理模块 bench install-app gameplan # 项目管理模块 bench install-app crm # 客户关系管理模块 bench install-app education # 教育管理模块
更新镜像方法
- 停止ERPNext容器:
bashdocker compose --project-name erpnext-one -f ~/gitops/erpnext-one.yaml down
- 删除旧镜像:
bashdocker rmi llewellyn/erpnext:latest
- 启动容器(自动拉取最新镜像):
bashdocker compose --project-name erpnext-one -f ~/gitops/erpnext-one.yaml up -d
- 进入后端容器并迁移数据:
bashdocker 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)")),按以下步骤修复:
- 进入ERPNext后端容器:
bashdocker exec -it erpnext-one-backend-1 /bin/bash
- 获取数据库配置信息:
bashcat sites/erpnext.domain.com/site_config.json
- 进入MariaDB容器(root用户):
bashdocker exec -it --user root mariadb-database /bin/bash
- 登录MariaDB:
bashmysql -u root -p # 输入~/gitops/mariadb.env中设置的DB_PASSWORD
- 更新数据库用户权限:
sqlUSE 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
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
DockerHub 原生拉取命令
docker pull llewellyn/erpnext:<标签>
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务