[{"data":1,"prerenderedAt":109},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-en-verdaccio":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"marketplace-app-en-verdaccio",{"slug":9,"slugs":10,"categorySlugs":11,"name":16,"description":17,"phase":18,"unavailableReason":19,"docsUrl":20,"logo":21,"github":21,"tagline":22,"longDescription":23,"features":24,"useCases":31,"steps":41,"faq":54,"specs":70,"compatibleOs":80,"relatedApps":81,"relatedPosts":104,"category":106},"verdaccio",{"fr":9,"en":9,"ar":9,"es":9},{"fr":12,"en":13,"ar":14,"es":15},"developpement","development","التطوير","desarrollo","Verdaccio","Self-hosted private npm\u002Fyarn\u002Fpnpm registry: proxy npmjs.org, publish internal JavaScript packages, and lock down your dependency supply chain on your VPS.",2,"awaiting_qa","https:\u002F\u002Fservorbit.com\u002Fblog\u002Fverdaccio-private-npm-registry-vps",null,"Verdaccio — self-hosted private npm\u002Fyarn\u002Fpnpm registry.","Verdaccio is a lightweight open-source (MIT) Node.js private npm registry that acts as both a proxy and a hosting layer for your JavaScript packages.\n\nAs a proxy, it transparently forwards requests for public packages to npmjs.org and caches them locally — so your CI pipelines continue to work even during a registry outage, and repeated installs are served instantly from disk. As a private registry, it lets you publish internal packages under any scope (`@company\u002F...`) and keep them completely off the public internet.\n\nVerdaccio ships as a single Docker container with no external database dependency — just a mounted volume for package storage. It speaks the full npm registry protocol, so npm, Yarn, pnpm and any other compatible client work without modification: just point the registry URL at your VPS. On ServOrbit, the container binds to `127.0.0.1` and is reverse-proxied by nginx, so it is reachable from your developers and CI systems without exposing the registry port directly.",[25,26,27,28,29,30],"Proxy of npmjs.org — cache packages locally so your CI builds never fail on a registry outage.","Private package publishing — publish and version your internal JavaScript libraries without exposing them to the public registry.","Multi-client support — works natively with npm, Yarn and pnpm without any client-side configuration changes.","Lightweight single-container deployment — runs in under 128 MB RAM with persistent volume storage on a ServOrbit VPS.","Token-based access control — create user accounts and API tokens to restrict who can read or publish to each scope.","Offline mode — serves cached packages without an internet connection, making builds reproducible in air-gapped environments.",[32,35,38],{"title":33,"body":34},"Private package registry for your team","Publish internal JavaScript libraries under your own namespace. Every developer installs them the same way as public packages — no manual Git dependency URLs, no copy-paste.",{"title":36,"body":37},"Reliable CI dependency caching","Proxy npmjs.org through Verdaccio and cache every downloaded package. If the public registry goes down during a build, Verdaccio serves the cached version transparently.",{"title":39,"body":40},"Air-gapped or offline environments","Pre-populate the cache by running installs once with internet access, then disconnect. Verdaccio continues to serve all previously seen packages with no internet required.",[42,45,48,51],{"title":43,"body":44},"Connect to the registry","Verdaccio needs no domain to work. Open an SSH tunnel: `ssh -L 4873:127.0.0.1:\u003Cport> root@\u003Cvps-ip>`, then point npm at the tunnel: `npm set registry http:\u002F\u002Flocalhost:4873`. For permanent team access, attach a domain from your ServOrbit dashboard — nginx proxies Verdaccio over HTTPS.",{"title":46,"body":47},"Create your first user","Run `npm adduser --registry http:\u002F\u002Flocalhost:4873`. Enter a username, password and email. This first user becomes the administrator of the registry.",{"title":49,"body":50},"Publish a private package","In your package directory, run `npm publish --registry http:\u002F\u002Flocalhost:4873`. The package is stored on the VPS and available to any developer or CI system authenticated against your Verdaccio instance.",{"title":52,"body":53},"Configure scoped proxy rules (optional)","Edit `config.yaml` inside the container volume to route specific scopes (e.g. `@acme\u002F*`) to your private registry and all others to npmjs.org. Restart the container to apply: `docker compose restart verdaccio`.",[55,58,61,64,67],{"q":56,"a":57},"Does Verdaccio replace npmjs.org?","No. Verdaccio proxies npmjs.org by default — requests for packages not in the local registry are forwarded to the public registry, cached, and served. You can continue to use all public packages normally while keeping your private packages local.",{"q":59,"a":60},"Does Verdaccio require a domain name?","No. Verdaccio listens on port 4873 internally and you can reach it via an SSH tunnel without any domain. For permanent team access, attach a domain from your ServOrbit dashboard so nginx proxies requests over HTTPS.",{"q":62,"a":63},"Is Verdaccio compatible with Yarn and pnpm?","Yes. Verdaccio implements the full npm registry protocol. Yarn and pnpm both support the `--registry` flag and `.npmrc` \u002F `.yarnrc.yml` configuration to point at a custom registry — no extra plugins needed.",{"q":65,"a":66},"How do I update Verdaccio?","Pull the new image and restart: `docker compose pull && docker compose up -d`. Verdaccio stores packages in a named Docker volume (`verdaccio-storage`), which is preserved across image updates.",{"q":68,"a":69},"Can I mirror an existing private registry?","Yes. Configure an uplink in `config.yaml` pointing at your existing registry. Verdaccio will proxy requests to that uplink and cache them locally, letting you consolidate multiple registry sources behind a single endpoint.",{"cpu":71,"ram":72,"stack":73,"port":76,"license":77,"version":78,"os":79},"1 vCPU","\u003C 128 MB",[74,75],"Docker","Node.js","4873","MIT","6.10.4","Ubuntu 24.04",[],[82,90,95],{"name":83,"slug":84,"categorySlug":13,"categoryName":85,"categoryColor":86,"logo":87,"tagline":88,"description":89},"Gitea","gitea","Development","text-warning bg-warning\u002F10","https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fselfhst\u002Ficons\u002Fsvg\u002Fgitea.svg","Your own GitHub, self-hosted on a single VPS — repositories, pull requests, CI\u002FCD and a package registry, with no per-seat billing.","Your own GitHub, self-hosted in minutes. Full Git platform with CI\u002FCD (Gitea Actions), package registry and team permissions — without usage-based billing.",{"name":91,"slug":92,"categorySlug":13,"categoryName":85,"categoryColor":86,"logo":21,"tagline":93,"description":94},"OneDev","onedev","Git, CI\u002FCD and Kanban in one container — no per-developer billing, no external service required.","All-in-one Git forge with visual CI\u002FCD, Kanban boards and a package registry — one container, no per-developer billing.",{"name":96,"slug":97,"categorySlug":98,"categoryName":99,"categoryColor":100,"logo":101,"tagline":102,"description":103},"Semaphore UI","semaphore","application-deployment-devops","Application Deployment & DevOps","text-success bg-success\u002F10","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F58506378","Self-hosted Ansible\u002FTerraform web dashboard — no CLI, embedded SQLite.","Open-source web UI for Ansible, Terraform and OpenTofu — run, schedule and track your playbooks from a dashboard, no CLI required.",[105],"securiser-chaine-approvisionnement-npm-ci",{"key":12,"slug":13,"name":85,"objective":107,"icon":108,"color":86},"Kick off a software project quickly.","dev",1790385909608]