Tools: ERPGENEX Free Open-Source ERP Built on Frappe Framework (2026)

Tools: ERPGENEX Free Open-Source ERP Built on Frappe Framework (2026)

Full Install Guide (Ubuntu Server Frappe/Bench omnexa_core)

1) Server prerequisites

2) Update the OS and install base tools

3) Install dependencies (Python / Node / Yarn / Redis / MariaDB)

3.1 Python build deps

3.2 MariaDB and Redis

3.3 Node.js and Yarn

3.4 wkhtmltopdf (PDF printing)

3.5 MariaDB configuration for Frappe (UTF8MB4)

4) Install Bench and initialize a new bench

4.1 Install bench

4.2 Initialize bench

5) Create a new site

5.1 (Optional) Set the default site

6) Fetch omnexa_core (GitHub) and install it

6.1 Fetch the app

6.2 Install on the site

6.3 Auto-fetch required apps (important)

7) Run the stack

7.1 Development mode (quick)

7.2 Production (short version)

8) Troubleshooting

8.1 Error: No module named '<app>'

8.2 MariaDB “Access denied” during migrate/install

8.3 bench drop-site prompts for MariaDB root password

9) Quick post-install checks This guide walks you through a clean install on Ubuntu Server, from OS prep to a running Frappe site with omnexa_core. Note: On develop, omnexa_core can auto-fetch required ErpGenEx apps via bench get-app before completing site installation (when missing from the bench). Frappe v15 typically works well with Node 18. Then add UTF8MB4 defaults: If you hit permissions issues, ensure the same Linux user (e.g. frappeuser) owns and operates the bench folder. During omnexa_core install, if required stack apps are missing from the bench apps/ directory, omnexa_core will attempt to: Production setup depends on Nginx + Supervisor/Systemd on your server. A quick start is: This means the app source isn't present under apps/ or isn't installed into the bench venv. Use non-interactive flags: Templates let you quickly answer FAQs or store snippets for re-use. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse

Command

Copy

$ -weight: 600;">sudo -weight: 500;">apt -weight: 500;">update && -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">upgrade -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install -weight: 500;">git -weight: 500;">curl -weight: 500;">wget vim software-properties-common ca-certificates -weight: 600;">sudo -weight: 500;">apt -weight: 500;">update && -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">upgrade -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install -weight: 500;">git -weight: 500;">curl -weight: 500;">wget vim software-properties-common ca-certificates -weight: 600;">sudo -weight: 500;">apt -weight: 500;">update && -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">upgrade -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install -weight: 500;">git -weight: 500;">curl -weight: 500;">wget vim software-properties-common ca-certificates -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install python3-dev python3--weight: 500;">pip python3-venv build-essential -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install python3-dev python3--weight: 500;">pip python3-venv build-essential -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install python3-dev python3--weight: 500;">pip python3-venv build-essential -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install mariadb-server mariadb-client redis-server -weight: 600;">sudo -weight: 500;">systemctl -weight: 500;">enable --now mariadb redis-server -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install mariadb-server mariadb-client redis-server -weight: 600;">sudo -weight: 500;">systemctl -weight: 500;">enable --now mariadb redis-server -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install mariadb-server mariadb-client redis-server -weight: 600;">sudo -weight: 500;">systemctl -weight: 500;">enable --now mariadb redis-server -weight: 500;">curl -fsSL https://deb.nodesource.com/setup_18.x | -weight: 600;">sudo -E bash - -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install nodejs -weight: 600;">sudo -weight: 500;">npm -weight: 500;">install -g yarn -weight: 500;">curl -fsSL https://deb.nodesource.com/setup_18.x | -weight: 600;">sudo -E bash - -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install nodejs -weight: 600;">sudo -weight: 500;">npm -weight: 500;">install -g yarn -weight: 500;">curl -fsSL https://deb.nodesource.com/setup_18.x | -weight: 600;">sudo -E bash - -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install nodejs -weight: 600;">sudo -weight: 500;">npm -weight: 500;">install -g yarn -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install xvfb libfontconfig wkhtmltopdf -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install xvfb libfontconfig wkhtmltopdf -weight: 600;">sudo -weight: 500;">apt -y -weight: 500;">install xvfb libfontconfig wkhtmltopdf -weight: 600;">sudo mysql_secure_installation -weight: 600;">sudo mysql_secure_installation -weight: 600;">sudo mysql_secure_installation -weight: 600;">sudo tee /etc/mysql/mariadb.conf.d/99-frappe.cnf > /dev/null <<'EOF' [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci [mysql] default-character-set = utf8mb4 EOF -weight: 600;">sudo -weight: 500;">systemctl -weight: 500;">restart mariadb -weight: 600;">sudo tee /etc/mysql/mariadb.conf.d/99-frappe.cnf > /dev/null <<'EOF' [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci [mysql] default-character-set = utf8mb4 EOF -weight: 600;">sudo -weight: 500;">systemctl -weight: 500;">restart mariadb -weight: 600;">sudo tee /etc/mysql/mariadb.conf.d/99-frappe.cnf > /dev/null <<'EOF' [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci [mysql] default-character-set = utf8mb4 EOF -weight: 600;">sudo -weight: 500;">systemctl -weight: 500;">restart mariadb -weight: 600;">sudo pip3 -weight: 500;">install frappe-bench -weight: 600;">sudo pip3 -weight: 500;">install frappe-bench -weight: 600;">sudo pip3 -weight: 500;">install frappe-bench bench init frappe-bench --frappe-branch version-15 cd frappe-bench bench init frappe-bench --frappe-branch version-15 cd frappe-bench bench init frappe-bench --frappe-branch version-15 cd frappe-bench bench new-site erpgenex.local.site bench new-site erpgenex.local.site bench new-site erpgenex.local.site bench use erpgenex.local.site bench use erpgenex.local.site bench use erpgenex.local.site bench get-app https://github.com/ErpGenex/omnexa_core.-weight: 500;">git --branch develop bench get-app https://github.com/ErpGenex/omnexa_core.-weight: 500;">git --branch develop bench get-app https://github.com/ErpGenex/omnexa_core.-weight: 500;">git --branch develop bench --site erpgenex.local.site -weight: 500;">install-app omnexa_core bench --site erpgenex.local.site -weight: 500;">install-app omnexa_core bench --site erpgenex.local.site -weight: 500;">install-app omnexa_core # Disable auto-fetch export OMNEXA_AUTO_GET_APPS=0 # Override org/branch (if needed) export ERPGENEX_GITHUB_ORG=ErpGenex export OMNEXA_APPS_BRANCH=develop # Disable auto-fetch export OMNEXA_AUTO_GET_APPS=0 # Override org/branch (if needed) export ERPGENEX_GITHUB_ORG=ErpGenex export OMNEXA_APPS_BRANCH=develop # Disable auto-fetch export OMNEXA_AUTO_GET_APPS=0 # Override org/branch (if needed) export ERPGENEX_GITHUB_ORG=ErpGenex export OMNEXA_APPS_BRANCH=develop bench -weight: 500;">start bench -weight: 500;">start bench -weight: 500;">start -weight: 600;">sudo bench setup production frappeuser -weight: 600;">sudo bench setup production frappeuser -weight: 600;">sudo bench setup production frappeuser bench get-app https://github.com/ErpGenex/<app>.-weight: 500;">git --branch develop bench setup requirements bench get-app https://github.com/ErpGenex/<app>.-weight: 500;">git --branch develop bench setup requirements bench get-app https://github.com/ErpGenex/<app>.-weight: 500;">git --branch develop bench setup requirements bench drop-site erpgenex.local.site --no-backup --force --root-login root --root-password 'YOUR_MYSQL_ROOT_PASSWORD' bench drop-site erpgenex.local.site --no-backup --force --root-login root --root-password 'YOUR_MYSQL_ROOT_PASSWORD' bench drop-site erpgenex.local.site --no-backup --force --root-login root --root-password 'YOUR_MYSQL_ROOT_PASSWORD' bench --site erpgenex.local.site list-apps bench --site erpgenex.local.site migrate bench build bench --site erpgenex.local.site list-apps bench --site erpgenex.local.site migrate bench build bench --site erpgenex.local.site list-apps bench --site erpgenex.local.site migrate bench build - Ubuntu 24.04 LTS (recommended) or Ubuntu 22.04 LTS - A non-root Linux user (example: frappeuser) with -weight: 600;">sudo - DNS / domain name (optional at first) - Open ports: 22 (SSH) + 80/443 (Nginx) or 8000 (dev) - run bench get-app ... --skip-assets for each missing required app - run bench setup requirements - then continue the site installation - http://<server-ip>:8000 - http://<server-ip> (through Nginx) - -weight: 600;">sudo -weight: 500;">systemctl -weight: 500;">status mariadb - your site database settings in sites/<site>/site_config.json