Installer portracker avec Docker
portracker

Installer portracker avec Docker

Table des matières

GitHub - mostafa-wahied/portracker
Contribute to mostafa-wahied/portracker development by creating an account on GitHub.

Centraliser la surveillance des ports ouverts, que ce soit de vos containers Docker et/ou du système, de manière esthétique et facilement, c'est possible !

Aujourd'hui nous allons parler de portracker ! Vous pourrez, en temps réel, avoir un œil sur les ports ouverts et le service s'y rapportant. Déployez portracker sur l'ensemble de vos serveurs et centralisez-les sur une seule instance.

Notez qu'il y a deux méthodes pour installer portracker, une où il y a un accès direct au socket de Docker et une, par un proxy :

Pour renforcer la sécurité, vous pouvez exécuter Portracker sans accès direct au socket Docker en utilisant un proxy. Cela limite les autorisations de l'API Docker aux opérations en lecture seule.

C'est cette méthode que nous allons choisir.


⚡ Caractéristiques

  • Détection automatique des ports : analyse le système hôte pour trouver et afficher automatiquement les services en cours d'exécution et leurs ports. Aucune saisie manuelle de données n'est nécessaire.
  • Collecteurs spécifiques à la plateforme : comprend des collecteurs spécialisés pour Docker et TrueNAS afin de recueillir des informations contextuelles riches à partir de l'hôte.
  • Détection des ports internes : distingue les ports internes des conteneurs et les ports hôtes publiés, offrant une visibilité complète sur les services conteneurisés.
  • Léger et autonome : s'exécute comme un processus unique avec une base de données SQLite intégrée. Aucune dépendance à une base de données externe telle que PostgreSQL ou Redis n'est requise.
  • Surveillance peer-to-peer : ajoutez d'autres instances de portracker en tant que pairs pour afficher tous vos serveurs, conteneurs et machines virtuelles à partir d'un seul tableau de bord.
  • Regroupement hiérarchique : organisez les serveurs dans une structure parent-enfant, parfaite pour imbriquer les serveurs, par exemple l'instance portracker d'une machine virtuelle sous son hôte physique.
  • Découverte TrueNAS améliorée : une clé API TrueNAS optionnelle permet à portracker de découvrir les machines virtuelles en cours d'exécution* et de recueillir des informations système améliorées telles que la version du système d'exploitation et le temps de fonctionnement.
    * Remarque : les machines virtuelles détectées sur TrueNAS avec la clé API facultative sont affichées en mode lecture seule. Pour activer la surveillance complète, déployez une instance Portracker sur chaque machine virtuelle et ajoutez-la en tant que serveur distinct.
  • Interface utilisateur moderne et réactive : tableau de bord épuré avec modes clair/foncé, filtrage en direct et plusieurs affichages des données (liste, grille, tableau).

💾 Installation

Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Distribution Linux (Ubuntu, Debian, etc ...).
  • Docker installé.
  • Accès terminal.
  • Connexion internet.

Étapes d'installation

  1. Créez votre compose.yml dans le dossier ou vous comptez installer portracker :
nano compose.yml
  1. Et collez ça dedans :
services:
  docker-proxy:
    image: tecnativa/docker-socket-proxy:latest
    container_name: portracker-docker-proxy
    restart: unless-stopped
    environment:
      - CONTAINERS=1
      - IMAGES=1
      - INFO=1
      - NETWORKS=1
      - POST=0
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - "2375:2375"

  portracker:
    image: mostafawahied/portracker:latest
    container_name: portracker
    restart: unless-stopped
    pid: "host"
    cap_add:
      - SYS_PTRACE
      - SYS_ADMIN
    security_opt:
      - apparmor:unconfined
    volumes:
      - ./portracker-data:/data
    ports:
      - "4999:4999"
    environment:
      - DOCKER_HOST=tcp://docker-proxy:2375
    depends_on:
      - docker-proxy

Si vous avez un message de ce type :

Changez :

  • - "2375:2375" => Remplacez le port 2375, à gauche des :, par un autre.
  1. On va déployer l'application :
docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 4999 par défaut :
http://ip:4999/

ou votre domaine :

https://portracker.mondomaine.com

🏁 Premier lancement

Rien de particulier à faire, cliquez sur Don't show again :

Vous voilà sur votre tableau de bord :


🖍️ Renommer un serveur

Oh, étape combien importante, mais quand même.

Cliquez sur le crayon sur le serveur concerné :

Complétez ceci :

  • 1 => Nommez votre serveur.
  • 2 => Ajoutez l'URL exacte de votre instance.
  • 3 => Cliquez sur Save Changes pour terminer.

Il faut parfois relancer le container portracker pour que ce soit pris en compte :

docker restart portracker

C'est bel et bien pris en compte et renommé :


🛥️ Ports

Vous avez deux types de ports affichés :

  • Ceux de Docker.
  • Ceux de votre système.

Cliquez sur l'un ou l'autre pour activer ou désactiver l'affichage.

En passant votre souris dans la zone d'un port, vous avez plusieurs options :

  • 1 => Copier le port.
  • 2 => Ajouter une note.
  • 3 => Cacher le port dans l'interface.

🖥 Centraliser les instances

Partons du principe que l'instance que je viens de déployer soit celle de référence pour ajouter et centraliser les autres instances portracker.

Je veux ajouter un autre serveur qui l'IP 192.168.1.176.

Il suffit de déployer le compose sur chaque serveur dont vous voulez collecter les ports ouverts.

Cliquez sur + Add Server :

Complétez les champs suivants, même principe que quand vous avez renommé votre serveur plus haut :

  • 1 => Nommez le serveur.
  • 2 => Ajoutez l'ip:port de votre instance portracker.
  • 3 => Cliquez sur Add Serveur pour terminer.

Le serveur est bien ajouté :


zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer