5.2 KiB
title: Portall created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, docker, ports, reseau, organisation, typescript] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Docker, https://github.com/need4swede/Portall]
🐳 Portall
L'annuaire de vos ports Docker : générez, organisez et partagez la cartographie des ports exposés sur tous vos conteneurs. Fini les conflits 3000/8080 et les onglets oubliés.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | (GitHub) |
| GitHub | need4swede/Portall |
| License | MIT |
| Langage | TypeScript |
| Étoiles GitHub | 838 ⭐ |
| Dernière MAJ | 2026-05 |
| Catégorie | cat-docker |
📝 Description
Portall répond à une question que tout homelabber s'est posée : « sur quel port tourne cette satanée app ? ». L'outil génère, suit et organise la cartographie complète des ports de vos conteneurs Docker à travers plusieurs hôtes. Vous importez un docker-compose.yml, il en extrait tous les ports publiés, les catégorise, et vous permet de les suivre dans le temps.
- ✅ Parsing automatique des fichiers
docker-compose.ymletdocker run - ✅ Multi-hôtes : agrège les ports de plusieurs machines
- ✅ Détection de conflits : alerte si deux stacks utilisent le même port externe
- ✅ Catégorisation par service, hôte, protocole (TCP/UDP)
- ✅ Notes et tags personnalisés sur chaque port
- ✅ Historique : qui a ouvert quoi et quand
- ✅ Recherche full-text dans la base
- ✅ Export CSV, JSON, Markdown
- ✅ API REST pour intégrations
- ✅ Authentification intégrée
Public cible : homelabbers qui jonglent avec plusieurs serveurs et 50+ conteneurs (VPS, NAS, Raspberry Pi, etc.). Le débutant avec 3 services n'en a pas besoin ; l'utilisateur de app-dockpeek y verra un complément d'inventaire.
Différence avec Dockpeek : app-dockpeek scanne les ports exposés en temps réel sur un hôte. Portall est un annuaire statique (parse de configs), plus adapté à la planification et à la documentation qu'au scan live.
🚀 Installation
Docker Compose
# docker-compose.yml
version: '3.8'
services:
portall:
image: ghcr.io/need4swede/portall:latest
container_name: portall
restart: unless-stopped
environment:
- DATABASE_URL=file:/data/portall.db
- JWT_SECRET=changez-ce-secret
volumes:
- portall-data:/data
- /chemin/vers/stacks:/stacks:ro # optionnel : import auto
ports:
- "7777:3000"
volumes:
portall-data:
Docker run
docker run -d \
--name portall \
-p 7777:3000 \
-v portall-data:/data \
-e JWT_SECRET=changez-ce-secret \
ghcr.io/need4swede/portall:latest
⚙️ Configuration Initiale
- Accéder à l'UI :
http://IP:7777 - Créer le compte admin au premier démarrage
- Ajouter un hôte : Hosts > New (nom, adresse, type)
- Importer un
docker-compose.yml: Stacks > Import > drag & drop - Réviser la cartographie générée et corriger les conflits éventuels
- Exporter en CSV ou Markdown pour partager avec votre équipe
🔄 Alternatives
Open Source
- app-dockpeek — Dashboard live des ports exposés (complémentaire)
- Portainer — Inclut une vue des ports, mais pas d'agrégation multi-hôte
- Heimdall — Page d'accueil avec liens vers vos services (pas de gestion de ports)
- Portward — Annuaire statique similaire, projet plus petit
Comparaison Portall vs alternatives
| Critère | Portall | Dockpeek | Heimdall | Portward |
|---|---|---|---|---|
| Source des données | Compose files | Runtime Docker | Manuel | Compose files |
| Temps réel | ❌ | ✅ | ❌ | ❌ |
| Multi-hôte | ✅ | ❌ | ❌ | ❌ |
| Détection conflits | ✅ | ❌ | ❌ | Limité |
| Auth | ✅ | ❌ | Optionnel | ❌ |
| Export | CSV/JSON/MD | ❌ | ❌ | ❌ |
Verdict : Portall est le seul outil dédié à la planification des ports. À utiliser en complément de app-dockpeek (temps réel) et de app-portainer (runtime).
Propriétaires (ce que Portall remplace)
- Manuels Confluence / Notion — Qu'on finit par ne plus maintenir
- Tableurs maison — Fonctionnent, mais ne parsent pas les Compose
- Fichiers README oubliés au fond d'un repo
🔐 Sécurité
- ⚠️ Exposition de la topologie : Portall révèle les ports internes de votre infra. Ne jamais l'exposer sans HTTPS ni auth
- Changez
JWT_SECRET: valeur par défaut = porte ouverte - HTTPS obligatoire via app-traefik
- Volume
/stacksen read-only (:ro) : Portall n'a pas besoin d'écrire dedans
📚 Ressources
Pages Liées
- cat-docker — Catégorie Docker
- app-portainer — Runtime Docker
- app-dockge — Compose manager
- app-yacht — Templates Docker
- app-traefik — Reverse proxy HTTPS
- recettes-docker-compose — Stacks
- securisation-home-lab — Sécurité