
Dans ce tutoriel, nous allons voir comment déployer un gestionnaire de dépôt Nexus Repository avec Docker. L’objectif est de mettre en place rapidement un serveur Nexus fonctionnel, prêt à être utilisé comme gestionnaire d’artifacts dans votre environnement DevOps.
Nous allons uniquement nous concentrer sur le déploiement de Nexus : installation, préparation de l’arborescence, configuration du conteneur.
La configuration des différents types de dépôts (Maven, npm, Docker, NuGet, etc.) ainsi que leur intégration dans vos pipelines CI/CD sera volontairement laissée de côté et traitée dans d’autres tutoriels dédiés.
Sommaire
Présentation de Nexus Repository
Nexus Repository (souvent appelé Nexus 3) est un gestionnaire de dépôts développé par Sonatype. Il permet de centraliser, stocker et distribuer des artifacts logiciels utilisés dans vos projets : packages, librairies, conteneurs Docker, dépendances Maven, npm, Python, NuGet, Helm et bien d’autres. En environnement DevOps, Nexus devient un composant essentiel pour sécuriser et maîtriser la chaîne de build, tout en améliorant la vitesse et la fiabilité des pipelines CI/CD.
L’une des forces de Nexus est sa capacité à gérer différents types de dépôts sous une seule plateforme. Que vous ayez besoin de proxifier des dépôts publics (Maven Central, npmjs, PyPI…), héberger vos propres paquets internes ou assembler plusieurs sources via des dépôts groupés, Nexus offre une grande flexibilité. Il agit comme un cache intelligent, réduisant la dépendance aux plateformes externes et améliorant les performances des outils de build.
Nexus propose également des fonctionnalités avancées de sécurisation, comme la gestion fine des rôles et des permissions, l’intégration LDAP/AD, la validation des artifacts ou les politiques de rétention. Ces fonctionnalités permettent de renforcer la gouvernance des dépendances et d’éviter l’usage de librairies non vérifiées dans les projets. C’est un élément clé pour améliorer la qualité logicielle et limiter les risques de sécurité liés aux dépendances.
Enfin, Nexus s’intègre parfaitement avec les environnements modernisés : pipelines CI/CD (GitLab CI, GitHub Actions, Jenkins), outils de build (Maven, Gradle, npm, Docker, Helm), et même des plateformes de développement. Grâce à son interface web intuitive et son API REST complète, il devient rapide à prendre en main tout en offrant une grande puissance pour les administrateurs comme pour les développeurs.
Nexus Repository existe en deux éditions : Community Edition (CE) et Professional Edition (PRO). La version CE est gratuite et offre l’essentiel pour gérer vos dépôts internes et proxifier les dépôts publics. La version PRO, payante, apporte des fonctionnalités avancées telles que l’intégration avec des outils de sécurité, la gestion fine des composants et des métadonnées, la prise en charge de nombreux formats supplémentaires et un support officiel par Sonatype. Selon vos besoins et la taille de votre organisation, il est possible de commencer avec la CE et évoluer vers la PRO si nécessaire.
Pourquoi utiliser Nexus Repository
L’utilisation de Nexus Repository dans votre infrastructure apporte des avantages tant pour les équipes DevOps que pour les administrateurs système :
1. Cache local pour vos dépôts
Nexus agit comme un cache centralisé pour les artifacts et packages : Docker, Chocolatey, dépôts Ubuntu, Maven, npm, etc. Cela permet de réduire le temps de téléchargement, d’améliorer les performances des builds et des déploiements, et de garantir que les mêmes versions de packages sont disponibles pour tous les environnements.
2. S’affranchir des limitations externes
Certains services publics imposent des quotas journaliers ou des restrictions sur le nombre de requêtes (Docker Hub, Chocolatey…). Avec un dépôt local Nexus, vos pipelines CI/CD et mises à jour logicielles peuvent fonctionner sans interruption, même si les limites externes sont atteintes.
3. Sécurité et contrôle réseau
L’utilisation d’un dépôt local permet de bloquer la sortie Internet des serveurs de build, de production ou des postes de test. Les packages nécessaires sont récupérés depuis Nexus, ce qui réduit l’exposition aux menaces externes et permet aux administrateurs de mieux contrôler les flux de données sortants.
4. Réduction de l’empreinte Internet
En centralisant les téléchargements via Nexus, vous limitez la visibilité de vos serveurs sur Internet. Vos machines n’interagissent plus directement avec des dépôts publics, ce qui renforce la sécurité et la confidentialité de votre infrastructure tout en facilitant la conformité aux politiques internes.
Prérequis pour déployer Nexus
Avant de commencer le déploiement de Nexus Repository Manager 3, assurez-vous de disposer des éléments suivants :
- Un serveur Linux fonctionnel. Dans ce tutoriel, nous utilisons un serveur Ubuntu 24.04.
- Docker installé et opérationnel sur ce serveur.
Si Docker n’est pas encore installé sur votre serveur Ubuntu, vous pouvez suivre ce tutoriel d’installation de Docker sur Ubuntu 24.04 pour préparer votre environnement.
Déploiement de Nexus
Afin de facilité le déploiement de Nexus, vous trouverez le fichier docker-compose à cet emplacement : https://git.rdr-it.com/root/docker-compose/-/tree/main/Nexus3
Sur le serveur Linux, aller dans le dossier où vous souhaitez stocker le conteneur et entrer la commande ci-dessous pour télécharger les fichiers :
bash <(wget -qO- https://git.rdr-it.com/root/scripts/-/raw/master/Linux/rdr-it/get-docker-compse/get.sh) Nexus3
Vérifier que les fichiers sont présent dans votre dossier avec la commande ll ou ls -l.

Télécharger l’image :
sudo docker compose pull
Démarrer le conteneur Nexus :
sudo docker compose up -d
Patienter pendant le démarrage du conteneur …
Prise en main de Nexus : accès, mot de passe et navigation
Depuis un navigateur, aller à l’adresse suivante : http://IP:8081 pour accéder à l’interface Web de Nexus.
Sans être authentifié, on arrive sur un page qui va permettre d’aller naviguer visuellement dans les dépôts publiques en cliquant Browser.


Pour se connecter, cliquer sur l’icone 1 en haut à droite.

Lors de la premiere connexion, le mot de passe de l’utilisateur admin se trouve dans le fichier admin.password.

Sur le serveur, afficher le contenu du fichier avec la commande suivante : cat nexus-data/admin.password puis copier le mot de passe.

Lors de la copie du mot de passe, ne sélectionner pas l’utilisateur connecté en SSH
Retourner sur le formulaire d’authentification, en utilisateur, entrer admin 1, coller le mot de passe 2 puis cliquer sur le bouton Sign In 3.

A la premier connexion, nous allons suivre un assistant, pour commencer cliquer sur Next 1.

Pour continuer, entrer un nouveau mot de passe 1 pour le compte, confirmer le 2 et cliquer sur Next 3.

Pour continuer suivre l’assistant jusqu’à la fin.
Une fois terminée, cliquer sur Settings 1 dans le menu à gauche pour accéder aux paramètres de Nexus.

Dans l’administration, nous avons accès à la configuration des Repositories et aux paramètres de sécurité, nous verrons cela dans d’autres tutoriels où je vous explique comment configurer des dépôts.

Une fois connecté, sur le Dashboard, on peut voir les métriques d’utilisations notamment pour la version CE.

Conclusion
Vous disposez désormais d’un Nexus Repository opérationnel, installé via Docker et prêt à être intégré dans votre environnement DevOps ou système. Nous avons vu comment déployer le conteneur, accéder à l’interface web, sécuriser le compte administrateur et parcourir les principales fonctionnalités de l’outil. Cette base solide vous permettra d’utiliser Nexus en tant que gestionnaire centralisé pour vos dépôts et artifacts.
Dans les prochains tutoriels, nous irons plus loin avec la configuration des différents types de dépôts (Docker, Chocolatey, apt …), la mise en place de proxys, la gestion de dépôts hébergés, la configuration des dépôts groupés.
Ce premier tutoriel sert de fondation : vous êtes maintenant prêt à explorer toutes les possibilités offertes par Nexus.
FAQ
Nexus Repository est-il gratuit ?
Oui, Nexus existe en deux versions : Community Edition (CE) qui est gratuite, et Professional Edition (PRO) qui ajoute des fonctionnalités avancées et un support officiel. Pour la majorité des usages DevOps ou Sysadmin, la version CE est largement suffisante.
Peut-on utiliser Nexus sans Docker ?
Oui. Nexus peut être installé directement sur un serveur Linux ou Windows via un package standalone. Cependant, l’utilisation de Docker simplifie énormément l’installation, la mise à jour et la maintenance.
Quels types de dépôts Nexus peut-il gérer ?
Nexus prend en charge de nombreux formats : Docker, Maven, npm, PyPI, NuGet, Chocolatey, Helm, Raw, Yum, Apt (via PRO), et bien d’autres. Il peut servir de cache, d’hébergement interne, ou de dépôt groupé.
Comment sauvegarder Nexus Repository ?
La méthode la plus propre est la sauvegarde du répertoire data, qui contient les dépôts et la configuration. Avec Docker, il suffit de sauvegarder le volume / dossier mappé. Nexus PRO propose en plus un système de backup intégré.
Comment voir l’espace utiliser par les dépôts ?
Depuis l’administration (Settings), aller sur Repository / Blob Stores et vous pourrez voir l’espace occupé sur le disque par les différents dépôts.
