Overview
This template provides a production‑ready Nexus Repository Manager instance as a Monk runnable. You can:- Run it directly to get a managed artifact repository and package manager
- Inherit it in your own CI/CD infrastructure to host private packages and cache public repositories
What this template manages
- Nexus Repository Manager OSS or Pro
- Web UI and API
- Repository management
- Docker registry capabilities
- Blob storage for artifacts
- Web UI on port 8081
Quick start (run directly)
- Load templates
- Run Nexus with defaults
- Customize configuration (recommended via inheritance)
variables. Secrets added with monk secrets add will not affect this runnable unless you inherit it and reference those secrets.
- Preferred: inherit and replace variables with
secret("...")as shown below. - Alternative: fork/clone and edit the
variablesinnexus/nexus.yaml, thenmonk load MANIFESTand run.
http://localhost:8081.
Default credentials: admin / admin123 (change immediately!)
Configuration
Key variables you can customize in this template:${monk-volume-path}/nexus on the host. Nexus data directory is mounted at /nexus-data in the container.
Use by inheritance (recommended for CI/CD)
Inherit the Nexus runnable in your CI/CD pipeline and declare a connection. Example:Ports and connectivity
- Service:
nexuson TCP port8081(Web UI and API) - Docker Registry (hosted): TCP port
8082 - Docker Registry (group): TCP port
8083 - From other runnables in the same process group, use
connection-hostname("\<connection-name>")to resolve the Nexus host.
Persistence and configuration
- Data path:
${monk-volume-path}/nexus/nexus-data:/nexus-data - Blob stores:
${monk-volume-path}/nexus/blobs - You can configure additional blob stores and repositories through the Nexus web UI at
http://localhost:8081.
Features
- Universal Repository: Support for 25+ package formats
- Proxy Repositories: Cache remote repositories (Maven Central, npm, PyPI)
- Hosted Repositories: Host your private artifacts
- Group Repositories: Combine multiple repos into one URL
- Docker Registry: Private Docker image registry
- Security: Fine-grained access control, LDAP/AD integration
- High Availability: Clustering and replication (Pro)
- Storage: Efficient blob storage with deduplication
Supported Formats
- Build Tools: Maven, Gradle, Ivy
- Package Managers: npm, PyPI, RubyGems, NuGet, Composer
- Containers: Docker, Helm
- OS Packages: APT, Yum, Conan
- Raw: Generic files, site repositories
- And many more…
Maven Configuration
Configure Maven to use Nexus in~/.m2/settings.xml:
npm Configuration
Configure npm to use Nexus:Docker Registry
Configure Docker to use Nexus:Use cases
Nexus excels at:- Private artifact repository
- Proxy for public repositories (faster builds, offline capability)
- Docker registry for private images
- Package management for polyglot teams
- License compliance and security scanning
- Dependency management
Related templates
- Integrate with source control (GitLab, GitHub)
- Use with artifact repositories (
nexus/,artifactory/) - Combine with container registries for Docker image management
Troubleshooting
- If you changed credentials or configuration but the container has existing data, you may need to update settings through the Nexus web UI.
- Nexus requires 2-3 minutes on first launch to initialize.
- For memory issues, increase
java-optsheap size in the template variables. - Get initial admin password:
- Check logs: