 Autor: [Adam Nadolny](/autorzy/adam-nadolny) Ekspert DevOps i infrastruktury · Zweryfikowano Kwiecień 2026

1.  [Strona główna](/) ›
2.  [Baza wiedzy](/baza-wiedzy/) ›
3.  Nexus Repository Manager

# Nexus Repository Manager — prywatne repozytorium artefaktów

Opublikowano: 10 kwietnia 2026 · Kategoria: VPS i serwery

Każdy build Java pobiera dziesiątki JAR-ów z Maven Central, build Node.js tysiące pakietów z npmjs.com, build Python — z PyPI. Bez cachowania budowanie offline jest niemożliwe, a przy CI każdy cold start trwa minuty. Nexus Repository Manager rozwiązuje ten problem przez **proxy + caching** zewnętrznych repozytoriów i hosting prywatnych bibliotek. Jeden Nexus w organizacji zastępuje lokalne cache na każdej maszynie i gwarantuje reprodukowalność buildów. Ten artykuł pokazuje instalację przez Docker, konfigurację repozytoriów Maven, npm i Docker, oraz cleanup policies.

## Instalacja Nexus przez Docker

Nexus 3 dostępny jest jako obraz Docker `sonatype/nexus3`. Wymaga minimum 4 GB RAM ze względu na JVM. Dane persistujemy przez named volume.

\# docker-compose.yml
version: "3.9"
services:
  nexus:
    image: sonatype/nexus3:latest
    container\_name: nexus
    restart: unless-stopped
    ports:
      - "8081:8081"     # UI i Maven/npm/PyPI
      - "8082:8082"     # Docker registry (proxy)
      - "8083:8083"     # Docker registry (hosted)
    volumes:
      - nexus-data:/nexus-data
    environment:
      - INSTALL4J\_ADD\_VM\_PARAMS=-Xms2g -Xmx4g -XX:MaxDirectMemorySize=4g
    ulimits:
      nofile:
        soft: 65536
        hard: 65536

volumes:
  nexus-data:

# docker compose up -d
# Odczytaj haslo admina:
# docker exec nexus cat /nexus-data/admin.password
# Otwórz http://twoj-ip:8081 → zaloguj sie admin / haslo z powyzszego

## Konfiguracja repozytoriów Maven

Nexus używa trzech typów repozytoriów: **proxy** (lustro zewnętrznego repo), **hosted** (własne artefakty) i **group** (agregacja wielu repo za jednym URL). Standardowy setup Maven w Nexus to: proxy Maven Central + hosted releases + hosted snapshots + group łącząca wszystkie trzy.

\# W UI Nexus: Administration → Repository → Repositories → Create repository

# 1. maven2 (proxy) — Maven Central
#    Name: maven-central-proxy
#    Remote storage: https://repo1.maven.org/maven2/
#    Blob store: default

# 2. maven2 (hosted) — prywatne release
#    Name: maven-releases
#    Version policy: Release

# 3. maven2 (hosted) — snapshoty
#    Name: maven-snapshots
#    Version policy: Snapshot

# 4. maven2 (group) — wszystko razem
#    Name: maven-public
#    Members: maven-releases, maven-snapshots, maven-central-proxy

# ~/.m2/settings.xml — konfiguracja Maven
<settings>
  <mirrors>
    <mirror>
      <id>nexus</id>
      <mirrorOf>\*</mirrorOf>
      <url>http://nexus.example.com:8081/repository/maven-public/</url>
    </mirror>
  </mirrors>
  <servers>
    <server>
      <id>nexus</id>
      <username>admin</username>
      <password>haslo-nexus</password>
    </server>
  </servers>
</settings>

## Konfiguracja npm i PyPI proxy

\# npm proxy w Nexus:
# Repository → npm (proxy)
# Name: npm-proxy
# Remote storage: https://registry.npmjs.org

# Konfiguracja lokalnego npm klienta:
npm config set registry http://nexus.example.com:8081/repository/npm-proxy/
# Z autentykacja:
npm config set //nexus.example.com:8081/repository/npm-proxy/:username admin
npm config set //nexus.example.com:8081/repository/npm-proxy/:\_password BASE64\_HASLO

# Lub .npmrc w projekcie:
# registry=http://nexus.example.com:8081/repository/npm-proxy/

# PyPI proxy w Nexus:
# Repository → pypi (proxy)
# Name: pypi-proxy
# Remote storage: https://pypi.org

# Konfiguracja pip:
# ~/.pip/pip.conf
\[global\]
index-url = http://nexus.example.com:8081/repository/pypi-proxy/simple/
trusted-host = nexus.example.com

# Lub przez argument:
# pip install requests --index-url http://nexus.example.com:8081/repository/pypi-proxy/simple/

## Docker Registry w Nexus

\# Nexus jako Docker Registry wymaga osobnych portów per repo!
# Repository → docker (proxy)
# Name: docker-hub-proxy
# HTTP port: 8082
# Remote storage: https://registry-1.docker.io
# Use Docker Hub: tak

# Repository → docker (hosted)
# Name: docker-private
# HTTP port: 8083

# Na hoście klienta Docker (/etc/docker/daemon.json):
{
  "insecure-registries": \["nexus.example.com:8082", "nexus.example.com:8083"\]
}

# Uzycie
docker login nexus.example.com:8083
docker tag myapp:latest nexus.example.com:8083/myapp:latest
docker push nexus.example.com:8083/myapp:latest

# Pull przez proxy Docker Hub (bez rate limitu)
docker pull nexus.example.com:8082/library/nginx:alpine

## Cleanup policies i zarządzanie miejscem

Kryterium

Opis

Typowa wartość

Last downloaded before

Usuń jeśli nie pobierany od N dni

30–90 dni dla proxy

Last modified before

Usuń jeśli nie zmieniony od N dni

180 dni dla snapshots

Release type

Tylko Releases lub tylko Snapshots

Snapshots = agresywniej

Asset name regex

Usuń pasujące do wzorca nazwy

np. .\*-SNAPSHOT.jar

Retain N newest

Zachowaj N najnowszych wersji (Pro)

3–5 wersji

Cleanup policies przypisujesz do repozytoriów w ustawieniach Cleanup Policy. Uruchamiane są przez scheduled task _Cleanup service_ — możesz go skonfigurować w Administration → Tasks. Po uruchomieniu cleanup, usuń fizycznie komponenty przez task _Compact blob store_ — inaczej miejsce na dysku się nie zwolni.

## Najczęstsze pytania

Do czego służy Nexus Repository Manager? +

Nexus Repository Manager (Sonatype) to prywatny menedżer artefaktów obsługujący Maven/Gradle (Java), npm (JavaScript/TypeScript), PyPI (Python), Docker, Helm, NuGet (.NET), Go i inne. Pozwala cachować zewnętrzne repozytoria (Maven Central, npmjs.com), hostować prywatne biblioteki i zarządzać cyklem życia artefaktów. Nexus OSS jest bezpłatny, Nexus Pro dodaje HA, zaawansowane polityki i staging.

Czym różni się Nexus od Artifactory? +

Oba narzędzia pełnią tę samą funkcję — prywatny menedżer artefaktów. Nexus OSS jest bezpłatny i open-source z szerokim wsparciem formatów. JFrog Artifactory Open Source jest też bezpłatny, ale ma mniejszy zestaw darmowych formatów (Maven, Gradle, Ivy, Generic). Artifactory Pro jest droższy niż Nexus Pro, ale oferuje bardziej zaawansowane funkcje CI/CD. Nexus dominuje w ekosystemie Java/Maven; oba mają podobne możliwości dla npm i PyPI.

Jak skonfigurować Maven do używania Nexus proxy? +

W pliku ~/.m2/settings.xml dodajesz mirror wskazujący na Nexus jako proxy dla Maven Central. Następnie w settings.xml definiujesz serwer z credentials do Nexus (username/password lub token). Dzięki temu mvn install pobiera zależności z Nexus, który je cachuje — kolejne buildy są szybsze i działają offline. W projekcie w pom.xml możesz też bezpośrednio wskazać Nexus jako repozytorium snapshotów i release.

Co to są cleanup policies w Nexus? +

Cleanup policies to reguły automatycznego usuwania starych artefaktów według kryteriów: wiek (np. nie pobierany od 30 dni), wersja (snapshot starsze niż N dni), regex nazwy. Zapobiegają niekontrolowanemu wzrostowi dysku. W Nexus Pro dostępny jest też Retention Policy — bardziej granularny. Cleanup policies trzeba przypisać do konkretnych repozytoriów i uruchamiają się jako zaplanowane zadania (Tasks → Cleanup Service).

## Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.

Contabo

Nexus wymaga 4+ GB RAM i dużego dysku — Contabo oferuje dobry stosunek ceny

Wysoki RAM

[Aktywuj rabat →](/out/contabo)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/contabo)

ProSerwer.pl

Polski VPS pod Nexus — artefakty firmowe przechowywane w Polsce

RODO-friendly

[Aktywuj rabat →](/out/proserwer-pl)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/proserwer)

Mikr.us

Tanie VPS do testowania Nexus — sprawdź plany z 2+ GB RAM

Testowy

[Aktywuj rabat →](/out/mikrus)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/mikrus)

## Powiązane strony

-   [Harbor — prywatny rejestr Docker](/baza-wiedzy/harbor-docker-registry)
-   [Jenkins CI/CD na VPS](/baza-wiedzy/jenkins-cicd-vps)
-   [Docker Compose w produkcji](/baza-wiedzy/docker-compose-produkcja)
-   [Wszystkie artykuły](/baza-wiedzy/)