bazel-remote
bazel-remote is a free, open-source server for remote build caching with Bazel and other REAPI clients; it can also be part of a remote execution service.
What bazel-remote is
bazel-remote is a free, open-source server for remote build caching with Bazel and other REAPI clients; it can also be part of a remote execution service. It communicates over HTTP/1.1 and gRPC. Cache data can be kept on disk with a configurable maximum size, with least recently used files removed to enforce that limit. Supported cloud backends include S3 and Google Cloud Storage, plus an experimental Azure Blob Storage proxy. Its gRPC services include REAPI v2 ActionCache, ContentAddressableStorage, Capabilities, and related Byte Stream services, while HTTP REST endpoints are also available. Zstandard-compressed CAS blobs are supported, and HTTP and gRPC endpoint metrics can be enabled for Prometheus monitoring. Deployment options include Docker images, Docker Compose and Kubernetes examples, or a standalone Linux binary; a built Docker image can run on ARM64 devices such as Raspberry Pi. Authentication choices include basic .htpasswd-style authentication and mutual TLS, while LDAP remains experimental. Only one authentication mechanism can be used at a time, and the project defaults to unauthenticated access. A maximum cache size is required.
Good
- Free, open-source software under Apache-2.0.
- Supports HTTP REST and REAPI gRPC services.
- Can use S3 and Google Cloud Storage backends.
- Offers Docker, Kubernetes examples, and a Linux binary.
- Supports Prometheus endpoint metrics.
Watch out
- A maximum cache size is required.
- The default permits unauthenticated access.
- LDAP authentication is experimental.
- Only one authentication mechanism can be used at a time.
Who it suits
bazel-remote suits Bazel and other REAPI users who need a self-hosted remote cache. It may fit operators who can configure storage, deployment, and authentication settings for their environment.
Verdict
bazel-remote offers several storage and deployment choices for a self-hosted build cache. Operators should pay particular attention to its unauthenticated default and configure authentication deliberately.
Plans and prices
From bazel-remote's own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| bazel-remote | Free | Apache-2.0 licensed open-source software · self-hosted cache size is configurable |
The facts
Each one read from bazel-remote's own pages, with the date it was checked.
What it does
- APIs
- It supports HTTP REST endpoints and the REAPI v2 ActionCache, ContentAddressableStorage, Capabilities, and corresponding Byte Stream services over gRPC.checked 8 Oct 2026
- Architecture
- The README says bazel-remote can run on ARM64 devices, including Raspberry Pi, using a built Docker image.checked 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.checked 8 Oct 2026
- Cloud backends
- The project supports S3, Google Cloud Storage, and experimental Azure Blob Storage proxy backends.checked 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.checked 8 Oct 2026
- Compression
- It supports zstandard-compressed CAS blobs, which can reduce network use and increase effective cache size.checked 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.checked 8 Oct 2026
- License
- The repository identifies the project as licensed under Apache-2.0.checked 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.checked 8 Oct 2026
- Metrics
- HTTP and gRPC endpoint metrics can be enabled for Prometheus monitoring.checked 8 Oct 2026
- Notable default
- The README states that bazel-remote defaults to allowing unauthenticated access.checked 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.checked 8 Oct 2026
- Security configuration
- The server supports TLS, configurable minimum TLS versions, and optional unauthenticated read access when authentication is enabled.checked 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.checked 8 Oct 2026





