The tools in this repo can be used to build and deploy a custom Frappe/ERPNext image. This setup has been tailored for Debian Trixie and runs using a rootless Podman pod. The ERPNext image is based on the v15 Containerfile found in the official ERPNext Docker image repository. The pod will be accessible via HTTP; if it is exposed to the network, use a reverse proxy with TLS termination (or similar) to secure the connection.
- The scripts currently assume the system user
erpnext. The home directory can be chosen freely; this documentation suggests/srv/erpnext
$ sudo adduser --system --group --home /srv/erpnext erpnext
$ sudo loginctl enable-linger erpnext# Clone this repository
$ cd /srv/erpnext && sudo -u erpnext git clone https://github.com/markuspetermann/erpnext-podman.git
# Ensure the deployment scripts are executable
$ chmod ug+x /srv/erpnext/erpnext-podman/deploy/*.sh- Copy
/srv/erpnext/erpnext-podman/deploy/.env.erpnext.exampleto/srv/erpnext/.env.erpnextand edit as needed - Edit
/srv/erpnext/erpnext-podman/deploy/apps.jsonto include the apps you want to install
$ cd /srv/erpnext/erpnext-podman/deploy
$ sudo -u erpnext ./build.sh
$ sudo -u erpnext ./install.sh- Backups run automatically daily at 2:00 AM
- Backups are stored in
/srv/erpnext/data/sites/{FRAPPE_SITE_NAME_HEADER}/private/backups - By default, Frappe keeps the three most recent backups and removes older ones automatically. This can be changed in the System Configuration UI
- Use
backup.shto create a backup manually
- Automatic updates are not configured. The MariaDB and Valkey images need to be pulled manually. The ERPNext image needs to be rebuilt manually using
build.sh - After re-running
build.sh, the new image will be used after the next restart oferpnext-pod.service bench.shis a convenience wrapper forbenchinside the backend containersystemctl.shis a convenience wrapper forsystemctl --userthat sets the required environment variables
- Add Apache 2 reverse proxy example config with TLS?
- Add auto-update?