{"id":14,"date":"2025-08-04T10:41:22","date_gmt":"2025-08-04T10:41:22","guid":{"rendered":"https:\/\/docs.inbizsys.com\/index.php\/docs\/erp\/installation\/"},"modified":"2025-08-04T10:50:05","modified_gmt":"2025-08-04T10:50:05","slug":"installation","status":"publish","type":"docs","link":"https:\/\/docs.inbizsys.com\/index.php\/docs\/erp\/installation\/","title":{"rendered":"Installation"},"content":{"rendered":"<h2 data-start=\"353\" data-end=\"376\">\ud83d\udcdd Table of Contents<\/h2>\n<ol data-start=\"378\" data-end=\"819\">\n<li data-start=\"378\" data-end=\"426\">\n<p data-start=\"381\" data-end=\"426\"><a class=\"\" href=\"#system-requirements\" rel=\"noopener\" data-start=\"381\" data-end=\"424\">System Requirements<\/a><\/p>\n<\/li>\n<li data-start=\"427\" data-end=\"469\">\n<p data-start=\"430\" data-end=\"469\"><a class=\"\" href=\"#pre-installation\" rel=\"noopener\" data-start=\"430\" data-end=\"467\">Pre-Installation<\/a><\/p>\n<\/li>\n<li data-start=\"470\" data-end=\"524\">\n<p data-start=\"473\" data-end=\"524\"><a class=\"\" href=\"#database-configuration\" rel=\"noopener\" data-start=\"473\" data-end=\"522\">Database Configuration<\/a><\/p>\n<\/li>\n<li data-start=\"525\" data-end=\"592\">\n<p data-start=\"528\" data-end=\"592\"><a class=\"\" href=\"#frappe--erpnext-installation\" rel=\"noopener\" data-start=\"528\" data-end=\"590\">Frappe &amp; ERPNext Installation<\/a><\/p>\n<\/li>\n<li data-start=\"593\" data-end=\"684\">\n<p data-start=\"596\" data-end=\"684\"><a class=\"\" href=\"#production-deployment-nginx--supervisor\" rel=\"noopener\" data-start=\"596\" data-end=\"682\">Production Deployment (NGINX &amp; Supervisor)<\/a><\/p>\n<\/li>\n<li data-start=\"685\" data-end=\"741\">\n<p data-start=\"688\" data-end=\"741\"><a class=\"\" href=\"#post-installation-setup\" rel=\"noopener\" data-start=\"688\" data-end=\"739\">Post-Installation Setup<\/a><\/p>\n<\/li>\n<li data-start=\"742\" data-end=\"778\">\n<p data-start=\"745\" data-end=\"778\"><a class=\"\" href=\"#security-tips\" rel=\"noopener\" data-start=\"745\" data-end=\"776\">Security Tips<\/a><\/p>\n<\/li>\n<li data-start=\"779\" data-end=\"819\">\n<p data-start=\"782\" data-end=\"819\"><a class=\"\" href=\"#troubleshooting\" rel=\"noopener\" data-start=\"782\" data-end=\"817\">Troubleshooting<\/a><\/p>\n<\/li>\n<\/ol>\n<hr data-start=\"821\" data-end=\"824\" \/>\n<h2 data-start=\"826\" data-end=\"850\">\u2705 System Requirements<\/h2>\n<div class=\"_tableContainer_16hzy_1\">\n<div class=\"_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse\" tabindex=\"-1\">\n<table class=\"w-fit min-w-(--thread-content-width)\" data-start=\"852\" data-end=\"1229\">\n<thead data-start=\"852\" data-end=\"905\">\n<tr data-start=\"852\" data-end=\"905\">\n<th data-start=\"852\" data-end=\"870\" data-col-size=\"sm\">Component<\/th>\n<th data-start=\"870\" data-end=\"905\" data-col-size=\"sm\">Minimum Requirement<\/th>\n<\/tr>\n<\/thead>\n<tbody data-start=\"960\" data-end=\"1229\">\n<tr data-start=\"960\" data-end=\"1013\">\n<td data-start=\"960\" data-end=\"977\" data-col-size=\"sm\">OS<\/td>\n<td data-col-size=\"sm\" data-start=\"977\" data-end=\"1013\">Ubuntu 22.04 LTS (64-bit)<\/td>\n<\/tr>\n<tr data-start=\"1014\" data-end=\"1067\">\n<td data-start=\"1014\" data-end=\"1031\" data-col-size=\"sm\">RAM<\/td>\n<td data-col-size=\"sm\" data-start=\"1031\" data-end=\"1067\">2 GB minimum (4 GB recommended)<\/td>\n<\/tr>\n<tr data-start=\"1068\" data-end=\"1121\">\n<td data-start=\"1068\" data-end=\"1085\" data-col-size=\"sm\">CPU<\/td>\n<td data-col-size=\"sm\" data-start=\"1085\" data-end=\"1121\">1 vCPU minimum<\/td>\n<\/tr>\n<tr data-start=\"1122\" data-end=\"1175\">\n<td data-start=\"1122\" data-end=\"1139\" data-col-size=\"sm\">Disk<\/td>\n<td data-col-size=\"sm\" data-start=\"1139\" data-end=\"1175\">20 GB+<\/td>\n<\/tr>\n<tr data-start=\"1176\" data-end=\"1229\">\n<td data-start=\"1176\" data-end=\"1193\" data-col-size=\"sm\">Access<\/td>\n<td data-col-size=\"sm\" data-start=\"1193\" data-end=\"1229\">Root or sudo user<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"sticky end-(--thread-content-margin) h-0 self-end select-none\">\n<div class=\"absolute end-0 flex items-end\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<hr data-start=\"1231\" data-end=\"1234\" \/>\n<h2 data-start=\"1236\" data-end=\"1258\">\u2699\ufe0f Pre-Installation<\/h2>\n<h3 data-start=\"1260\" data-end=\"1280\">1. Update System<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl\"><code class=\"whitespace-pre! language-bash\" style=\"font-size: 16px; font-style: inherit; font-weight: inherit;\">sudo apt update &amp;&amp; sudo apt upgrade -y<\/code><\/div>\n<\/div>\n<h3 data-start=\"1333\" data-end=\"1365\">2. Install Required Packages<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo apt install -y git python3-dev python3-pip python3-venv \\<br \/>\nbuild-essential libffi-dev libssl-dev libmysqlclient-dev libjpeg-dev \\<br \/>\nzlib1g-dev libpq-dev curl wget nodejs npm<br \/>\n<\/code><\/div>\n<\/div>\n<h3 data-start=\"1555\" data-end=\"1580\">3. Create System User<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo adduser --system --home=\/opt\/erpnext --group erpnext<br \/>\n<\/code><\/div>\n<\/div>\n<hr data-start=\"1652\" data-end=\"1655\" \/>\n<h2 data-start=\"1657\" data-end=\"1686\">\ud83d\udee2\ufe0f Database Configuration<\/h2>\n<h3 data-start=\"1688\" data-end=\"1710\">1. Install MariaDB<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo apt install mariadb-server mariadb-client -y<br \/>\nsudo mysql_secure_installation<br \/>\n<\/code><\/div>\n<\/div>\n<h3 data-start=\"1805\" data-end=\"1834\">2. Create Database &amp; User<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-sql\">sudo mysql <span class=\"hljs-operator\">-<\/span>u root <span class=\"hljs-operator\">-<\/span>p<\/p>\n<p><span class=\"hljs-keyword\">CREATE<\/span> DATABASE erpnext_db;<br \/>\n<span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">USER<\/span> <span class=\"hljs-string\">'erpnext_user'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> IDENTIFIED <span class=\"hljs-keyword\">BY<\/span> <span class=\"hljs-string\">'StrongPassword123'<\/span>;<br \/>\n<span class=\"hljs-keyword\">GRANT<\/span> <span class=\"hljs-keyword\">ALL<\/span> PRIVILEGES <span class=\"hljs-keyword\">ON<\/span> erpnext_db.<span class=\"hljs-operator\">*<\/span> <span class=\"hljs-keyword\">TO<\/span> <span class=\"hljs-string\">'erpnext_user'<\/span>@<span class=\"hljs-string\">'localhost'<\/span>;<br \/>\nFLUSH PRIVILEGES;<br \/>\nEXIT;<br \/>\n<\/code><\/div>\n<\/div>\n<hr data-start=\"2064\" data-end=\"2067\" \/>\n<h2 data-start=\"2069\" data-end=\"2104\">\ud83e\uddf1 Frappe &amp; ERPNext Installation<\/h2>\n<h3 data-start=\"2106\" data-end=\"2135\">1. Install Node.js &amp; Yarn<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo npm install -g yarn<br \/>\n<\/code><\/div>\n<\/div>\n<h3 data-start=\"2174\" data-end=\"2201\">2. Install Redis Server<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo apt install redis-server -y<br \/>\n<\/code><\/div>\n<\/div>\n<h3 data-start=\"2248\" data-end=\"2279\">3. Install Frappe Bench CLI<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo pip3 install frappe-bench<br \/>\n<\/code><\/div>\n<\/div>\n<h3 data-start=\"2324\" data-end=\"2354\">4. Create New Bench &amp; Site<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">bench init erpnext-bench --frappe-branch version-15<br \/>\n<span class=\"hljs-built_in\">cd<\/span> erpnext-bench<br \/>\nbench new-site erp.mysite.local<br \/>\n<\/code><\/div>\n<\/div>\n<h3 data-start=\"2469\" data-end=\"2491\">5. Get ERPNext App<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">bench get-app erpnext --branch version-15<br \/>\nbench --site erp.mysite.local install-app erpnext<br \/>\n<\/code><\/div>\n<\/div>\n<h3 data-start=\"2597\" data-end=\"2626\">6. Run Development Server<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">bench start<br \/>\n<\/code><\/div>\n<\/div>\n<p data-start=\"2652\" data-end=\"2687\">Access via: <code data-start=\"2664\" data-end=\"2687\">http:\/\/localhost:8000<\/code><\/p>\n<hr data-start=\"2689\" data-end=\"2692\" \/>\n<h2 data-start=\"2694\" data-end=\"2742\">\ud83d\ude80 Production Deployment (NGINX &amp; Supervisor)<\/h2>\n<h3 data-start=\"2744\" data-end=\"2779\">1. Setup Production Environment<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo bench setup production erpnext<br \/>\n<\/code><\/div>\n<\/div>\n<p data-start=\"2829\" data-end=\"2843\">This installs:<\/p>\n<ul data-start=\"2844\" data-end=\"2924\">\n<li data-start=\"2844\" data-end=\"2865\">\n<p data-start=\"2846\" data-end=\"2865\">NGINX reverse proxy<\/p>\n<\/li>\n<li data-start=\"2866\" data-end=\"2894\">\n<p data-start=\"2868\" data-end=\"2894\">Supervisor process manager<\/p>\n<\/li>\n<li data-start=\"2895\" data-end=\"2924\">\n<p data-start=\"2897\" data-end=\"2924\">Auto-start services on boot<\/p>\n<\/li>\n<\/ul>\n<h3 data-start=\"2926\" data-end=\"2953\">2. Setup SSL (Optional)<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo bench setup lets-encrypt erp.mysite.local<br \/>\n<\/code><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udcdd Table of Contents System Requirements Pre-Installation Database Configuration Frappe &amp; ERPNext Installation Production Deployment (NGINX &amp; Supervisor) Post-Installation Setup [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":10,"menu_order":1,"comment_status":"open","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"doc_tag":[],"class_list":["post-14","docs","type-docs","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/docs.inbizsys.com\/index.php\/wp-json\/wp\/v2\/docs\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.inbizsys.com\/index.php\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/docs.inbizsys.com\/index.php\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/docs.inbizsys.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.inbizsys.com\/index.php\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":3,"href":"https:\/\/docs.inbizsys.com\/index.php\/wp-json\/wp\/v2\/docs\/14\/revisions"}],"predecessor-version":[{"id":21,"href":"https:\/\/docs.inbizsys.com\/index.php\/wp-json\/wp\/v2\/docs\/14\/revisions\/21"}],"up":[{"embeddable":true,"href":"https:\/\/docs.inbizsys.com\/index.php\/wp-json\/wp\/v2\/docs\/10"}],"wp:attachment":[{"href":"https:\/\/docs.inbizsys.com\/index.php\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/docs.inbizsys.com\/index.php\/wp-json\/wp\/v2\/doc_tag?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}