---
title: "Deploy Verdaccio"
description: "Private npm registry and npmjs cache with closed sign-up and admin login"
category: "Storage"
url: https://railway.com/deploy/verdaccio-1
---

# Deploy Verdaccio

Private npm registry and npmjs cache with closed sign-up and admin login

**[Deploy Verdaccio on Railway](https://railway.com/template/verdaccio-1)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/verdaccio-1/manifest.json

- **Creator:** Agaz Self-Host
- **Category:** Storage

## Template content

### Verdaccio https://cdn.jsdelivr.net/gh/selfhst/icons/svg/verdaccio.svg

- **Image:** verdaccio/verdaccio:7.1.0@sha256:c1b1b86154b43a4e1861bc7a4496d4977aa43c8bdb5db49b68445f8a9273729f
- **Start command:** `/bin/sh -c "echo H4sICI5+9GoCA3N0YXJ0LnNoALVWbVPbOBD+7l+xNUyxAb8wd9PrmKa9FEKPGSCdhPZuhlJGsZVERZZ8kpyQofz3W8nOCxQ+3pAZpNXq2d1nX+StV8mIiURPvS34SlVB8pxJkAIGhPE5WWQwV8xQMFMKuRRjNtkHvRC5E5CiZAJqTRUKDVHGSXE7oypGwKGsVU4zmBpT6SxJJsxM61GcyzIhhI+JmSazpc1INQYjQ8uKE0M9TQ1EtPaGl/1B91Ovs9ZNtJGKTKh31L842ZRbD5MWKF6Qknvd4/PTi5svw96g42/ff+0NjrtHR6f9m7X8onveyyIXyoPvZfCM2ufucPh3f3CcfXjpBMpaGxjZ4A2ioEpvOHxi0cmy6Ns2qZEmYViOURao/fnLx7PT4V+P1Vvhc/rn3X+c508MrMRZFB2gWnlbMAVRhRG1FCYFMcT3PASC9yi29Pnw7l2vf+K1lGbwSNmreD1hQmewwXIr8+Z0lHkAhhlOn/B2eXp5hqyuKgrdsVFY9ampiNbzwq4Bxoxv2lweurOS3N3Y4kLr26vgvLriTNxqe11U5Q/d4NSKr+tM0QnTRi1ipxBLNUm8iuS3GJ9T3/lzN9ndaS6ie1RbC01+nKyqR5zpKQrbLDQmxPPySsk77BNny4Lv/k/QTV9Z6FtKqy5nM3rJSiprk8GbFMWFNJZOtMgmQirqlawoOJ0T1YRN6oKZxjUqyIjTIgOjaupxOXGJXFSYC20KhMTtWKqSIPZmXs/6n25O+oPz7mUWVYoas3hATU5nlP+qeNb72jvLIpuVB8/WGI6EI0WxikEqqKuCtIOlmSP4W6YfxkqW8GKzBaNcLSoTxp6QBcUhATsetj524FhDBxT9t2aKBv5Y++Fhe9Jc2TxNaq0SLnPCE85GiYW6KWVRI4Mbxf5I3ID82IC9sozvuxl4jeCYMJvzmKjJLNac5TQ4WOlW8w0NKmbxSwEeemwMwavk+9X37Ju+3ttOYkO1CayVMIR7O4m15DSmSkkV+EzMCGcFvDTe0N213TtmrE/w0HqF3UQta2N3po0e4ngPbFghfLBSzFhxgtuVfB/82ozf+mGssRdN4H8TuMYTQ1XwUaJjRISQwdX1MnKG+M4OaoniVBT0LuDQeQ98CZH54VWKDHY6jsuwoYDB+w6k8Pp1mz77dFRYzs6Var7fgF6x602Yg2v4+RN8/xFTWOKBv36vwIe9ZrGHS6axGsFIsBX5C1npBlk4htUCOqurmcVpfZsSPV05dpCG7hynnsxdzRfOpqBzOMZdEMZGng77Q6OYmASP4g1XYaElZ/EQKNe0pbAWesrGJnAneBFT5N7oJzlqlH9IJpoEWXfw/z6SguWMjZ7KN2kKD215Lklacv4Bk+w6tPAxlX4bQwMDzxCJMDsbL82yk32UrYsR357Bl4uOT+9oDqsegyhqPi3AvUi4xVFoqHDzHMd5Gru/bPv+c3+Ag+f3t3/8hg8KEnaF6AEWflSHPlivrw/tQBE4k7aWXzAwk7wuscSxbkDOBSZitAAlJY62KREFtC+fzb8dRqzEzY7ecK/5wLG4UChZubuxHZBYy+uQfXiFflhKDtI0PcCpZIPMp2iykWQp3D/AHl58LGzfYZS7G7q2b3akof0wgyhHFaTNX7vkjZlHsefbA+8/yxio88YJAAA= | base64 -d | gunzip > /tmp/start.sh && exec sh /tmp/start.sh"`
- **Health check:** /
- **Public domain:** Yes

## Documentation

# Deploy and Host Verdaccio on Railway

Verdaccio is an open-source, lightweight private npm registry written in Node.js. It stores the packages you publish and works as a caching proxy for npmjs.org, so teams can share private packages, keep installing while the public registry is down, and speed up CI installs. It works with npm, Yarn, pnpm and Bun.

## About Hosting Verdaccio

Hosting Verdaccio means running one Node.js server with persistent storage for package tarballs, metadata, the user file and the token-signing secret. This template runs the official `verdaccio/verdaccio:7.1.0` image, pinned by digest, with a Railway volume at `/verdaccio/storage` and a public HTTPS domain. A small start script writes the configuration on each boot. It closes open sign-up, requires a login to install or publish, creates an `admin` user with a generated password, and sets the public URL so tarball links use your Railway domain. The server drops root privileges before it starts, and redeploys keep your packages and tokens.

## Common Use Cases

* Publish private or scoped company packages (for example `@your-team/ui`) without paying for a hosted registry
* Cache npmjs.org packages for faster, more reliable installs in CI and local development
* Test package releases end to end before publishing them to the public npm registry

## Dependencies for Verdaccio Hosting

* A Railway volume mounted at `/verdaccio/storage` for packages, users and the server secret
* Outbound HTTPS access to registry.npmjs.org for proxied public packages

### Deployment Dependencies

* Verdaccio on GitHub: https://github.com/verdaccio/verdaccio
* Verdaccio 7.1.0 release notes: https://github.com/verdaccio/verdaccio/releases/tag/v7.1.0
* Docker documentation: https://verdaccio.org/docs/docker
* Migrating from Verdaccio 6 to 7: https://verdaccio.org/blog/2026/09/27/verdaccio-6-to-7-migration
* Start script used by this template: https://github.com/aalfath/verdaccio-railway-template

### Implementation Details

After the deploy, open the service's Variables tab for `VERDACCIO_ADMIN_USERNAME` (default `admin`) and `VERDACCIO_ADMIN_PASSWORD`. Sign in to the web UI with them, or log in from your terminal. Verdaccio 7 only accepts tokens for package requests, so use the legacy login, which stores a token in your `.npmrc`:

```bash
npm login --auth-type=legacy --registry https://YOUR-DOMAIN.up.railway.app/
npm publish --registry https://YOUR-DOMAIN.up.railway.app/
npm install your-package --registry https://YOUR-DOMAIN.up.railway.app/
```

To use it for one scope only, add `@your-team:registry=https://YOUR-DOMAIN.up.railway.app/` to your project's `.npmrc`.

Optional variables you can add to the service:

* `VERDACCIO_ACCESS`: who may install packages. Default `$authenticated`; set `$all` to allow anonymous installs (this also makes your registry a public npm proxy).
* `VERDACCIO_PUBLISH`: who may publish and unpublish. Default `$authenticated`.
* `VERDACCIO_MAX_USERS`: default `-1` (sign-up closed). Set a number to let people create accounts with `npm adduser`, then set it back to `-1`.
* `VERDACCIO_TITLE`, `VERDACCIO_LOG_LEVEL` (default `http`) and `VERDACCIO_LOG_FORMAT` (default `pretty`).

Changing `VERDACCIO_ADMIN_PASSWORD` and redeploying updates the admin password. Keep `RAILWAY_RUN_UID=0`: the start script needs root briefly to give the volume to the `verdaccio` user.

## Why Deploy Verdaccio on Railway?


Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Verdaccio on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.



## Similar templates

- [RustFS | (Just Updated) S3 Object Store, Public URL and Keys Set](https://railway.com/deploy/rustfs-or-just-updated-s3-object-store-p) — S3-compatible object store, keys and public URL preset, volume kept
- [TimescaleDB](https://railway.com/deploy/timescaledb-railway-template) — A PostgreSQL-based time-series database for analytics on Railway.
- [Neo4j 2026.10 Community](https://railway.com/deploy/neo4j-202610-community) — Neo4j graph database with APOC, Browser, Bolt TCP proxy and a volume

Open this page in a browser: https://railway.com/deploy/verdaccio-1
