Freedom251 › Artifact repository software
Harmonia

What Harmonia is
Harmonia is a free, open-source Nix binary cache for Linux systems that you host yourself. Written in Rust, it serves the Nix store over HTTP, including NAR files and build logs. Its `/serve/<narhash>/` endpoint can return package contents; when it finds an `index.html` in the store, it can serve the website directly. Harmonia supports HTTP range requests for NAR streaming and can compress content transparently with zstd. It can also provide TLS encryption without a frontend web server. For NixOS deployments, the project documents a module and example configurations that use nginx as an HTTPS frontend. Narinfo signing is disabled when no secret key is configured, but you can enable it by providing private signing key paths. Harmonia exposes Prometheus metrics at `/metrics`, and the repository includes a Grafana dashboard. The `harmonia-cache` tool reads metadata directly from `db.sqlite`, without connecting to nix-daemon. The 3.3.0 release adds `harmonia-gc`, which removes Nix store garbage and can run while nix-daemon is building. The project is licensed under MIT; its repository identifies Mic92 as a maintainer and links to contribution and architecture documentation.
Who it suits
Harmonia suits Nix users who want to host a binary cache on Linux and serve store contents over HTTP. It may also suit NixOS operators who want documented module and nginx configuration options, with Prometheus metrics for monitoring.
What it does well
- Serves NAR files and build logs over HTTP.
- Can compress content transparently with zstd.
- Can provide TLS without a frontend web server.
- Exposes Prometheus metrics and includes a Grafana dashboard.
- Reads store metadata without a nix-daemon connection.
- Includes garbage collection that can run during builds.
What to know first
- Designed for Linux self-hosting.
- Narinfo signing is disabled unless private key paths are provided.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Harmonia | Open-source Nix binary cache software · self-hosted | Free |
As github.com lists them, read 9 Oct 2026. The maker's own page has the final word.
Getting started
- Open the Harmonia repository at https://github.com/nix-community/harmonia.
- Use the documented NixOS module and example configurations if deploying on NixOS.
- Configure nginx as an HTTPS frontend, or use Harmonia's TLS support without a frontend web server.
- Provide private signing key paths if you want narinfo signing enabled.
- Use the `/metrics` endpoint for Prometheus monitoring.
Verdict
Choose Harmonia if you want a free, MIT-licensed Nix binary cache that you can self-host on Linux. Look elsewhere if you need a hosted option or do not want to manage the server yourself.
Questions
How much does Harmonia cost?
Harmonia is free and open source. Its listed plan is free.
Which platforms does Harmonia support?
It is listed for Linux and self-hosting.
Is Harmonia open source?
Yes. The project is licensed under MIT.
Does Harmonia sign narinfo by default?
No. Signing is disabled when no secret key is configured; it can be enabled with private signing key paths.
Does Harmonia require a nix-daemon connection to read store metadata?
No. Since version 3.1.0, `harmonia-cache` reads metadata directly from `db.sqlite`.
Can Harmonia provide TLS?
Yes. It can provide TLS itself when no frontend web server is used. The project also documents nginx as an HTTPS frontend.
Facts from Harmonia's own pages
- Build logs
- It supports streaming build logs. · github.com, 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. · github.com, 9 Oct 2026
- Compression
- It can transparently compress content with zstd. · github.com, 9 Oct 2026
- License
- The project is licensed under the MIT License. · github.com, 4 Oct 2026
- Maintainer
- The repository identifies Mic92 as a maintainer. · github.com, 9 Oct 2026
- Metadata access
- Since version 3.1.0, harmonia-cache reads store metadata directly from db.sqlite without connecting to nix-daemon. · github.com, 4 Oct 2026
- Monitoring
- Harmonia exposes Prometheus metrics at `/metrics` and provides a Grafana dashboard in the repository. · github.com, 9 Oct 2026
- NAR streaming
- It supports HTTP range requests for streaming NAR files. · github.com, 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. · github.com, 4 Oct 2026
- NixOS
- The README documents configuring Harmonia as a public binary cache with a NixOS module and nginx as an HTTPS frontend. · github.com, 4 Oct 2026
- NixOS integration
- The project documents a NixOS module and example configurations using nginx as a frontend. · github.com, 9 Oct 2026
- Package serving
- Its `/serve/<narhash>/` endpoint serves package contents and can discover index.html files to serve websites from the Nix store. · github.com, 9 Oct 2026
- Purpose
- Harmonia serves a Nix store as a binary cache over HTTP and is written in Rust. · github.com, 9 Oct 2026
- Recent release
- The latest listed release is harmonia-v3.3.0. · github.com, 9 Oct 2026
- Signing
- Harmonia does not sign narinfo by default without a secret key; signing can be enabled by providing private key paths. · github.com, 4 Oct 2026
- Storage metadata
- The cache reads store metadata directly from the Nix SQLite database and does not require a nix-daemon connection. · github.com, 9 Oct 2026
- Support
- The repository points users to its contributing guide and architecture documentation for project participation and technical details. · github.com, 9 Oct 2026
- TLS
- Harmonia can provide TLS directly when no frontend web server is used. · github.com, 9 Oct 2026
- What it does
- Harmonia is a Nix binary cache that serves the /nix/store over HTTP and is written in Rust. · github.com, 4 Oct 2026
Where Harmonia stands on Freedom251
- Artifact repository software#25 of 64
- Build Cache Software#14 of 23