Skip to content

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
Step-by-step guide: how to use VerdaccioInstall, first run, examples, tips and FAQs

How to get it

  1. 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-9

    Install with yarn

    yarn global add verdaccio@next-9

    Install with pnpm

    pnpm i -g verdaccio@next-9

    Pull the Docker image

    docker pull verdaccio/verdaccio:nightly-master
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
verdaccio (this)18kAppbeginner4 days agoTeams that want to share private npm packages inside a company
dokku32.2kAppintermediate4 days agoDevelopers who want Heroku-style deployment on a server they control
traefik65.4kAppintermediate4 days agoTeams running many microservices in Docker, Swarm, or Kubernetes
colima31.5kDev toolbeginner23 days agoMac developers who want Docker containers without Docker Desktop
reference15.2kLearning resourcebeginner6 days agoDevelopers who want a quick lookup for syntax or commands they use occasionally
tsdx11.5kDev toolbeginner9 months agoDevelopers 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.