# Hardware
The minimum hardware required to install and run [[ERPNext]] is:
<span class="fieldname">CPU:</span> 1GHz
<span class="fieldname">RAM:</span> 2Gb
<span class="fieldname">HDD:</span> 1Gb
Minimum recommended, which will usually serve 10 users:
<span class="fieldname">CPU:</span> 2 x 1GHz
<span class="fieldname">RAM:</span> 4Gb
<span class="fieldname">SSD:</span> 64Gb
One important consideration is [[network]] [[latency]] to the [[backend]], which we want as low as possible, ideally less than 20ms on average.
# [[7. PVE 8.x - Create LXC (CT)#Create LXC using webUI|Create LXCu]]
Follow the [[7. PVE 8.x - Create LXC (CT)#Create LXC using webUI|guide]] using the settings below. [[LXC]]s will only use the resources required, not the resources assigned.
<span class="fieldname">Template:</span> Debian 12
<span class="fieldname">Disk:</span> 64G
<span class="fieldname">CPU:</span> 2
<span class="fieldname">Memory:</span> 4096
<span class="fieldname">Swap:</span> 0 - *you might want to set it higher if you do not have enough physical [[RAM]] to allocate*
<span class="fieldname">Network:</span> static [[IPv4]]: <code class="o-code">192.168.0.222/24</code>
# [[4. Debian - Setup|Setup Debian]]
<button class="login-root">🖥>login</button> <code class="login-root">root</code> and follow the guide for a minimum setup ([[4. Debian - Setup#Set Date & Time (recommended)|timezone]] and [[4. Debian - Setup#Update Debian (recommended)|update]]).
# [[Docker - Install#Install Docker|Install Docker]]
Follow the guide.
# Install [[ERPNext]]
<code class="g-code">$ wget https://raw.githubusercontent.com/frappe/bench/develop/easy-install.py</code>
<code class="g-code">python3 easy-install.py --prod --project</code> <code class="gh-code">all_lowercase_projectname</code> <code class="g-code">--sitename</code> <code class="gh-code">erp.mdn.com</code> <code class="g-code">--email</code> <code class="gh-code">
[email protected]
</code>
`projectname`: provides a [[Docker]] compose installation name
`sitename`: required for [[Let's Encrypt]]
`email`: required for [[Let's Encrypt]]
The following configuration files are created, based on the above inputs:
`./projectname-compose.yml` - docker compose config
`./passwords.txt` - active passwords
`./frappe_docker/.env` - active environment variables
`./frappe_docker/example.env` - example environment config (not active)
<code class="g-code">docker ps</code>
![[erpnext-install-0.png]]
<code class="g-code">reboot</code>
On reboot [[ERPNext]] does not start automatically. To run [[ERPNext]] use the following command:
<code class="g-code">docker compose --file projectname-compose.yml up -d</code>
If you have installed [[ERPNext]] using a domain name (e.g. `erp.mdn.com`) you will have to create a [[DNS]] A record to point the domain name to a valid [[IPv4]] (e.g. `erp.mdn.com` -> `192.168.0.222`). If you do not go through this step and try to access [[ERPNext]] using its [[IPv4]] ( e.g. `http://192.168.0.222`) you will get a <code class="r-code">404 page not found</code> error .
![[ERPNext#References]]
# Follow or Support me -> <a href='https://ko-fi.com/S6S0K9U5Q' target='_blank'><img height='36' style='border:0px;height:36px;float:right; ' src='https://storage.ko-fi.com/cdn/kofi1.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>