- Home
- Build Cache Software
- bazel-remote
bazel-remote
What it is
bazel-remote is a free, open-source server that provides a remote build cache for Bazel and other REAPI clients, or can form part of a remote execution service. It communicates over HTTP/1.1 and gRPC. Cache data can be stored on disk up to a configured maximum; least-recently-used files are removed to stay within that limit. S3 and Google Cloud Storage are supported backends, alongside an experimental Azure Blob Storage proxy. The service provides HTTP REST endpoints and REAPI v2 ActionCache, ContentAddressableStorage, Capabilities, and related Byte Stream services over gRPC. Zstandard-compressed CAS blobs can reduce network use and increase effective cache capacity. Operators can enable HTTP and gRPC metrics for Prometheus. Deployment choices 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 options include basic .htpasswd-style credentials and mutual TLS; LDAP is experimental. The README says unauthenticated access is allowed by default. The project is licensed under Apache-2.0.
For and against
For
- Supports Bazel and other REAPI clients.
- Disk cache size can be configured.
- Supports S3 and Google Cloud Storage backends.
- Offers Docker and standalone Linux deployment options.
- Prometheus endpoint metrics can be enabled.
Against
- A maximum cache size is required.
- LDAP authentication is experimental.
- Unauthenticated access is allowed by default.
- Go module APIs have no stability guarantees.
The verdict
bazel-remote offers flexible self-hosted caching, storage, and deployment options for build infrastructure. Its default access setting and required cache-size configuration merit attention before deployment.
Who it suits
It suits teams running Bazel or other REAPI clients that want to operate their own remote cache. Operators should be prepared to configure cache limits and review access settings.
Plans and prices
bazel-remote
Apache-2.0 licensed open-source software · self-hosted cache size is configurable
Read 8 Oct 2026 · github.com
On the record
- APIs
- It supports HTTP REST endpoints and the REAPI v2 ActionCache, ContentAddressableStorage, Capabilities, and corresponding Byte Stream services over gRPC.github.com · read 8 Oct 2026
- Architecture
- The README says bazel-remote can run on ARM64 devices, including Raspberry Pi, using a built Docker image.github.com · read 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 · read 8 Oct 2026
- Cloud backends
- The project supports S3, Google Cloud Storage, and experimental Azure Blob Storage proxy backends.github.com · read 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 · read 8 Oct 2026
- Compression
- It supports zstandard-compressed CAS blobs, which can reduce network use and increase effective cache size.github.com · read 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 · read 8 Oct 2026
- License
- The repository identifies the project as licensed under Apache-2.0.github.com · read 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 · read 8 Oct 2026
- Metrics
- HTTP and gRPC endpoint metrics can be enabled for Prometheus monitoring.github.com · read 8 Oct 2026
- Notable default
- The README states that bazel-remote defaults to allowing unauthenticated access.github.com · read 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 · read 8 Oct 2026
- Security configuration
- The server supports TLS, configurable minimum TLS versions, and optional unauthenticated read access when authentication is enabled.github.com · read 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 · read 8 Oct 2026