turborepo-remote-cache provides a self-hosted, open-source alternative to Vercel's official Turborepo remote cache service, allowing teams to manage their monorepo build artifact caching infrastructure in private environments. It supports a variety of storage providers, including S3, Google Cloud Storage, and Azure Blob Storage, and offers flexible deployment options such as Docker, Kubernetes, and serverless platforms. The project is actively maintained, currently at version 2.8.4 (April 2026), with a consistent release cadence that primarily focuses on dependency updates, security patches (e.g., Fastify bumps), and incremental feature enhancements. Its key differentiators include the flexibility to choose a storage backend, comprehensive deployment guides, and empowering organizations with full control over their build caching strategy, which is critical for compliance or specific infrastructure requirements. It requires Node.js version 20 or higher.
npm install turborepo-remote-cacheVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to programmatically start the Turborepo remote cache server using TypeScript, configured for an S3 storage backend with authentication.
Ensure your environment uses Node.js v20.0.0 or higher. For new deployments, consider using Node.js v24 for optimal compatibility as indicated by the project.
Explicitly set the `HOST` environment variable (e.g., `HOST=127.0.0.1`) if you only want the server to listen on a specific interface, or ensure proper firewall rules are in place.
Always set a strong `AUTH_TOKEN` in production environments. Avoid `AUTH_MODE=none` unless you are operating within a completely trusted and isolated network segment, or implementing external authentication.
Monitor the project's changelog for each new minor/patch release. Test upgrades in a staging environment before deploying to production, especially if you rely on specific `fastify` features or plugins.
Ensure the `AUTH_TOKEN` environment variable on your `turborepo-remote-cache` server matches the `REMOTE_CACHE_TOKEN` configured in your Turborepo client's `.env.local` or `turbo.json`.
Change the port by setting the `PORT` environment variable (e.g., `PORT=4000`) for the `turborepo-remote-cache` server, or terminate the conflicting process.
Refer to the documentation for your chosen `STORAGE_PROVIDER` (e.g., S3, GCS) and ensure all necessary environment variables (e.g., `S3_BUCKET`, `S3_REGION`, `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`) are correctly set.