Self-host github-actions-cache-server
v10.0.0Drop-in replacement for GitHub's hosted Actions cache
helm install <release-name> oci://ghcr.io/falcondev-oss/charts/github-actions-cache-server- Stars
- 459
- Port
- 3000 (HTTP server listening port (default of NITRO_PORT))
ghcr.io/falcondev-oss/github-actions-cache-serverWhat is github-actions-cache-server?
The GitHub Actions Cache Server is a reimplementation of GitHub's hosted Actions cache service that runs on your own infrastructure. Because it speaks the same cache API, the official actions/cache action and packages that use it internally keep working with no workflow edits — only the self-hosted runner needs its ACTIONS_RESULTS_URL pointed at the cache server, either via a patched runner binary or the project's forked runner image. Cache payloads can live on the local filesystem, S3-compatible buckets, Google Cloud Storage or Azure Blob Storage, while metadata is kept in PostgreSQL, MySQL or SQLite. Notable capabilities include signed direct-download URLs that bypass the server, eager merging of cache parts inside the bucket, automatic cleanup of stale entries, LRU eviction against a size budget, a Prometheus metrics endpoint, an optional management API, and transparent forwarding of non-cache requests to GitHub's Results service. It is deployed as a single container (Docker Compose) or through a Helm chart. GitHub Enterprise Server also works, though the project treats that as best-effort and implements only the v2 cache protocol, so legacy v1 caching will not function. The project is MIT-licensed and under active development.
Should you self-host github-actions-cache-server?
github-actions-cache-server scores 49/100 on selfhost.directory (how scoring works) and ranks #22 of 28 in CI/CD. It has 459 GitHub stars.
It shipped 19 stable releases in the past year. The latest, v10.0.0, came out on 28 October 2026. New versions land roughly every 5 days.
Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Rust.
Its closest alternative on selfhost.directory is jenkins (82/100, 26 704 stars). It scores higher overall, so compare the two before you pick. See github-actions-cache-server vs jenkins side by side.
Features
- Automatic stale cache cleanup
- Cache API compatible with actions/cache
- Cache size cap with LRU eviction
- Direct downloads via signed URLs
- Eager merge of cache parts
- GitHub Enterprise Server supportBest-effort; only the v2 cache protocol is implemented.
- Management API
- Multiple database driversSQLite is discouraged for production.
- Multiple Storage Drivers
- Prometheus MetricsEndpoint is unauthenticated; restrict at the network layer.
- Results service passthrough
- Runner token verification via OIDC
github-actions-cache-server README
More in Caching
KeyDBA Multithreaded Fork of Redis
LancacheSelf-hosted, open-source Docker container that caches game downloads from Steam, Origin, Battle.net, and other CDNs to save bandwidth on local networks.
MemcachedSelf-hosted, open-source in-memory object cache that fronts databases and APIs; a single multithreaded daemon pooling RAM across your own servers.
netcacheSelf-hosted, open-source Docker container combining Bind DNS, NGINX HTTP cache, and SNI Proxy to cache game downloads from Steam, Origin, Battle.net, and other CDNs.
RedisRedis is a self-hosted, open-source in-memory data structure server used as a database, cache, message broker, and vector query engine with sub-millisecond latency.
ValkeySelf-hosted, open-source Valkey is an in-memory key-value database for caching, queues and primary data, with replication, Sentinel failover and cluster sharding.
Vinyl CacheVinyl Cache is a web application accelerator also known as a caching HTTP reverse proxy. It is designed to be installed in front of any server that speaks HTTP and configured to cache the contents, significantly speeding up delivery.
docker-registry-proxyA self-hosted caching proxy for Docker that centralizes registry config and auth, caches layers/manifests from any registry, and helps avoid rate limits.
0 comments