An ERPNext deployment on your own server is mostly plumbing. MariaDB, Redis, Python, Node.js, a reverse proxy, SSL and a backup job all have to be in place before you see the setup wizard, and every one of them has a version ERPNext insists on. Meetrix's ERPNext AMI does that plumbing for you on AWS. It runs ERPNext 16.11.0 on Ubuntu 24.04, created by a CloudFormation stack in 5-10 minutes.
It isn't the only sensible way to run ERPNext, and the comparison with Docker, on premise and Frappe Cloud further down says when another route is better.
ERPNext AWS: what the AMI sets up
- ERPNext 16.11.0 and its Frappe stack on one EC2 instance running Ubuntu 24.04
- A new VPC and subnet (10.0.0.0/16 and 10.0.0.0/24 by default), with SSH limited to the range you set
- A Let's Encrypt certificate requested automatically when your domain is hosted on Route 53
- Backups to an S3 bucket you name when you create the stack
- Billing on your AWS invoice: the instance plus an hourly software fee, after a 5-day free trial
It's a single instance, so there's no high availability built in. For most small and mid-sized companies running one ERPNext site, that's the right trade. If downtime during an instance failure isn't acceptable, you're looking at a multi-server Frappe setup instead.
Deploy ERPNext on AWS in six steps
How to Install ERPNext on AWS? - Quick Video Guide
- Open the ERPNext listing on AWS Marketplace, click "Continue to Subscribe" and accept the terms.
- Click "Continue to Configuration", choose "CloudFormation Template" and your region, then "Continue to Launch" and "Launch CloudFormation".
- Fill in the stack parameters:
Admin Email(for the certificate),DeploymentName,DomainName,InstanceType(t3.medium recommended), your EC2keyNameand theS3Bucketfor backups.SSHLocationdefaults to 0.0.0.0/0; set it to your own IP range. - Choose "Roll back all stack resources" on failure, tick the IAM acknowledgement and submit. Creation takes 5-10 minutes. A vCPU limit error on a new account means a vCPU quota increase comes first.
- Copy
PublicIpfrom the Outputs tab and point your domain's A record at it in Route 53. - Open
DashboardUrland log in asAdministratorwith the passwordadmin. Change that password before anything else.
If the domain isn't on Route 53, or the automatic certificate fails, SSH in and run the standalone script:
sudo /root/certificate_generate_standalone.sh Developer Guide
The setup wizard starts on that first login: company, currency, fiscal year, and an option to load demo data. For what each module looks like after the first login, see our ERPNext demo walkthrough.
ERPNext hosting requirements
Frappe's installation docs are specific about software and silent about hardware. For Frappe and ERPNext version 16 they list:
| Component | Version 16 |
|---|---|
| Operating system | Ubuntu 24.04+ or Debian 13+ (macOS for development) |
| MariaDB | 11.8 |
| Python | 3.14 |
| Node.js | 24 |
| Redis or Valkey | 6+ |
| wkhtmltopdf | Needed up to version 16 for PDFs |
No RAM or CPU minimum is published. The AMI's recommended t3.medium (2 vCPU, 4 GiB) runs the whole stack, database included, for a single company site. Memory is what runs out first as you add users and background jobs like email, reports and scheduled tasks, so watch it in the first month and resize the instance if it climbs. Setting up an AWS billing alarm before you size up is a good habit too.
ERPNext on premise, Docker, Frappe Cloud or an AMI
There are four realistic ways to run ERPNext. They differ mostly in who does the maintenance.
ERPNext installation with bench
The native route. Frappe's bench CLI and its install script set up MariaDB, Redis and the rest on an Ubuntu or Debian server, then bench get-app erpnext downloads ERPNext and bench --site <site> install-app erpnext installs it on a site. It's the most flexible option and the most work: upgrades, backups and SSL are yours.
ERPNext Docker
The official frappe_docker project runs ERPNext as containers. Read the labels carefully: ERPNext's README calls its Docker quick start a disposable demo for evaluation, and frappe_docker has a separate production setup. Use that one if containers are how you run everything else.
ERPNext on premise
Either of the two routes above, on your own hardware. Pick it when the data can't leave your building or a regulator says so. Otherwise a VM in a cloud region you choose gives you the same control without the hardware refresh cycle.
Frappe Cloud
Frappe's own managed hosting handles installation, upgrades, monitoring and support. It's the least work and the least control: the server isn't in your account.
The AMI sits between bench and Frappe Cloud. It's a bench-style install already done for you, running in your own AWS account. If you're still choosing between ERP systems rather than hosting options, our ERPNext vs Odoo comparison covers that, and there's an Odoo AMI if Odoo wins.
Customizing ERPNext: Frappe apps, scripts and the REST API
ERPNext is built on the Frappe Framework, and nearly every customization goes through it:
- Custom apps. Create a separate Frappe app with
bench new-appfor anything substantial. Keeping it out of ERPNext's own code is what keeps upgrades painless. - Client and Server Scripts. Small form logic in JavaScript and Python, written from the browser without a deploy. Server Scripts are off by default; a system admin enables them with
bench set-config -g server_script_enabled 1. - REST API. Every DocType is exposed at
/api/resource/<DocType>. Generate an API key and secret for a user and sendAuthorization: token api_key:api_secret. Details are in Frappe's REST API docs. - Webhooks. Configured in the UI, they notify another system when a document is created, updated or submitted, such as a new Sales Order.
Start with configuration (custom fields, print formats, workflows) before writing code. A surprising amount of "we need a developer" turns out to be a setting.
Frequently Asked Questions
How do I deploy ERPNext on AWS?
The quickest way is Meetrix's ERPNext AMI on AWS Marketplace: subscribe, launch it as a CloudFormation stack, point your domain at the instance and log in. It takes 5-10 minutes. The manual route is an Ubuntu EC2 instance with Frappe's bench tooling.
What are the ERPNext hosting requirements?
For ERPNext 16, Frappe's install docs list Ubuntu 24.04+ or Debian 13+, MariaDB 11.8, Python 3.14, Node.js 24 and Redis or Valkey 6+. They don't publish a RAM minimum. The AMI recommends a t3.medium, 2 vCPU and 4 GiB.
What is the default ERPNext login on the AMI?
Username Administrator, password admin. The setup wizard opens on that first login. Change the Administrator password before you invite anyone else, because the default is the same on every fresh install.
Can I run ERPNext with Docker?
Yes, through the official frappe_docker project. ERPNext's own README labels its Docker quick start a disposable demo meant for evaluation, so for production use the frappe_docker production setup, a bench install, or a prebuilt image like the AMI.
Can ERPNext run on premise?
Yes. ERPNext installs on your own Linux server with Frappe's bench tooling, and nothing about it requires a cloud. On premise you also own updates, backups and SSL, which is the work an AMI or Frappe Cloud takes off your hands.
Is ERPNext free?
ERPNext is open source under GPL-3.0, so the software costs nothing. On AWS you pay for the EC2 instance, and with the Meetrix AMI an hourly software fee, after a 5-day free trial.
Why do I see 502 Bad Gateway after deploying ERPNext?
ERPNext is still starting. The stack can show as complete a few minutes before the app answers. Wait about 5 minutes and refresh.
Need Help with Your ERPNext Deployment?
If you run into any issues or need assistance with your ERPNext setup, our support team is here to help.
Contact Support