Skip to content

Get up and running with vltโ€™s Serverless Registry (VSR) in minutes. VSR is a modern, npm-compatible registry that runs seamlessly on Cloudflareโ€™s global edge network.

๐Ÿš€ Quick Start

Get up and running in seconds:

Terminal window
# Try it locally
npx @vltpkg/vsr
# Or install globally
npm install -g @vltpkg/vsr vsr

Boom! ๐Ÿ’ฅ Your registry is live at http://localhost:1337

๐Ÿƒโ€โ™‚๏ธ Local Development

Basic Usage

Terminal window
# Start with defaults (port 1337)
vsr
# Custom port
vsr --port 3000
# Enable debug mode
vsr --debug
# Use config file
vsr --config ./vlt.json

CLI Options

OptionAliasDefaultDescription
--port-p1337Server port
--config-c-Config file path
--debug-dfalseDebug mode
--daemon-trueLocal filesystem daemon
--help-h-Show help

๐Ÿ”— API Access

Once running, access your registry:

  • Registry API: http://localhost:1337
  • Interactive Docs: http://localhost:1337/-/docs
  • Filesystem Daemon: http://localhost:3000 (if enabled)

Requirements

Development:

  • Node.js (latest LTS)
  • VLT package manager

Production:

  • Cloudflare Account (free tier available)

๐Ÿš€ Production Deployment

Deploy VSR to Cloudflare Workers with the new vsr deploy command:

Terminal window
# Deploy to default environment (dev)
vsr deploy
# Deploy to production
vsr deploy --env=prod
# Preview deployment without actually deploying
vsr deploy --dry-run
# Override specific resource names
vsr deploy --env=staging --db-name=my-custom-db
--bucket-name=my-custom-bucket

Deploy Options

OptionDefaultDescription
--envdevEnvironment (dev/staging/prod)
--db-name-Override D1 database name
--bucket-name-Override R2 bucket name
--queue-name-Override queue name
--dry-runfalsePreview deployment

Configuration

Add deployment configuration to your vlt.json file:

{
"registry": {
"deploy": {
"sentry": {
"dsn": "https://[email protected]/project-id",
"sampleRate": 1.0,
"tracesSampleRate": 0.1
},
"environments": {
"dev": {
"databaseName": "vsr-dev-database",
"bucketName": "vsr-dev-bucket",
"queueName": "vsr-dev-cache-refresh-queue",
"sentry": {
"environment": "development"
}
},
"prod": {
"databaseName": "vsr-prod-database",
"bucketName": "vsr-prod-bucket",
"queueName": "vsr-prod-cache-refresh-queue",
"sentry": {
"environment": "production",
"dsn": "https://[email protected]/project-id",
"sampleRate": 0.1
}
}
}
}
}
}

Thatโ€™s it! ๐ŸŽ‰ Your registry is now running globally on Cloudflareโ€™s edge network.

For detailed deployment configuration, see our Deployment Guide.