Private npm Registry

Host scoped and unscoped npm packages. Works with npm, Yarn, pnpm and Bun, at one price for your whole team.

Every feature on every plan, from $99/month billed annually.

14 days free. No credit card required.

Serving developers since 2016 Founder-run, no venture capital

.npmrc
//your-org.mycloudrepo.io/repositories/your-repo/:_authToken=${CLOUDREPO_TOKEN}
Publish
npm publish --registry https://your-org.mycloudrepo.io/repositories/your-repo/

Included on every plan

Plans differ only in storage and transfer allowance.

Coming soon: Access log

What you get

A private npm registry for npm, Yarn, pnpm and Bun, with no server to run.

  • Scoped AND Unscoped Packages Publish @company/lib or my-utils. Both work.
  • Works with npm, Yarn, pnpm, and Bun Standard npm registry protocol. No vendor lock-in. Use whichever package manager your team prefers.
  • Token-Based Auth Authenticate with a token in your `.npmrc` for CI/CD and local installs. Standard npm registry auth, no proprietary tooling required.
  • Version Management dist-tags, deprecate and unpublish work with the npm commands you already use.
  • Enterprise Access Control Per-user read/write permissions with organization-level isolation. Control who can publish and install.

Quick Setup Guide

Get your private npm registry running in minutes with standard npm tooling.

Connect npm to your registry

Send your scope's packages to your CloudRepo registry in ~/.npmrc; every other package still comes from the public npm registry. Replace @yourscope with your scope. Set NPM_TOKEN to a repository token: npm replaces ${NPM_TOKEN} with the environment variable of that name, so the file holds no token. Keep the trailing slash on both lines.

~/.npmrc
@yourscope:registry=https://your-org.mycloudrepo.io/repositories/your-repo/
//your-org.mycloudrepo.io/repositories/your-repo/:_authToken=${NPM_TOKEN}

Prefer to sign in from your browser? Keep only the first line above and run this instead of the token line. npm writes the token to ~/.npmrc for you.

Terminal
npm login --registry https://your-org.mycloudrepo.io/repositories/your-repo/

Check the connection

Name your repository, because step 1 sends only your scope there. npm whoami prints your email address, and npm ping ends with PONG.

Terminal
npm whoami --registry https://your-org.mycloudrepo.io/repositories/your-repo/
npm ping --registry https://your-org.mycloudrepo.io/repositories/your-repo/

Publish your package

Run this in the directory of your package. The publish names your repository, so a package without your scope won't go to the public registry.

Terminal
npm publish --registry https://your-org.mycloudrepo.io/repositories/your-repo/

Install from your registry

Install your scope's packages just like you would from npmjs.com. The scope line in step 1 sends them to CloudRepo, and every other package still comes from npmjs.com, because a hosted repository serves only what you published.

Terminal
# Install a package of your scope
npm install @yourscope/package

Works with Every JavaScript Package Manager

CloudRepo uses the standard npm registry protocol. Use whichever tool your team prefers.

The standard Node.js package manager. Configure globally or per-project with .npmrc. This sends your scope to CloudRepo; every other package still comes from npmjs.com. Set NPM_TOKEN to a repository token.

.npmrc
@yourscope:registry=https://your-org.mycloudrepo.io/repositories/your-repo/
//your-org.mycloudrepo.io/repositories/your-repo/:_authToken=${NPM_TOKEN}

npm, Yarn, pnpm and Bun all speak the npm registry protocol, so they all work with CloudRepo. Setup for each is in the documentation.

Comparing registries? We put the numbers side by side in our Artifactory alternatives guide and our Sonatype Nexus alternative comparison.

Every plan includes human support and SSO. See pricing

Moving npm packages off Nexus?

Install the migration tool with one line. Run it with --dry-run first: a dry run lists what would move and uploads nothing.

Terminal
pipx install cloudrepo-migrate

No pipx? In a virtual environment, run pip install cloudrepo-migrate.

Follow the guide for your server: Nexus 3 guide Nexus 2 guide

Coming from Artifactory? Publish each package to CloudRepo with npm publish.

Ready to host your npm packages?

14 days free. No credit card required.

Chris Shellenbarger, founder of CloudRepo

Founder-run since 2016, with no venture capital. A real person answers within one business day. Usually it's me.

Chris, founder of CloudRepo