Eternals NPM Registry
In Progress
Terminal window .yarnrc.yml .npmrc
Terminal window
Terminal window
Terminal window
Eternals NPM Registry is a private package management solution that lets teams host and distribute npm packages securely. It implements the full npm registry protocol, making it compatible with npm, yarn, and pnpm.
Tech Stack
Section titled “Tech Stack”| Layer | Technology |
|---|---|
| API server | NestJS |
| Web UI | React |
| Database | PostgreSQL |
| Artifact storage | S3 / MinIO |
Features
Section titled “Features”- Private and scoped packages — Host
@your-org/packagewithout going public - Multi-package manager support — Works with npm, yarn, pnpm out of the box
- Authentication and access control — Role-based access to repositories
- Version management — Publish, deprecate, and yank specific versions
- Web UI — Browse and manage packages without the CLI
- Package analytics — Download counts and usage stats (planned)
Configuring Your Package Manager
Section titled “Configuring Your Package Manager”# Set registry for your scopenpm config set @your-org:registry https://registry.your-domain.com
# Or use a .npmrc fileecho "@your-org:registry=https://registry.your-domain.com" >> .npmrcnpmScopes: your-org: npmRegistryServer: "https://registry.your-domain.com"@your-org:registry=https://registry.your-domain.comPublishing a Package
Section titled “Publishing a Package”# Login to your private registrynpm login --registry=https://registry.your-domain.com
# Publish a scoped packagenpm publish --registry=https://registry.your-domain.comArchitecture Overview
Section titled “Architecture Overview”npm publish → Auth → Metadata (PostgreSQL) → Artifact (MinIO/S3)npm install → Auth → Version resolve (PostgreSQL) → Tarball (MinIO/S3)Self-Hosting with MinIO
Section titled “Self-Hosting with MinIO”For fully air-gapped environments, use MinIO as the S3-compatible storage backend:
services: npm-registry: image: eternals/npm-registry:latest environment: DATABASE_URL: postgresql://user:pass@db:5432/registry S3_ENDPOINT: http://minio:9000 S3_BUCKET: npm-packages S3_ACCESS_KEY: minioadmin S3_SECRET_KEY: minioadmin
minio: image: minio/minio command: server /dataVision
Section titled “Vision”Eternals NPM Registry aims to be a flexible, scalable alternative to GitHub Packages and JFrog Artifactory — giving teams complete ownership over their package distribution pipeline.