Skip to content
Live $100 credit at signup, up to $300 total Offer ends December 31, 2026 Get started →

ERPNext

ERPNext is a free, open-source ERP suite built on the Frappe framework. It covers accounting, inventory, manufacturing, CRM, HR, projects, and more in a single web application. The easiest way to run it is with the official frappe_docker images via Docker Compose.

ComponentVersion
ERPNext16.28.0
MariaDB11.8
Redis6.2
Ubuntu24.04 LTS

Set these optionally when you deploy from the marketplace. Leave a field blank to have a secure value generated.

VariableDescription
SITE_NAMEERPNext site name
ADMIN_PASSWORDERPNext admin password
ssh ubuntu@<your-vm-ip>

On the first boot, a setup script generates unique ERPNext and MariaDB passwords, starts the Docker Compose stack, and creates the initial site. This can take several minutes. Track progress:

journalctl -u erpnext-first-boot.service -f

The login message (MOTD) confirms when ERPNext is ready.

cd /opt/erpnext
docker compose ps
curl -fsS http://127.0.0.1:8080/login > /dev/null

Open a browser and navigate to:

http://<your-vm-ip>:8080

Retrieve the generated credentials:

sudo cat /etc/erpnext/credentials.txt
FieldValue
UsernameAdministrator
PasswordFrom /etc/erpnext/credentials.txt

Complete the setup wizard after you sign in.

# Check container status
cd /opt/erpnext && docker compose ps
# Restart
cd /opt/erpnext && docker compose restart
# View logs
cd /opt/erpnext && docker compose logs -f
PathPurpose
/opt/erpnext/docker-compose.ymlDocker Compose configuration
/opt/erpnext/.envStack version, ports, and passwords
/etc/erpnext/credentials.txtGenerated login credentials

Database, site, log, and Redis data persist in the db-data, sites, logs, and redis-queue-data Docker volumes.

Port 8080 is accessible on the VM’s network interface. UFW is enabled and allows SSH (port 22) and ERPNext (port 8080) by default.

To restrict the UI to a specific IP:

sudo ufw delete allow 8080/tcp
sudo ufw allow from <trusted-ip> to any port 8080

To access ERPNext without exposing port 8080, use an SSH tunnel:

First close the public port on the VM, since it is open by default:

sudo ufw delete allow 8080/tcp
# Run this on your local machine
ssh -L 8080:localhost:8080 ubuntu@<your-vm-ip>
# Then open in your browser
http://localhost:8080

For production use, place ERPNext behind a reverse proxy so you can serve it on port 443 with a TLS certificate, then restrict direct access to port 8080.

Last updated: