Stacks / Backend
Nexus Repository / Harbor
Artifacts you host. Nexus Repository OSS is EPL-1.0; Harbor is Apache-2.0 — JFrog Artifactory without the repo seat.
The problem
JFrog Artifactory meters repositories, storage, and CI. You wanted Maven/npm/generic artifacts or images on a box you run. Nexus Repository's public codebase is EPL-1.0 (sonatype/nexus-public). Harbor is Apache-2.0 (goharbor/harbor) if the job is a container registry — already the Docker Hub stack. This is not every Artifactory Enterprise feature, Xray, or JFrog Cloud SKU. Images-only can stay on /replace/docker-hub.
Replaces
JFrog Artifactory
Estimated SaaS saved
$1,200
per year, small team, before lock-in
Start on RailwayHarbor if this is only container images (Docker Hub), not Maven/npm
Placeholder: Nexus Repository (Java) plus a volume for blobs, or Harbor if you only need images. No one-click template in this repo yet — Start on Railway. Harbor details stay on /stacks/harbor-registry.
The stack
- Nexus Repository
EPL-1.0 artifact repository (sonatype/nexus-public)
- Harbor
Apache-2.0 CNCF container registry if the job is images
Cost table
| You stop paying | Typical / year | Self-host instead |
|---|---|---|
| JFrog Artifactory (small team) | $1,200 | Nexus Repository or Harbor |
Agent setup prompt
Replace JFrog Artifactory with Nexus Repository (Maven/npm/generic) or Harbor (containers). - Nexus: official image, persist blobs, create one hosted repo, publish one artifact. Harbor if you only need images — /stacks/harbor-registry. - Do not claim every Artifactory Enterprise feature. Write AGENT_PROMPT.md.
Also as markdown: /stacks/nexus-artifacts.md
FAQ
- Nexus or Harbor?
- Nexus if you need Maven, npm, or generic artifacts. Harbor if the job is container images (/replace/docker-hub). Pick the format you publish.
- Is this Docker Hub?
- Docker Hub is /replace/docker-hub (Harbor). Artifactory is the broader artifact OS. Same Harbor if you only store images.
- EPL — is that OSI?
- Eclipse Public License 1.0 is OSI. The catalog row points at sonatype/nexus-public.