Dev Tooling

Dev Containers

Frappe apps without a bench

Vyogo Dev Containers wrap the Single Node Environment in a small utility that creates a custom Frappe app inside a container, writes it back to your working directory, and wires the volume mount into your compose file. New contributors go from clone to coding without installing a bench.

Language
Shell
License
Open source
Runtimes
Docker · Podman
Base image
vyogo/erpnext:sne-*
Setup
Under a minute
QUICKSTART
Create an app
# Docker (default)./create_custom_frappe_app.sh my_app # Podman./create_custom_frappe_app.sh my_app --podman
Mount an existing app
# Just wire the volume mount into compose.yml./create_custom_frappe_app.sh my_app --compose-update-only --podman
Boot it
podman-compose up -d # Install onto the pre-existing sitepodman exec -it <container> \  bench --site dev.localhost install-app my_app

What Dev Containers gives you

Bench-less app creation

bench new-app runs inside a throwaway container and the scaffolded app lands in your working directory. Nothing but a container runtime needs to exist on the host.

Compose wiring, done for you

The utility edits compose.yml to add the volume mount, so the app you just created is live in the environment without hand-editing YAML.

Docker or Podman

Runtime is auto-detected and can be forced with --podman, so rootless setups are a first-class path rather than an afterthought.

Mount-only mode

Already have an app? --compose-update-only skips creation and just wires the mount, which is the common case on a second machine.

Under the hood

A pre-configured Single Node Environment optimised for local development, Gitpod and instant onboarding — the container carries the toolchain so the host only needs Docker or Podman.

Read the source

Frequently asked questions

How is this different from Frappista?

Frappista is the image — a bootable Frappe/ERPNext environment. Dev Containers is the workflow around it: a utility that scaffolds a custom app inside that image, writes it to your filesystem and wires the compose mount. You use both together.

Do I need Docker specifically?

No. Podman is fully supported and selected either automatically or with the --podman flag, so rootless container workflows work without modification.

Does the site need setting up first?

No. The SNE image ships with dev.localhost already installed, so the container is serving a working site the moment it starts.

Running Dev Containers in production?

We 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