
Verdaccio
A small, self-hosted npm registry for private packages that can also cache public ones.
- Stars
- 18k
- Forks
- 1.5k
- Licence
- MIT
- Language
- TypeScript
- Last update
- 4 days ago
- Type
- App
What it is
Verdaccio is a private npm package registry that you run yourself. Teams use it to publish and install internal packages without sending their code to the public npm registry. It can also proxy and cache packages from npmjs.org, so repeated installs are faster and less dependent on the public registry being up.
- Publish an internal package and install it with npm, yarn, or pnpm like any public package
- Cache npmjs.org packages on a shared server to reduce latency and survive brief npmjs.org outages
- Temporarily override a public package by publishing a patched version under the same name
- Boot a local registry in CI to run end-to-end tests of package installs
Great for
- Teams that want to share private npm packages inside a company
- Developers who need a local npm registry for testing package publishing
- CI pipelines that run end-to-end tests against a throwaway registry
- Organizations that want one internal endpoint for packages from several registries
Not ideal for
- People who only install public packages and have no need for a private registry, since the public npm registry already works for them
- Teams that need a managed, vendor-supported service with paid support, because the README says the project is run by volunteers and has no funding for contributions or security research
- Setups needing a large-scale, database-backed registry, since Verdaccio's default approach is a small built-in store, and scaling options beyond that are not detailed in the README
How to get it
- 1
Install with a package manager
You'll need: Node.js 24 or higher (for the next-9 version shown in the README)
Install with npm
npm install -g verdaccio@next-9Install with yarn
yarn global add verdaccio@next-9Install with pnpm
pnpm i -g verdaccio@next-9Pull the Docker image
docker pull verdaccio/verdaccio:nightly-master - 2
Run it
- Install Verdaccio globally with npm, yarn, or pnpm using the command shown in the README
- Start Verdaccio from the terminal (the README does not show the exact start command, so check the documentation at verdaccio.org/docs)
- Point your npm client at the local registry address to publish or install packages
- Publish a test package to confirm the registry works
- 3
Get the most out of it
- Use the uplinks feature to chain several registries behind one endpoint, as described in the README
- Use the override approach to publish a patched copy of a third-party package under its original name
- Add a storage plugin for services such as Amazon S3 or Google Cloud Storage, as the README describes community plugins
- Run it in CI for end-to-end testing; the README lists projects such as pnpm and Storybook that use it this way
- Consult the Docker Examples and the official Helm chart for more advanced deployments
Downloads
Strengths
- Zero configuration is needed to start, with its own built-in storage and no database required
- Supports proxying other registries and caching downloaded modules
- Open source under the MIT license, with official install options for npm, yarn, pnpm, Docker, and Helm
Trade-offs
- The README says it is run by volunteers and has no funding for security research, so support and response times are not guaranteed
- Storage beyond the default requires community-made plugins, which vary in quality and maintenance
- The README's install and version details are split across branches, so users must pick the right version line (Node.js 22 for v6, Node.js 24 for the next branch)
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| verdaccio (this) | 18k | App | beginner | 4 days ago | Teams that want to share private npm packages inside a company |
| dokku | 32.2k | App | intermediate | 4 days ago | Developers who want Heroku-style deployment on a server they control |
| traefik | 65.4k | App | intermediate | 4 days ago | Teams running many microservices in Docker, Swarm, or Kubernetes |
| colima | 31.5k | Dev tool | beginner | 23 days ago | Mac developers who want Docker containers without Docker Desktop |
| reference | 15.2k | Learning resource | beginner | 6 days ago | Developers who want a quick lookup for syntax or commands they use occasionally |
| tsdx | 11.5k | Dev tool | beginner | 9 months ago | Developers who want to publish a reusable TypeScript library to npm without writing build configuration |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.