Sign inSign up

llewellyn/erpnext

By llewellyn

•Updated 1 day ago

ERPNext(v15) HRMS, Payments, Webshop, Lending, Shipping, Builder, Gameplan, Insights, Print Designer

Image
Integration & delivery
Content management system
Databases & storage
10

10K+

llewellyn/erpnext repository overview

This repository provides Docker images for ERPNext version 15, integrated with additional applications to extend its functionality.

The included apps are:

  • ERPNext⁠: Core ERP application for comprehensive business management.
  • HRMS⁠: Human Resources Management System for efficient HR operations.
  • Payments⁠: Payment integration for seamless transaction handling.
  • Webshop⁠: E-commerce integration to facilitate online sales.
  • Lending⁠: Loan management system for financial institutions.
  • Shipping⁠: Shipping and logistics management.
  • Builder⁠: Tool for creating custom applications and modules.
  • Gameplan⁠: Project management and planning tool.
  • Insights⁠: Analytics and reporting tool for data-driven decision making.
  • Print Designer⁠: Customizable print format designer.

⁠Setup VDM ERPNext

Follow the instruction found here:

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 Traefik⁠
echo 'TRAEFIK_DOMAIN=traefik.domain.com' > ~/gitops/traefik.env
echo '[email protected]' >> ~/gitops/traefik.env
echo "HASHED_PASSWORD='$(openssl passwd -apr1 "$TRAEFIK_PASS" | sed 's/\$/\\$/g')'" >> ~/gitops/traefik.env
⁠Deploy 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 Database⁠
echo "DB_PASSWORD=$DATABASE_PASS" > ~/gitops/mariadb.env
⁠Deploy Database⁠
docker compose --project-name mariadb --env-file ~/gitops/mariadb.env -f ~/frappe_docker/overrides/compose.mariadb-shared.yaml up -d
⁠Setup ERPNext Env⁠
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 ERPNext yaml⁠
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 ERPNext⁠
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?

  1. stop the container:
docker compose --project-name erpnext-one -f ~/gitops/erpnext-one.yaml down
  1. remove the image (used in your setup):
docker rmi llewellyn/erpnext:latest
  1. start the container:
docker compose --project-name erpnext-one -f ~/gitops/erpnext-one.yaml up -d
  1. enter the backend container:
docker exec -it erpnext-one-backend-1 /bin/bash
  1. set the site:
bench use erpnext.domain.com
  1. migrate the site:
bench migrate
  1. 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 troubleshoot documentation⁠.

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

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

Tag summary

Content type

Image

Digest

sha256:d49a4a931…

Size

773.9 MB

Last updated

1 day ago

docker pull llewellyn/erpnext