Freedom251 › Build Cache Software
bazel-remote

What bazel-remote is
bazel-remote is a free, open-source server that provides remote build caching for Bazel and other REAPI clients, and can also be part of a remote execution service. It offers HTTP/1.1 and gRPC interfaces, including HTTP REST endpoints and REAPI v2 services. Cache contents can be kept on disk up to a configured maximum, with least recently used files removed to stay within that limit. Storage backends include S3, Google Cloud Storage, and an experimental Azure Blob Storage proxy. Zstandard-compressed CAS blobs can reduce network use and increase effective cache capacity. Operators can enable endpoint metrics for Prometheus monitoring. Deployment choices include Docker images, Docker Compose and Kubernetes examples, and a standalone Linux binary; a built image can run on ARM64 devices such as Raspberry Pi. Authentication options include basic .htpasswd-style authentication and mutual TLS, while LDAP support is experimental. Only one authentication mechanism can be active at a time. The server defaults to allowing unauthenticated access, so its security configuration matters. The project is Apache-2.0 licensed and does not guarantee stability for its Go module APIs, though it aims to preserve compatibility for the standalone executable between releases.
Who it suits
It suits teams using Bazel or other REAPI clients that want to operate a remote cache themselves. Operators should be comfortable configuring storage limits, deployment, and authentication.
What it does well
- Apache-2.0 licensed and free to use.
- Supports disk, S3, and Google Cloud Storage.
- Offers Docker, Kubernetes examples, and a Linux binary.
- Runs on ARM64 with a built Docker image.
What to know first
- Unauthenticated access is enabled by default.
- LDAP authentication is experimental.
- Only one authentication mechanism can be used at a time.
- Go module APIs have no stability guarantee.
Limits
A maximum cache size is required, and the optional maximum blob size setting limits the logical uncompressed blob size accepted from clients.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| bazel-remote | Apache-2.0 licensed open-source software · self-hosted cache size is configurable | Free |
As github.com lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Open the bazel-remote GitHub project.
- Choose a deployment route: Docker image, Docker Compose, Kubernetes, or standalone Linux binary.
- Configure the required maximum cache size and select disk or a supported cloud backend.
- Configure TLS and, if needed, one authentication method.
- Point Bazel or another REAPI client at the server.
Verdict
bazel-remote provides flexible storage and deployment options for self-hosted remote caching. Its default unauthenticated access and lack of Go module API guarantees are important configuration and compatibility considerations.
Questions
How much does bazel-remote cost?
The listed plan is free. The project is open source under Apache-2.0.
Is there a free plan or trial?
It is free, and a free plan is listed. There is no free trial.
Which platforms does it support?
The listed platforms are API, Linux, macOS, and self-hosted. Deployment options include Docker images and a standalone Linux binary.
Which build systems does it support?
Bazel is listed as a supported build system. Its purpose also includes serving other REAPI clients.
Can it use cloud storage?
It supports S3 and Google Cloud Storage, plus an experimental Azure Blob Storage proxy backend.
What authentication and security options are available?
It supports TLS, basic .htpasswd-style authentication, and mutual TLS. LDAP is experimental, only one authentication method can be used at a time, and the default allows unauthenticated access.
Facts from bazel-remote's own pages
- APIs
- It supports HTTP REST endpoints and the REAPI v2 ActionCache, ContentAddressableStorage, Capabilities, and corresponding Byte Stream services over gRPC. · github.com, 8 Oct 2026
- Architecture
- The README says bazel-remote can run on ARM64 devices, including Raspberry Pi, using a built Docker image. · github.com, 8 Oct 2026
- Authentication
- Authentication options include basic .htpasswd-style authentication and mutual TLS; LDAP authentication is experimental, and only one mechanism can be used at a time. · github.com, 8 Oct 2026
- Cloud backends
- The project supports S3, Google Cloud Storage, and experimental Azure Blob Storage proxy backends. · github.com, 8 Oct 2026
- Compatibility caveat
- The project provides no stability or backwards-compatibility guarantees for its Go module APIs, while aiming to keep its standalone executable backwards-compatible between releases. · github.com, 8 Oct 2026
- Compression
- It supports zstandard-compressed CAS blobs, which can reduce network use and increase effective cache size. · github.com, 8 Oct 2026
- Deployment
- The project publishes Docker images on Docker Hub and Quay.io, documents Docker Compose and Kubernetes examples, and can be built as a standalone Linux binary. · github.com, 8 Oct 2026
- License
- The repository identifies the project as licensed under Apache-2.0. · github.com, 8 Oct 2026
- Limits
- A maximum cache size is required, and the optional maximum blob size setting limits the logical uncompressed blob size accepted from clients. · github.com, 8 Oct 2026
- Metrics
- HTTP and gRPC endpoint metrics can be enabled for Prometheus monitoring. · github.com, 8 Oct 2026
- Notable default
- The README states that bazel-remote defaults to allowing unauthenticated access. · github.com, 8 Oct 2026
- Purpose
- bazel-remote is an HTTP/1.1 and gRPC server for use as a remote build cache for Bazel and other REAPI clients, or as part of a remote execution service. · github.com, 8 Oct 2026
- Security configuration
- The server supports TLS, configurable minimum TLS versions, and optional unauthenticated read access when authentication is enabled. · github.com, 8 Oct 2026
- Storage
- Cache contents can be stored on disk with a configurable maximum size, and least recently used files are deleted to enforce the limit. · github.com, 8 Oct 2026
Where bazel-remote stands on Freedom251
- Build Cache Software#1 of 23