Skip to content

odoo-nix

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

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

NixOS

License
MIT
Status
Active
Repository
Part of

The Nix platform

Odoo Community plus OCA modules is a capable, open alternative to Odoo Enterprise, but assembling the right repositories, Python dependencies, and configuration by hand is fiddly. odoo-nix builds the whole project from a small source tree and a short flake, so development, CI, and production all run the same Odoo. It's for Odoo developers and integrators, and for businesses that want to self-host Odoo without lock-in.

Features

  • Scaffolding. nix run github:Avunu/odoo-nix picks an Odoo series (18.0 or 19.0) and, optionally, OCA bundles or individual modules from a bundled catalog. It resolves the repos those modules depend on and adds them as git submodules.

  • Configuration that can't drift. addons_path is derived from the folders actually present, and odoo.conf is generated from your flake.

  • Development shell. PostgreSQL, Odoo, and Mailpit through devenv, with live reload, editor integration, and a reproducible Python environment through uv2nix.

  • One CLI. odoo handles database provisioning, migration, backup, and restore; adding OCA modules and bundles; and passes everything else to odoo-bin.

  • Production. A services.odoo-nix NixOS module that keeps secrets out of the Nix store and migrates the schema before every start, with a snapshot and rollback if it fails. OCI container images too.

  • Shared logging conventions with frappe-nix and wordpress-nix, so one query covers all three.

Getting started

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

nix run github:Avunu/odoo-nix                    # interactive (gum prompts)

Related projects

All open-source projects

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

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? Our Odoo implementation team builds on it, and we host Odoo on this platform as managed infrastructure.