Skip to content

Smart cache sharing for Yocto builds

Forget rsync sessions to an HTTP server. YoCache hooks into your bitbake builds, uploads artifacts automatically, and serves them back to everyone — one line of config away.

Faster builds for everyone

Every sstate object and source download produced by one machine becomes instantly available to every developer and CI node on the team.

Uploads happen by themselves

bitbake pushes artifacts to the cache the moment they’re created. No rsync jobs, no cron, no “who refreshes the mirror” rota.

Minimal setup

Start the server, add the layer, set YOCACHE_URL, and INHERIT += "yocache" — mirrors are wired up for you on every build.

Single static binary or container

The server is one self-contained executable with zero runtime dependencies. Drop it on any Linux or macOS box and it’s running. Docker images are available too — see Running with Docker.

Hash equivalence built in

A persistent hash-equivalence server ships inside the same binary — fewer needless rebuilds, one more line of config, no extra service to operate.

Set-and-forget storage

Give it a size quota and it keeps itself tidy, evicting the least-recently-used artifacts. Concurrent uploads are safe by design.

Be the build hero

Got YoCache running? Invite the team. Every teammate who joins the cache makes everyone else’s builds faster — share the win.

  1. Run the server. Download a release binary and start it — that’s the whole deployment:

    Terminal window
    ./yocache
  2. Point your build at it. Add meta-yocache to your layers and two lines to your config:

    YOCACHE_URL = "http://yourcache.local:6768"
    INHERIT += "yocache"
  3. Run bitbake. The first build fills the cache; every build after that — on any machine — pulls from it and tops it up automatically.