bazel-remote
github.com
What it is
bazel-remote is free, Apache-2.0-licensed open-source software that runs as a self-hosted HTTP/1.1 and gRPC server for Bazel remote caching and other REAPI clients. Cache data can stay on disk with a configured maximum size; least recently used files are removed when that limit is reached. Storage backends include S3, Google Cloud Storage, and an experimental Azure Blob Storage proxy. The server exposes HTTP REST endpoints and REAPI v2 ActionCache, ContentAddressableStorage, Capabilities, and Byte Stream services over gRPC. Zstandard-compressed CAS blobs can reduce network use and increase effective cache capacity. Prometheus metrics are available for HTTP and gRPC endpoints. Deployment options include Docker images, Docker Compose, Kubernetes examples, or a standalone Linux binary, including ARM64 Docker deployments such as Raspberry Pi. Authentication supports .htpasswd-style credentials or mutual TLS; LDAP is experimental, and only one mechanism can be active. TLS settings are configurable. The default permits unauthenticated access, so operators must configure protection.
Spec sheet
- 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.Read 8 Oct 2026 · github.com
- 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.Read 8 Oct 2026 · github.com
- License
- The repository identifies the project as licensed under Apache-2.0.Read 8 Oct 2026 · github.com
- APIs
- It supports HTTP REST endpoints and the REAPI v2 ActionCache, ContentAddressableStorage, Capabilities, and corresponding Byte Stream services over gRPC.Read 8 Oct 2026 · github.com
- Architecture
- The README says bazel-remote can run on ARM64 devices, including Raspberry Pi, using a built Docker image.Read 8 Oct 2026 · github.com
- 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.Read 8 Oct 2026 · github.com
- Cloud backends
- The project supports S3, Google Cloud Storage, and experimental Azure Blob Storage proxy backends.Read 8 Oct 2026 · github.com
- 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.Read 8 Oct 2026 · github.com
- Compression
- It supports zstandard-compressed CAS blobs, which can reduce network use and increase effective cache size.Read 8 Oct 2026 · github.com
- Limits
- A maximum cache size is required, and the optional maximum blob size setting limits the logical uncompressed blob size accepted from clients.Read 8 Oct 2026 · github.com
- Metrics
- HTTP and gRPC endpoint metrics can be enabled for Prometheus monitoring.Read 8 Oct 2026 · github.com
- Notable default
- The README states that bazel-remote defaults to allowing unauthenticated access.Read 8 Oct 2026 · github.com
- Security configuration
- The server supports TLS, configurable minimum TLS versions, and optional unauthenticated read access when authentication is enabled.Read 8 Oct 2026 · github.com
- Storage
- Cache contents can be stored on disk with a configurable maximum size, and least recently used files are deleted to enforce the limit.Read 8 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Free Apache-2.0 open-source software
- Supports HTTP and gRPC REAPI services
- Offers multiple cloud storage backends
- Provides configurable disk cache limits
- Runs in Docker, Kubernetes, or standalone Linux
Limits
- Defaults to unauthenticated access
- Maximum cache size must be configured
- LDAP authentication is experimental
- Go module APIs lack compatibility guarantees
Who it suits
It suits teams running Bazel or other REAPI clients that need a self-hosted remote cache. Operators can deploy it on Linux, containers, Kubernetes, or ARM64 hardware.
Verdict
bazel-remote offers a flexible self-hosted cache with REAPI services, cloud backends, compression, metrics, and several deployment formats. Security configuration deserves immediate attention because unauthenticated access is the default.
Where Specifiction places it
- Build Cache Software#4 of 238.3