Skip to content

frappe-nix

Reproducible Nix infrastructure for Frappe and ERPNext, from the development shell to OCI containers and a multi-site NixOS module.

NixOSActiveMIT
View on GitHub (opens in a new tab)
Platform

NixOS

License
MIT
Status
Active
Part of

The Nix platform

Setting up a Frappe bench by hand is slow, and no two benches end up quite alike. frappe-nix describes the whole thing declaratively, so the bench a developer runs, the one CI tests, and the one in production are built from the same pinned inputs. Your project's own flake stays a short wrapper. It's for Frappe and ERPNext developers and for teams that self-host and want deploys they can reproduce.

Features

  • Scaffolding. nix run github:Avunu/frappe-nix creates a new bench with a chosen Frappe version and apps, migrates an existing bench in place, or sets up app mode for a single app's repository.

  • Development shell. MariaDB, Redis, the Frappe runtime, asset watching, and Mailpit through devenv, with editable Python installs.

  • Guard rails. A bench restored from a production backup can't send real mail, delete from the production bucket, upload backups, fire webhooks, or sync with Plaid or Google. Local backups keep working.

  • Reproducible builds. Python environments through uv2nix, node_modules from each app's own yarn.lock, and a builtBench package with compiled assets.

  • Production. OCI images (a single runtime or split web, worker, scheduler, and socketio images) and a multi-tenant services.frappe NixOS module with per-site systemd units, secrets kept out of the Nix store, and safe migrations on deploy.

  • Bench scripts such as provision-site, bench-update, and bench-get-app.

Getting started

You need Nix with flakes and direnv. Run the scaffolder, then follow the quick start in the README:

direnv allow            # or: nix develop --no-pure-eval
devenv up               # start MariaDB, Redis, the Frappe runtime, watch, …
provision-site          # (first run, in another shell) create the site + install apps

Related projects

All open-source projects

odoo-nix

Active

Reproducible Nix infrastructure for Odoo Community (OCB) and OCA projects, from scaffolding and development to containers and NixOS.

A fast FrankenPHP WordPress stack built with Nix, deployable as OCI containers or a NixOS module, with MySQL, Cloudflare D1, or Turso databases.

Web Kiosk

Stable

A USB-booting NixOS image that turns an x86 computer into a locked-down Firefox kiosk for a single web page.

Need help with it?

Need this implemented? We host Frappe and ERPNext on this platform as managed infrastructure.