Harmonia
Harmonia is a free, open-source Nix binary cache for serving the /nix/store over HTTP.
What Harmonia is
Harmonia is a free, open-source Nix binary cache for serving the /nix/store over HTTP. Written in Rust for Linux and self-hosting, it supports HTTP range requests for NAR streaming and can stream build logs. Its `/serve/<narhash>/` endpoint can return package contents and find `index.html` to serve a website from the Nix store. Content can be compressed with zstd, and Harmonia can provide TLS when no frontend web server is used. The project documents a NixOS module and example configurations using nginx as an HTTPS frontend. Narinfo signing is off unless private key paths are configured. For monitoring, it exposes Prometheus metrics at `/metrics`, and the repository includes a Grafana dashboard. Harmonia reads store metadata directly from the Nix SQLite database without connecting to nix-daemon. The 3.3.0 release adds harmonia-gc, which can remove Nix store garbage while nix-daemon is building. The project is licensed under MIT.
Good
- Free and open source under the MIT License
- Supports NAR range requests and build-log streaming
- Can provide TLS without a frontend web server
- Exposes Prometheus metrics and includes a Grafana dashboard
- Reads metadata without a nix-daemon connection
Watch out
- Narinfo signing is disabled without configured private keys
- Runs on Linux
Who it suits
Harmonia suits Linux users who want to self-host a Nix binary cache and serve store contents over HTTP. It may also fit administrators looking for documented NixOS and nginx configuration, cache metrics, and optional signing.
Verdict
Harmonia provides a self-hosted HTTP cache with NixOS configuration guidance, streaming, compression and monitoring features. Signing requires private key paths, so users who need signed narinfo must configure them.
Plans and prices
From Harmonia's own pricing page, checked 9 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Harmonia | Free | Open-source Nix binary cache software · self-hosted |
The facts
Each one read from Harmonia's own pages, with the date it was checked.
What it does
- Build logs
- It supports streaming build logs.checked 9 Oct 2026
- Cache signing
- Narinfo signing can be enabled by providing paths to private signing keys; signing is disabled by default when no secret key is configured.checked 9 Oct 2026
- Compression
- It can transparently compress content with zstd.checked 9 Oct 2026
- License
- The project is licensed under the MIT License.checked 4 Oct 2026
- Maintainer
- The repository identifies Mic92 as a maintainer.checked 9 Oct 2026
- Metadata access
- Since version 3.1.0, harmonia-cache reads store metadata directly from db.sqlite without connecting to nix-daemon.checked 4 Oct 2026
- Monitoring
- Harmonia exposes Prometheus metrics at `/metrics` and provides a Grafana dashboard in the repository.checked 9 Oct 2026
- NAR streaming
- It supports HTTP range requests for streaming NAR files.checked 9 Oct 2026
- Nix garbage collection
- The 3.3.0 release adds harmonia-gc, which removes garbage from the Nix store and can run while nix-daemon is building.checked 4 Oct 2026
- Package serving
- Its `/serve/<narhash>/` endpoint serves package contents and can discover index.html files to serve websites from the Nix store.checked 9 Oct 2026
- Purpose
- Harmonia serves a Nix store as a binary cache over HTTP and is written in Rust.checked 9 Oct 2026
- Recent release
- The latest listed release is harmonia-v3.3.0.checked 9 Oct 2026
- Signing
- Harmonia does not sign narinfo by default without a secret key; signing can be enabled by providing private key paths.checked 4 Oct 2026
- Storage metadata
- The cache reads store metadata directly from the Nix SQLite database and does not require a nix-daemon connection.checked 9 Oct 2026
- Support
- The repository points users to its contributing guide and architecture documentation for project participation and technical details.checked 9 Oct 2026
- TLS
- Harmonia can provide TLS directly when no frontend web server is used.checked 9 Oct 2026
- What it does
- Harmonia is a Nix binary cache that serves the /nix/store over HTTP and is written in Rust.checked 4 Oct 2026
Where it runs
- NixOS
- The README documents configuring Harmonia as a public binary cache with a NixOS module and nginx as an HTTPS frontend.checked 4 Oct 2026
- NixOS integration
- The project documents a NixOS module and example configurations using nginx as a frontend.checked 9 Oct 2026





