GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com β€” GitHub - falcondev-oss/github-actions-cache-server: Fast, memory-efficient self-hosted GitHub Actions cache server written in Rust. Drop-in replacement for the official cache, works with actions/cache unchanged. Supports S3, GCS, Azure Blob or filesystem storage with SQLite, Postgres or MySQL.

BranchesTags
Open more actions menu

Latest commit

 

History

317 Commits
317 Commits

Folders and files

NameName
Last commit message
Last commit date
.cargo
.cargo
 
 
.codex/environments
.codex/environments
 
 
.githooks
.githooks
 
 
.github/workflows
.github/workflows
 
 
.vscode
.vscode
 
 
docs/agents
docs/agents
 
 
examples
examples
 
 
install/kubernetes/github-actions-cache-server
install/kubernetes/github-actions-cache-server
 
 
proto
proto
 
 
scripts
scripts
 
 
src
src
 
 
website
website
 
 
.dockerignore
.dockerignore
 
 
.env
.env
 
 
.gitignore
.gitignore
 
 
AGENTS.md
AGENTS.md
 
 
CLAUDE.md
CLAUDE.md
 
 
Cargo.lock
Cargo.lock
 
 
Cargo.toml
Cargo.toml
 
 
Dockerfile
Dockerfile
 
 
GLOSSARY.md
GLOSSARY.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
build.rs
build.rs
 
 
clippy.toml
clippy.toml
 
 
docker-compose.yml
docker-compose.yml
 
 
rust-toolchain.toml
rust-toolchain.toml
 
 
rustfmt.toml
rustfmt.toml
 
 

Repository files navigation

πŸš€ GitHub Actions Cache Server

A self-hosted, drop-in replacement for GitHub's cache service, written in Rust. Point your self-hosted runners at it and every actions/cache step, setup-* cache and docker buildx type=gha cache stays on your own hardware. No workflow changes.

GitHub Actions Cache Server
Image size 29 MB
Startup to healthy 0.5 s
Idle memory 3 MiB
Upload (8 Γ— 128 MiB, parallel) 2.3 GiB/s
First download 7.9 GiB/s
Lookups (64 concurrent) 34,000/s, p99 7 ms
Small save + restore (256 KiB) 1,143/s

SQLite + filesystem on a Ryzen 9 5950X with NVMe. Reproduce with cargo run --release --example benchmark.

Features

  • πŸ”₯ Works with everything that uses the cache: actions/cache, actions/setup-node & friends, BuildKit type=gha, any tool built on @actions/cache
  • πŸ—„οΈ Your storage: filesystem, S3 (RustFS, MinIO, R2, ...), Google Cloud Storage or Azure Blob Storage
  • 🐘 Your database: SQLite, PostgreSQL or MySQL
  • πŸ”’ Secure by default: verifies the runner's OIDC token, scopes every cache to its repository, signs each upload URL
  • ⚑ Direct downloads: optionally hand runners a signed storage URL so restores skip the server
  • 🧹 Runs itself: age- and size-based eviction, orphan cleanup, self-healing when storage drifts
  • πŸ“Š Observable: Prometheus /metrics, /health, management API with OpenAPI docs
  • ☸️ Deploy anywhere: multi-arch image (amd64/arm64), Docker Compose or Helm, GitHub Enterprise Server

Quick start

1. Run the server

services:
  cache-server:
    image: ghcr.io/falcondev-oss/github-actions-cache-server
    ports:
      - '3000:3000'
    environment:
      API_BASE_URL: http://localhost:3000
    volumes:
      - cache-data:/app/.data

volumes:
  cache-data:

2. Point your runners at it

Swap the runner image for our fork and set one variable:

image: ghcr.io/falcondev-oss/actions-runner:latest
env:
  CUSTOM_ACTIONS_RESULTS_URL: http://cache-server:3000/

3. There is no step 3. Your workflows already use it.

Documentation

πŸ‘‰ https://gha-cache-server.falcondev.io/getting-started πŸ‘ˆ

  • Ephemeral runners with a local cache
  • Actions Runner Controller (ARC)
  • GitHub cloud cache vs hostPath vs a local cache server
  • For agents: llms.txt. Every page is also Markdown at <url>.md.

The docs live in website/.

About

Fast, memory-efficient self-hosted GitHub Actions cache server written in Rust. Drop-in replacement for the official cache, works with actions/cache unchanged. Supports S3, GCS, Azure Blob or filesystem storage with SQLite, Postgres or MySQL.

gha-cache-server.falcondev.io

Topics

actions-cacheazure-blob-storagebuild-cachecache-servercidockergcsgithub-actionsgithub-actions-cachehelmminiomysqlpostgresrusts3self-hostedself-hosted-runnersqlite

Resources

Readme
MIT license
Activity
Custom properties

Stars

466 stars

Watchers

8 watching

Forks

58 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 β€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800Γ—600. No cookies required.