惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
A
About on SuperTechFans
量子位
Engineering at Meta
Engineering at Meta
B
Blog
The Cloudflare Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
J
Java Code Geeks
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏
T
Tailwind CSS Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
ERPGENEX Free Open-Source ERP Built on Frappe Framework
erpgenex mic · 2026-04-26 · via DEV Community

erpgenex micro

Full Install Guide (Ubuntu Server Frappe/Bench omnexa_core)

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).


1) Server prerequisites

  • Ubuntu 24.04 LTS (recommended) or Ubuntu 22.04 LTS
  • A non-root Linux user (example: frappeuser) with sudo
  • DNS / domain name (optional at first)
  • Open ports: 22 (SSH) + 80/443 (Nginx) or 8000 (dev)

2) Update the OS and install base tools

sudo apt update && sudo apt -y upgrade
sudo apt -y install git curl wget vim software-properties-common ca-certificates

Enter fullscreen mode Exit fullscreen mode


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

3.1 Python build deps

sudo apt -y install python3-dev python3-pip python3-venv build-essential

Enter fullscreen mode Exit fullscreen mode

3.2 MariaDB and Redis

sudo apt -y install mariadb-server mariadb-client redis-server
sudo systemctl enable --now mariadb redis-server

Enter fullscreen mode Exit fullscreen mode

3.3 Node.js and Yarn

Frappe v15 typically works well with Node 18.

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt -y install nodejs
sudo npm install -g yarn

Enter fullscreen mode Exit fullscreen mode

3.4 wkhtmltopdf (PDF printing)

sudo apt -y install xvfb libfontconfig wkhtmltopdf

Enter fullscreen mode Exit fullscreen mode

3.5 MariaDB configuration for Frappe (UTF8MB4)

sudo mysql_secure_installation

Enter fullscreen mode Exit fullscreen mode

Then add UTF8MB4 defaults:

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

sudo systemctl restart mariadb

Enter fullscreen mode Exit fullscreen mode


4) Install Bench and initialize a new bench

4.1 Install bench

sudo pip3 install frappe-bench

Enter fullscreen mode Exit fullscreen mode

4.2 Initialize bench

bench init frappe-bench --frappe-branch version-15
cd frappe-bench

Enter fullscreen mode Exit fullscreen mode

If you hit permissions issues, ensure the same Linux user (e.g. frappeuser) owns and operates the bench folder.


5) Create a new site

bench new-site erpgenex.local.site

Enter fullscreen mode Exit fullscreen mode

5.1 (Optional) Set the default site

bench use erpgenex.local.site

Enter fullscreen mode Exit fullscreen mode


6) Fetch omnexa_core (GitHub) and install it

6.1 Fetch the app

bench get-app https://github.com/ErpGenex/omnexa_core.git --branch develop

Enter fullscreen mode Exit fullscreen mode

6.2 Install on the site

bench --site erpgenex.local.site install-app omnexa_core

Enter fullscreen mode Exit fullscreen mode

6.3 Auto-fetch required apps (important)

During omnexa_core install, if required stack apps are missing from the bench apps/ directory, omnexa_core will attempt to:

  • run bench get-app ... --skip-assets for each missing required app
  • run bench setup requirements
  • then continue the site installation

Feature controls:

# Disable auto-fetch
export OMNEXA_AUTO_GET_APPS=0

# Override org/branch (if needed)
export ERPGENEX_GITHUB_ORG=ErpGenex
export OMNEXA_APPS_BRANCH=develop

Enter fullscreen mode Exit fullscreen mode


7) Run the stack

7.1 Development mode (quick)

bench start

Enter fullscreen mode Exit fullscreen mode

Open:

  • http://<server-ip>:8000

7.2 Production (short version)

Production setup depends on Nginx + Supervisor/Systemd on your server. A quick start is:

sudo bench setup production frappeuser

Enter fullscreen mode Exit fullscreen mode

Then access via:

  • http://<server-ip> (through Nginx)

8) Troubleshooting

8.1 Error: No module named '<app>'

This means the app source isn't present under apps/ or isn't installed into the bench venv.

bench get-app https://github.com/ErpGenex/<app>.git --branch develop
bench setup requirements

Enter fullscreen mode Exit fullscreen mode

8.2 MariaDB “Access denied” during migrate/install

Check:

  • sudo systemctl status mariadb
  • your site database settings in sites/<site>/site_config.json

8.3 bench drop-site prompts for MariaDB root password

Use non-interactive flags:

bench drop-site erpgenex.local.site --no-backup --force --root-login root --root-password 'YOUR_MYSQL_ROOT_PASSWORD'

Enter fullscreen mode Exit fullscreen mode


9) Quick post-install checks

bench --site erpgenex.local.site list-apps
bench --site erpgenex.local.site migrate
bench build

Enter fullscreen mode Exit fullscreen mode