odoo-nix
Reproducible Nix infrastructure for Odoo Community (OCB) and OCA projects, from scaffolding and development to containers and NixOS.
Reproducible Nix infrastructure for Frappe and ERPNext, from the development shell to OCI containers and a multi-site NixOS module.
NixOS
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.
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.
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 appsReproducible 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.
A USB-booting NixOS image that turns an x86 computer into a locked-down Firefox kiosk for a single web page.
Need this implemented? We host Frappe and ERPNext on this platform as managed infrastructure.