Harmonia
github.com
What it is
Harmonia is free, open-source software for serving a Nix store as a binary cache over HTTP. Written in Rust for Linux self-hosting, it supports HTTP range requests for NAR streaming and streaming build logs. The /serve// endpoint can provide package contents and discover index.html to serve websites directly from the Nix store. Harmonia can transparently compress content with zstd and provide TLS when no frontend web server is used. Documentation covers a NixOS module and nginx HTTPS frontend configuration for a public cache. Narinfo signing is disabled unless private signing-key paths are supplied. Prometheus metrics are available at /metrics, with a Grafana dashboard included in the repository. Since version 3.1.0, metadata is read directly from db.sqlite without a nix-daemon connection. Version 3.3.0 adds harmonia-gc for removing store garbage while nix-daemon builds. It uses the MIT License.
Spec sheet
- What it does
- Harmonia is a Nix binary cache that serves the /nix/store over HTTP and is written in Rust.Read 4 Oct 2026 · github.com
- Purpose
- Harmonia serves a Nix store as a binary cache over HTTP and is written in Rust.Read 9 Oct 2026 · github.com
- Support
- The repository points users to its contributing guide and architecture documentation for project participation and technical details.Read 9 Oct 2026 · github.com
- License
- The project is licensed under the MIT License.Read 4 Oct 2026 · github.com
- Build logs
- It supports streaming build logs.Read 9 Oct 2026 · github.com
- 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.Read 9 Oct 2026 · github.com
- Compression
- It can transparently compress content with zstd.Read 9 Oct 2026 · github.com
- Maintainer
- The repository identifies Mic92 as a maintainer.Read 9 Oct 2026 · github.com
- Metadata access
- Since version 3.1.0, harmonia-cache reads store metadata directly from db.sqlite without connecting to nix-daemon.Read 4 Oct 2026 · github.com
- Monitoring
- Harmonia exposes Prometheus metrics at `/metrics` and provides a Grafana dashboard in the repository.Read 9 Oct 2026 · github.com
- NAR streaming
- It supports HTTP range requests for streaming NAR files.Read 9 Oct 2026 · github.com
- 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.Read 4 Oct 2026 · github.com
- NixOS
- The README documents configuring Harmonia as a public binary cache with a NixOS module and nginx as an HTTPS frontend.Read 4 Oct 2026 · github.com
- NixOS integration
- The project documents a NixOS module and example configurations using nginx as a frontend.Read 9 Oct 2026 · github.com
- Package serving
- Its `/serve/<narhash>/` endpoint serves package contents and can discover index.html files to serve websites from the Nix store.Read 9 Oct 2026 · github.com
- Recent release
- The latest listed release is harmonia-v3.3.0.Read 9 Oct 2026 · github.com
- Signing
- Harmonia does not sign narinfo by default without a secret key; signing can be enabled by providing private key paths.Read 4 Oct 2026 · github.com
- Storage metadata
- The cache reads store metadata directly from the Nix SQLite database and does not require a nix-daemon connection.Read 9 Oct 2026 · github.com
- TLS
- Harmonia can provide TLS directly when no frontend web server is used.Read 9 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Free MIT-licensed open-source software
- NAR range streaming and build-log streaming
- zstd compression and optional built-in TLS
- Prometheus metrics and Grafana dashboard
- NixOS module and nginx documentation
Limits
- Linux and self-hosted deployment only
- Narinfo signing is off by default
- No free trial is offered
Who it suits
Harmonia suits Linux users who want to self-host a Nix binary cache and configure its storage, TLS, signing, and monitoring.
Verdict
Harmonia provides a focused HTTP cache for Nix stores with operational tooling and NixOS guidance. Administrators must configure signing when needed and run the service themselves.
Where Specifiction places it
- Artifact repository software#28 of 648.0
- Build Cache Software#13 of 237.8