FREEDOM251

Freedom251 › Build Cache Software

nix-serve

Free plan LinuxSelf-hosted

Visit nix-serve Alternatives Pricing

nix-serve's own site

What nix-serve is

nix-serve runs a Nix store as a standalone binary cache server. Other Nix installations can use its URL as a substituter, allowing them to obtain store paths from the cache. The project’s example starts it with `nix run github:edolstra/nix-serve` and serves on localhost port 5000; `nix store ping --store http://localhost:5000` checks that it is responding. Nix users connect to the cache by passing its URL with `--substituters`. The usage instructions assume a flake-enabled version of Nix, and the documented deployment is a locally run, self-hosted server for Linux. Cache signing is supported through a generated key pair and the `NIX_SECRET_KEY_FILE` environment variable. Served store paths can be verified with `nix verify` and a trusted public key. nix-serve uses the Starman web server, whose additional flags are relevant to server configuration; the README gives `--access-log /dev/stderr` as an example. The project is open source under the LGPL-2.1 license and is available free of charge. Its repository is published under the edolstra GitHub account.

Who it suits

nix-serve suits Nix users who want to operate a self-hosted binary cache and make its store paths available to other Nix installations. It is especially relevant when a flake-enabled Nix setup and cache signing or verification are part of the deployment.

What it does well

  • Serves a Nix store as a binary cache for other Nix installations.
  • Connects to Nix through the `--substituters` option.
  • Documents signing and verification with key pairs.
  • Free and open source under LGPL-2.1.
  • Starman flags include an access-log example.

What to know first

  • Usage instructions assume a flake-enabled version of Nix.
  • The documented deployment is Linux and self-hosted.

Plans

PlanBilled and limitsPrice
nix-serveStandalone Nix binary cache server · LGPL-2.1 licenseFree

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

Getting started

  1. Use a flake-enabled version of Nix.
  2. Run `nix run github:edolstra/nix-serve` to start the server locally on port 5000.
  3. Check the server with `nix store ping --store http://localhost:5000`.
  4. Pass the server URL to other Nix installations with `--substituters`.
  5. Optionally configure cache signing with a generated key pair and `NIX_SECRET_KEY_FILE`.
  6. Verify served store paths with `nix verify` and a trusted public key.

Verdict

Choose nix-serve if you want a free, open-source server for sharing a Nix store as a binary cache. Its documented setup assumes flake-enabled Nix and a Linux self-hosted deployment, so it is not a fit for users seeking a hosted service or another platform.

Questions

What does nix-serve do?

It serves a Nix store as a binary cache that other Nix installations can use as a substituter.

What does nix-serve cost?

The plan is free.

Is nix-serve open source?

Yes. The project is under the LGPL-2.1 license.

What platform does it support?

The listed platforms are Linux and self-hosted use.

What Nix setup does it require?

Its usage instructions assume a flake-enabled version of Nix.

Can I sign and verify the cache?

The documentation describes signing with a generated key pair and `NIX_SECRET_KEY_FILE`, and verifying store paths with `nix verify` and a trusted public key.

Facts from nix-serve's own pages

Access logging
The README gives `--access-log /dev/stderr` as an example Starman flag. · github.com, 9 Oct 2026
Cache check
The README shows checking the server with `nix store ping --store http://localhost:5000`. · github.com, 8 Oct 2026
Cache integration
Other Nix installations can use the cache by passing its URL to `--substituters`. · github.com, 9 Oct 2026
Cache signing
The README documents signing the binary cache using a generated key pair and the `NIX_SECRET_KEY_FILE` environment variable. · github.com, 9 Oct 2026
Check server
The README shows checking the server with `nix store ping --store http://localhost:5000`. · github.com, 9 Oct 2026
Deployment
The README describes running nix-serve locally as a standalone binary cache server. · github.com, 9 Oct 2026
License
The repository lists the project under the LGPL-2.1 license. · github.com, 9 Oct 2026
Maintainer
The repository owner is Eelco Dolstra, whose GitHub profile lists Utrecht, Netherlands. · github.com, 8 Oct 2026
Nix integration
The README says to pass the server URL to Nix with `--substituters` to use the cache. · github.com, 8 Oct 2026
Nix requirement
The usage instructions assume a flake-enabled version of Nix. · github.com, 8 Oct 2026
Publisher
The repository is under the GitHub account edolstra. · github.com, 9 Oct 2026
Purpose
nix-serve serves a Nix store as a binary cache that other Nix installations can use as a substituter. · github.com, 9 Oct 2026
Requirements
The usage instructions assume a flake-enabled version of Nix. · github.com, 9 Oct 2026
Run
The README shows starting it with `nix run github:edolstra/nix-serve`, serving on localhost port 5000. · github.com, 9 Oct 2026
Signature verification
The README shows verifying served store paths with `nix verify` and the cache's trusted public key. · github.com, 9 Oct 2026
Signing
The README explains how to sign the binary cache using a generated key pair and `NIX_SECRET_KEY_FILE`. · github.com, 8 Oct 2026
Standalone server
The project describes nix-serve as a standalone Nix binary cache server. · github.com, 8 Oct 2026
Start command
The README shows starting the server with `nix run github:edolstra/nix-serve`, serving on localhost port 5000. · github.com, 8 Oct 2026
Web server
nix-serve uses the Starman web server and accepts additional Starman flags. · github.com, 9 Oct 2026

Where nix-serve stands on Freedom251

Look at these too