Boots with a site already installed
The dev.localhost site exists before the container starts. There is no first-run setup step, which is what makes the images usable in CI and in demos.
DevOps
Zero-config Frappe images
Frappista packages Frappe and ERPNext as Single Node Environment images that already contain MariaDB, Redis, Node, Python and a bench with a live dev.localhost site. One docker run and you are looking at a login screen — no bench install, no service wrangling.
docker run -d \ --name my-frappe-instance \ -p 8080:8000 \ docker.io/vyogo/erpnext:sne-version-15 \ /usr/libexec/s2i/run # http://localhost:8080 -> Administrator / admin# Mount a custom app into the benchdocker run -d \ --name my-dev-bench \ -p 8080:8000 \ -v $(pwd)/my_custom_app:/home/frappe/frappe-bench/apps/my_custom_app \ docker.io/vyogo/frappe:sne-version-15 \ /usr/libexec/s2i/run docker exec -it my-dev-bench \ bench --site dev.localhost install-app my_custom_app# Debian / Ubuntusudo apt install ./frappista_16.31.0-1~ubuntu2404_amd64.debsudo frappista-setup --site dev.localhost --admin-password admin # Any distribution with snapdsudo snap install frappista --classicsudo snap alias frappista.bench benchThe dev.localhost site exists before the container starts. There is no first-run setup step, which is what makes the images usable in CI and in demos.
Every tag is built for both amd64 and arm64, so an M-series laptop runs the same image as the CI runner rather than emulating one.
S2I turns an app repository into a production image without a hand-written Dockerfile, keeping build configuration in the builder rather than in every project.
Bind-mount a custom app into the bench and changes are live in the running container — no rebuild between edits.
The same stack ships as snap, .deb, .rpm and Homebrew packages under the name Vybench, sharing the identical nginx routing template so requests route the same way either side.
The whole build-time configuration is baked into the image layer, so start-up is a process launch rather than a provisioning run. That is what lets the same artefact serve local development, CI pipelines and demos unchanged.
Use the sne-* tags — docker.io/vyogo/erpnext:sne-version-15 or docker.io/vyogo/frappe:sne-version-15, with version-14 and develop also published. The s2i-* tags are internal builder images and are not meant to be run directly.
Yes. Images are natively built for arm64 as well as amd64, so M1 through M4 Macs run them at full speed.
That is one of the main use cases. Because the site is pre-installed, a pipeline can pull the image and start running tests immediately instead of spending minutes on bench setup.
Administrator with password admin — or ChangeMe, depending on the build configuration. Change it before exposing an instance anywhere beyond localhost.
Yes — that is what Vybench is for. It installs the same Frappe and ERPNext stack as a snap, a .deb, a .rpm or a Homebrew formula, running under your system's own service manager instead of a container runtime.
Frappe v16 as a native package
Frappe and ERPNext v16 installed with snap, apt, dnf or brew — no Docker, no bench setup script.
ExploreFrappe apps without a bench
Scaffold and mount custom Frappe apps from a container — no local bench install required.
ExploreFrappe Package Manager
npm-style packaging for Frappe apps: versioned .fpm artefacts, private repos, no Git required.
ExploreWe build and maintain these tools, and we help teams adopt them. Tell us what you are trying to ship and we will tell you honestly whether this is the right piece.
Talk to the team