- ERPNext
- Frappe
- Docker
- MariaDB
ERPNext VPS HostingOpen-source ERP on a server you control
ERPNext is a complete open-source ERP: accounting, inventory, sales, HR and more. Frappe recommends Docker for production, so we prepare a hardened KVM VPS with Docker and NGINX with free SSL, ready for your ERPNext stack and your company's data.
- KVM virtualisation
- NVMe storage
- Root SSH access
- Free one-time setup
- 99.9% uptime SLA
$systemctl list-units --type=service --state=active
- dockerERPNext stack (frappe_docker)
- mariadbdatabase service in the stack
- rediscache and queue services
- nginxHTTPS reverse proxy
- ufwfirewall: 22, 80, 443
- fail2banSSH brute-force guard
Installed and secured before handover.
Why Self-Host ERPNext on a VPS
Hosted ERPs charge per user. ERPNext is open source and can run on your own server at a flat cost.
Open source, no per-user licence
ERPNext is GPL-3.0; add users as the server allows.
Your books and your data
Accounting, stock and HR data on a server in the location you choose.
Customisable
Add apps and custom fields through the Frappe framework.
Run it your way
Docker, as Frappe recommends for production, or a manual bench install.
How an ERPNext Server Is Set Up
Docker runs Frappe's services; NGINX gives you HTTPS.
-
Reverse proxy
NGINX
HTTPS on your domain, forwarding to the Frappe web service.
-
Application
ERPNext on the Frappe framework
Web, background workers and scheduler, as containers.
-
Database
MariaDB
Frappe's database (MariaDB 11.8 for v16, 10.6.6 or later for v14 and v15).
-
Cache and queues
Redis
Caching and background job queues.
-
Files
Docker volumes on NVMe
Attachments, sites and backups.
Engineer's notes
- Frappe's bench README recommends the Docker installation for a production environment.
- For a bench install on Debian or Ubuntu, Frappe says to use Debian 13+ or Ubuntu 24.04+; v16 needs Python 3.14, Node 24 and MariaDB 11.8, v14 and v15 need Python 3.10+, Node 18+ and MariaDB 10.6.6+.
- The Docker quick start in the ERPNext README is a disposable demo; use frappe_docker's production documentation for a real setup.
- Frappe does not publish server sizes in the pages we read, so the plan guidance here is ours; test with your own data.
- 443HTTPS, your reverse proxy
- 80HTTP, redirects to HTTPS
- 22SSH, you only
- 8000Frappe web server, behind the proxy
What You Can Run
Accounting and invoicing
Ledgers, invoices and financial reports.
Inventory and manufacturing
Stock, BOMs and work orders.
Sales and purchasing
Quotations, orders and supplier bills.
HR and payroll
Employees, leave and payroll.
CRM and projects
Leads, tasks and timesheets.
Custom apps
Your own Frappe apps beside ERPNext.
Which Plan for Your ERPNext Server
Frappe publishes no sizes in the pages we read; this is our guidance. Test with your own data and users.
VPS-1
4 GB RAM is tight; fine for a trial with a few users.
A starting point, not a limit: every plan upgrades in place, keeping your data, IP address and configuration.
Getting ERPNext Running
ERPNext's own README and Frappe's docs are the source of truth; these are the entry points.
-
Check Docker is ready
We install Docker and the Compose plugin for you.
docker --versiondocker compose version -
Get the production files
Frappe's frappe_docker repository holds the production documentation.
git clone https://github.com/frappe/frappe_dockercd frappe_docker -
Follow its production guide
Choose your Frappe version, set the database password and site name, then start the stack.
docker compose ps -
Put HTTPS in front
Point your domain at the server and proxy 443 to the Frappe web service.
sudo nginx -t && sudo systemctl reload nginx
Example commands: adjust names, paths and versions to your project. Deploying and maintaining your application is yours to do, or ask us for a quote.
ERPNext commands you will use every week
Copy, paste, adjust the names. Each one is safe to run as your own user on the server.
See the containers
docker compose ps
Follow a service log
docker compose logs -f backend
Restart the stack
docker compose restart
Disk used by Docker
docker system df
Pull newer images
docker compose pull
Reload NGINX safely
sudo nginx -t && sudo systemctl reload nginx
Hosted ERP or ERPNext on Your Own VPS?
A hosted ERP removes the server work. Your own ERPNext has no per-user licence and keeps data with you.
Hosted ERP
- PricingPer user, per month
- Where data livesThe provider's cloud
- CustomisationWithin the vendor's limits
- Upgrades and backupsHandled by the provider
- Server administrationHandled by the provider
ERPNext VPS
- PricingFlat server cost; ERPNext is open source
- Where data livesYour server, your location
- CustomisationFull Frappe framework access
- Upgrades and backupsYours: updates and extra backups
- Server administrationYours, after our free setup
Your ERPNext server
Free one-time setup before you get access. Here is what happens, and what you receive.
Pick a plan and a location
Resources that fit your workload, in the datacentre closest to your users.
Tell us your ERPNext setup
Versions, database and domain: at order or right after.
We install and secure it
Server hardened, the stack installed and tested, HTTPS on your domain.
You get root
SSH to a working server, ready for your code and data.
Installed for you
- Docker with the Compose plugin installed
- NGINX reverse proxy with HTTPS on your domain
- Firewall open for SSH, HTTP and HTTPS only
- Starting ERPNext from Frappe's frappe_docker guide, your site and your users are done by you, following Frappe's documentation
Secured before handover
- Non-root sudo user created for daily work
- SSH key login, password login for root disabled
- Firewall (UFW) open only for the ports you use
- Fail2ban blocking repeated login attempts
- Automatic security updates enabled
- Free Let's Encrypt SSL on your domain
- Timezone, swap and hostname configured
Not included (we say so up front)
- Ongoing server administration
- Application maintenance and updates
- Debugging your code
- Migrating existing sites or data
Security and Performance for ERPNext
Security
- Set strong passwords for the Administrator user and the database.
- Keep ERPNext updated through Frappe's upgrade steps; take a snapshot first.
- Back up the site database and files in addition to the daily VPS backups.
- Restrict who can reach the admin pages by IP or VPN if you can.
Performance
- Give MariaDB enough RAM; ERPNext leans on it.
- Keep free disk space for attachments and backups.
- Run heavy reports outside working hours.
- Watch container memory with `docker stats` and move up a plan if it is tight.
Built from the official documentation
VPS Plans for ERPNext
An ERP runs many services together. Start at VPS-2 for a small company; VPS-3 or VPS-4 for more users and heavier reports.
VPS-1
Small websites, APIs, bots and development servers.
- 2 vCores
- 4 GB RAM
- 40 GB NVMe
- 500 Mbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-2
Production apps, WordPress and online stores.
- 4 vCores
- 8 GB RAM
- 75 GB NVMe
- 1 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-3
Busy stores, SaaS products and several projects.
- 6 vCores
- 12 GB RAM
- 100 GB NVMe
- 2 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-4
High-traffic apps, large databases and agencies.
- 8 vCores
- 24 GB RAM
- 200 GB NVMe
- 3 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
* Unlimited traffic in Europe and North America. In Mumbai, Singapore and Sydney a monthly allowance applies (VPS-1 500 GB, VPS-2/VPS-3 1 TB, VPS-4 3 TB), then speed is limited to 10 Mbps until the next month.
Prices exclude 18% GST, which is added to invoices for customers in India.
Platform specs and locations
The same KVM platform on every plan; only CPU, RAM, storage and port speed change.
- Virtualisation
- KVM with reserved vCores and RAM
- Storage
- NVMe SSD on every plan
- Network
- Dedicated IPv4 and IPv6, 500 Mbps to 3 Gbps per plan
- Operating systems
- Ubuntu 26.04, 24.04 and 22.04 LTS · Debian 13, 12 and 11 · AlmaLinux · Rocky Linux · Fedora · FreeBSD
- Access
- Full root over SSH, key-based login
- Backups
- Automatic daily backup of the previous 24 hours; snapshots and longer retention on request
- Protection
- Always-on anti-DDoS mitigation
- Availability
- 99.9% uptime SLA
Asia-Pacific
- Mumbai
- Singapore
- Sydney
Europe
- London
- Limburg
- Roubaix
- Gravelines
- Strasbourg
- Milan
- Warsaw
North America
- Beauharnois
Availability per location changes with demand; we confirm your location before setup. In Mumbai, Singapore and Sydney each plan includes a monthly traffic allowance (VPS-1 500 GB, VPS-2 and VPS-3 1 TB, VPS-4 3 TB); beyond it, speed is limited to 10 Mbps until the next month.
Questions before you deploy
Not covered here? Ask an engineer before you order.
Ready when you are
Run Your Own ERP
Choose a plan and we hand over a hardened server with Docker and HTTPS, ready for ERPNext.