TL;DR: If you're deploying ducktors/turborepo-remote-cache on Coolify and hitting
EACCES: permission denied, mkdir '/cache'on every PUT, use the Docker Compose service type, not Docker Image. Coolify's Docker Image form filters the--userflag, which you need to run the container as root. Docker Compose in Coolify accepts the fulluser:field.
Turborepo computes a deterministic hash for every task based on its inputs — source files, env vars listed in globalEnv, dep graph, and turbo.json itself. If a task with the same hash has been built before and its outputs are cached, Turbo skips execution and replays the cached artifact.