Registry / devops / turborepo-remote-cache

turborepo-remote-cache

JSON →
library2.8.4jsnpmunverified

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.

devopsawsgcpazureweb-framework
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

The `start` function is the programmatic entry point for the server. The package is primarily designed for ESM usage, reflecting its Node.js >=20.0.0 requirement.

import { start } from 'turborepo-remote-cache';

For TypeScript users, import the `Options` interface to type the configuration object passed to the `start` function.

import type { Options } from 'turborepo-remote-cache';

While not the most common usage, this imports all named exports if you prefer to namespace them. There is no default export.

import * as TurborepoCache from 'turborepo-remote-cache';

This quickstart demonstrates how to programmatically start the Turborepo remote cache server using TypeScript, configured for an S3 storage backend with authentication.

import { start } from 'turborepo-remote-cache'; // Configure environment variables for a basic S3-backed cache process.env.STORAGE_PROVIDER = 's3'; process.env.S3_BUCKET = process.env.AWS_BUCKET_NAME ?? 'your-turbocache-bucket'; process.env.S3_REGION = process.env.AWS_REGION ?? 'us-east-1'; process.env.S3_ACCESS_KEY_ID = process.env.AWS_ACCESS_KEY_ID ?? ''; // Ensure these are set in your env process.env.S3_SECRET_ACCESS_KEY = process.env.AWS_SECRET_ACCESS_KEY ?? ''; // Ensure these are set in your env process.env.AUTH_TOKEN = process.env.TURBO_AUTH_TOKEN ?? 'supersecrettoken'; // Crucial for security process.env.PORT = process.env.PORT ?? '3000'; process.env.HOST = process.env.HOST ?? '0.0.0.0'; // Default host for wider accessibility async function runCacheServer() { try { const { url } = await start(); console.log(`Turborepo Remote Cache server listening at ${url}`); } catch (err) { console.error('Failed to start Turborepo Remote Cache server:', err); process.exit(1); } } runCacheServer();
Debug
Known footguns
breakingThe minimum Node.js version requirement was raised to `20.0.0`. Running on older Node.js versions (e.g., 18.x) may lead to unexpected behavior or failures. Recent releases (v2.8.3) default to Node.js 24 for container deployments.
gotchaThe default `HOST` environment variable changed to `0.0.0.0` in v2.8.0. While this improves accessibility in containerized environments, it might expose the server to all network interfaces if not intended or secured properly, especially in non-containerized setups.
gotchaFor secure operation, it is critical to set the `AUTH_TOKEN` environment variable. If `AUTH_TOKEN` is not set, or if `AUTH_MODE=none` (introduced in v2.7.0) is explicitly used, the cache will be publicly accessible without authentication, posing a significant security risk for sensitive artifacts.
gotchaRegular dependency bumps, especially for `fastify` and `ajv`, are common. While these often include security patches and performance improvements, they can occasionally introduce subtle behavioral changes or new requirements for plugins, which could impact highly customized deployments.
Upgrade
Version history

Breaking-change detection hasn't run for this library yet.

Audit
Security & dependencies

CVE tracking and dependency tree are planned for a later release.

Agent activity
19 hits · last 30 days
petalbot
7
gptbot
4
ahrefsbot
4
dotbot
2
script
1
googlebot
1
Resources