FREEDOM251

Freedom251 › Artifact repository software

Harmonia

Free plan LinuxSelf-hosted

Visit Harmonia Alternatives Pricing

Harmonia's own site

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

PlanBilled and limitsPrice
HarmoniaOpen-source Nix binary cache software · self-hostedFree

As github.com lists them, read 9 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the Harmonia repository at https://github.com/nix-community/harmonia.
  2. Use the documented NixOS module and example configurations if deploying on NixOS.
  3. Configure nginx as an HTTPS frontend, or use Harmonia's TLS support without a frontend web server.
  4. Provide private signing key paths if you want narinfo signing enabled.
  5. 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

Look at these too