Sign inSign up

edydeleon/verdaccio-oidc

By edydeleon

•Updated 5 months ago

Verdaccio with OIDC auth + theme baked in.

Image
Buildkit cache
Security
Languages & frameworks
Developer tools
0

1.7K

edydeleon/verdaccio-oidc repository overview

⁠verdaccio-plugins

OIDC authentication and theme plugins for Verdaccio⁠. Gate your private npm registry behind any OpenID Connect provider (Google, Azure AD/Entra, Okta, Keycloak, Auth0).

⁠Packages

PackageDescription
@edyd/verdaccio-auth-oidc⁠Auth plugin — OIDC JWT verification, API tokens, package access control, admin API
@edyd/verdaccio-theme-oidc⁠Theme plugin — OIDC login UI, token management, admin dashboard, package browser

Version compatibility: the two plugins are released in lockstep and share a version number. Always install matching versions of @edyd/verdaccio-auth-oidc and @edyd/verdaccio-theme-oidc. The theme's admin UI calls auth-plugin endpoints, so a newer theme paired with an older auth plugin can break the admin views.

⁠Quick start

# Edit docker/config.yaml with your OIDC provider settings, then:
docker compose up --build

Verdaccio runs at http://localhost:4873.

⁠Manual
pnpm install
pnpm build
pnpm start:manual

⁠Configuration

See each plugin's README for full configuration options:

A production-ready config template is at docker/config.yaml⁠.

⁠Deployment

See DEPLOYMENT.md⁠ for Docker, CI/CD, and AWS setup.

⁠Development

# Install dependencies
pnpm install

# Build all plugins
pnpm build

# Run tests
pnpm test

# Lint and format
pnpm lint
pnpm format:check

# Start local dev server (ephemeral OIDC provider)
pnpm start:local

# Start with manual config (uses e2e/verdaccio-config.yaml)
pnpm start:manual

# Preview changelog
pnpm changelog
⁠Project structure
verdaccio-plugins/
├── plugins/
│   ├── verdaccio-auth-oidc/     # Auth plugin (Node, Vite lib build)
│   └── verdaccio-theme-oidc/    # Theme plugin (React SPA, Vite build)
├── docker/
│   ├── config.yaml              # Production config template
│   └── entrypoint.sh            # Container entrypoint (env var substitution)
├── scripts/
│   └── start-manual.mjs         # Local dev server launcher
├── Dockerfile                   # Multi-stage Docker build
├── docker-compose.yml           # Local testing
├── .gitlab-ci.yml               # CI/CD pipeline
└── DEPLOYMENT.md                # Deployment guide

⁠Contributing

See CONTRIBUTING.md⁠.

⁠License

MIT⁠

Tag summary

Content type

Image

Digest

sha256:3f508b92c…

Size

68.5 MB

Last updated

5 months ago

docker pull edydeleon/verdaccio-oidc