llewellyn/erpnext Docker Image
ERPNext v15 Docker镜像,集成HRMS、Payments、Webshop、Lending、Shipping、Builder、Gameplan、Insights、Print Designer等应用,提供全面的企业资源管理、人力资源、电商、财务等功能,适用于各类业务管理需求。
This repository provides Docker images for ERPNext version 15, integrated with additional applications to extend its functionality.
The included apps are:
- https://github.com/frappe/erpnext: Core ERP application for comprehensive business management.
- https://github.com/frappe/hrms: Human Resources Management System for efficient HR operations.
- https://github.com/frappe/payments: Payment integration for seamless transaction handling.
- https://github.com/frappe/webshop: E-commerce integration to facilitate online sales.
- https://github.com/frappe/lending: Loan management system for financial institutions.
- https://github.com/frappe/erpnext-shipping: Shipping and logistics management.
- https://github.com/frappe/builder: Tool for creating custom applications and modules.
- https://github.com/frappe/gameplan: Project management and planning tool.
- https://github.com/frappe/insights: Analytics and reporting tool for data-driven decision making.
- https://github.com/frappe/print_designer: Customizable print format designer.
Setup VDM ERPNext
Follow the instruction found here:
https://github.com/frappe/frappe_docker/blob/main/docs/single-server-example.md
Alongside the instructions bellow.
Setup PASSWORDS
export TRAEFIK_PASS=CHANGEME_LONG export DATABASE_PASS=CHANGEME_ONLY_CHARS export ADMIN_PASS=CHANGEME_HUMAN
Setup https://github.com/frappe/frappe_docker/blob/main/docs/single-server-example.md#install-traefik
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
Deploy https://github.com/frappe/frappe_docker/blob/main/docs/single-server-example.md#install-traefik
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
Setup https://github.com/frappe/frappe_docker/blob/main/docs/single-server-example.md#install-mariadb
echo "DB_PASSWORD=$DATABASE_PASS" > ~/gitops/mariadb.env
Deploy https://github.com/frappe/frappe_docker/blob/main/docs/single-server-example.md#install-mariadb
docker compose --project-name mariadb --env-file ~/gitops/mariadb.env -f ~/frappe_docker/overrides/compose.mariadb-shared.yaml up -d
Setup https://github.com/frappe/frappe_docker/blob/main/docs/single-server-example.md#install-erpnext
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 echo "BENCH_NETWORK=erpnext-one" >> ~/gitops/erpnext-one.env
Setup https://github.com/frappe/frappe_docker/blob/main/docs/single-server-example.md#install-erpnext
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
FIRST Setup ERPNext OUR-IMAGE version (update the versions)
see below
sed -i 's/frappe\/erpnext\:v15\.23\.1/llewellyn\/erpnext\:latest/g' ~/gitops/erpnext-one.yaml
Deploy/Start https://github.com/frappe/frappe_docker/blob/main/docs/single-server-example.md#create-first-bench
docker compose --project-name erpnext-one -f ~/gitops/erpnext-one.yaml up -d
Deploy ERPNext SITE
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"
Install Apps
docker exec -it erpnext-one-backend-1 /bin/bash
when in the container
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
we also have these
bench install-app health bench install-app gameplan bench install-app crm bench install-app education
How to Update?
- stop the container:
docker compose --project-name erpnext-one -f ~/gitops/erpnext-one.yaml down
- remove the image (used in your setup):
docker rmi llewellyn/erpnext:latest
- start the container:
docker compose --project-name erpnext-one -f ~/gitops/erpnext-one.yaml up -d
- enter the backend container:
docker exec -it erpnext-one-backend-1 /bin/bash
- set the site:
bench use erpnext.domain.com
- migrate the site:
bench migrate
- repeate step 5 and 6 for other sites.
Fix DB after restart.
when connection failes due to IP changes with the following kind of error:
pymysql.err.OperationalError: (1045, "Access denied for user '_xxxxxxxxxxxxxxxx'@'172.xx.xx.xx' (using password: YES)")
The instruction found in the https://github.com/frappe/frappe_docker/blob/main/docs/troubleshoot.md#fixing-mariadb-issues-after-rebuilding-the-container.
Access backend:
docker exec -it erpnext-one-backend-1 /bin/bash
Get the database details in backend:
cat sites/erpnext.domain.com/site_config.json
Access the mariadb container:
docker exec -it --user root mariadb-database /bin/bash
Access the MariaDB Interactive shell:
mysql -u root -p
Then enter your root password set in:
~/gitops/mariadb.env
Look at the table data:
USE mysql; SELECT User, Host FROM user WHERE User='user_name';
Update the user (set the ip as needed):
UPDATE global_priv SET Host='172.xx.xx.%' WHERE User='user_name'; GRANT ALL PRIVILEGES ON db_name.* TO 'user_name'@'172.xx.xx.%'; FLUSH PRIVILEGES;
Free Software License
txt@copyright Copyright (C) 2022 Llewellyn van der Merwe. All rights reserved. @license GNU General Public License version 2; see LICENSE
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
DockerHub 原生拉取命令
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务