This is a Docker image for Verdaccio (a lightweight private npm proxy registry) with some plugins required for IWF.
Project
These instructions will help you install this library in your project and tell you how to use it.
Before using this Docker Verdaccio setup, ensure you have the following installed:
- Docker (version 20.10 or later) - Install Docker
- Docker Compose (version 2.0 or later) - Install Docker Compose
- Git - For cloning the repository
- SSH Keys (optional) - Configured for GitLab authentication if you plan to use GitLab auth
For production builds, you'll also need:
- Docker Buildx - For multi-platform builds (usually included with Docker Desktop)
-
Clone the repository:
git clone https://github.com/iwf-web/docker-verdaccio.git cd docker-verdaccio -
Build and run with Docker Compose (recommended for development):
docker compose up --build
This will:
- Build the Verdaccio image with plugins
- Start MinIO (S3-compatible storage) for local development
- Create necessary S3 buckets automatically
- Start Verdaccio on port 4873
-
Build for production:
./bin/build-ci.sh --version 6.1.0
If available from the registry:
docker pull iwfwebsolutions/verdaccio:latest-
Development Mode (with local MinIO S3 storage):
docker compose up
Access points:
- Verdaccio Web UI: http://localhost:4873
- MinIO Console: http://localhost:9001 (admin/admin123 or minio/minio123)
-
Production Mode:
Configure your environment variables and run:
docker run -p 4873:4873 \ -e AWS_S3_BUCKET=your-bucket \ -e AWS_ACCESS_KEY_ID=your-key \ -e AWS_SECRET_ACCESS_KEY=your-secret \ iwfwebsolutions/verdaccio:latest
-
Set the registry URL:
npm config set registry http://localhost:4873 # or for yarn yarn config set registry http://localhost:4873
-
Login with GitLab credentials:
npm login --registry http://localhost:4873
Use your GitLab username and personal access token.
npm publish --registry http://localhost:4873This setup uses GitLab authentication against https://git.iwf.io. Users can authenticate using their GitLab credentials:
- Username: Your GitLab username
- Password: GitLab personal access token with
read_apiscope
- Development: Uses MinIO (S3-compatible) running locally
- Production: Configured for AWS S3 storage with environment variables
brew install hadolint
hadolint src/Dockerfile- Verdaccio - Private npm proxy registry
Please read CONTRIBUTING.md for details on our code of conduct, and CONTRIBUTING.md for the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
All the authors can be seen in the AUTHORS.md file.
Contributors can be seen in the CONTRIBUTORS.md file.
See also the full list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.txt file for details
A list of used libraries and code with their licenses can be seen in the ACKNOWLEDGMENTS.md file.