cachepot vs Harmonia
cachepot
github.comHarmonia
github.comSide by side
| Figure | cachepot | Harmonia |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Build Cache Software | 7.9 (#8) | 7.8 (#13) |
| Purpose | Cachepot is a compiler caching tool that avoids recompilation when possible and stores results on local disk or cloud storage. | Harmonia serves a Nix store as a binary cache over HTTP and is written in Rust. |
Plans
In their own words
cachepot
Cachepot is a compiler caching tool for Linux, macOS, Windows, and self-hosted environments. It keeps compilation results on local disk or cloud storage so a build can reuse them rather than compile again when possible. The documented compilers include GCC, Clang, MSVC, rustc, NVCC, and Diab. Cachepot can also distribute compilation in an icecream-style setup, automatically packaging local toolchains. Storage choices include local disk, S3, Redis, Memcached, Google Cloud Storage, and Azure Blob Storage. Build integrations include Cargo, CMake, GNU make, Jenkins, and GitLab CI. The project describes authentication, encrypted transport, and sandboxed execution on build servers as security features; bubblewrap is its preferred sandbox option, with Docker also supported. The default local cache limit is 10 gigabytes and can be changed with CACHEPOT_CACHE_SIZE. Rust crates that invoke the system linker and incrementally compiled crates cannot be cached, and cache hits require matching absolute paths. Cachepot is free and open source under Apache-2.0, but its repository was archived on February 28, 2023, in favor of upstream sccache.
Harmonia
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.