---
title: Dockpeek
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, docker, securite, dashboard, python, auto-hebergement]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Docker, https://github.com/dockpeek/dockpeek]
---

# 🐳 Dockpeek

> **Le tableau de bord de vos ports exposés** : voyez d'un coup d'œil quels conteneurs Docker ont des ports ouverts sur votre réseau, et à qui ils sont accessibles. L'outil idéal pour auditer la surface d'attaque d'un homelab.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | (GitHub) |
| **GitHub** | [dockpeek/dockpeek](https://github.com/dockpeek/dockpeek) |
| **License** | MIT |
| **Langage** | Python (Flask) |
| **Étoiles GitHub** | 1795 ⭐ |
| **Dernière MAJ** | 2026-05-28 |
| **Catégorie** | [[cat-docker\|Docker]] |

## 📝 Description

**Dockpeek** est un **dashboard web minimaliste** qui interroge le daemon Docker pour lister tous les conteneurs en cours d'exécution, leurs ports mappés, et — surtout — **qui peut y accéder** (localhost, réseau Docker, IP de l'hôte). C'est un outil d'**audit de surface d'attaque** pensé pour les homelabs.

L'idée : vous avez 30 conteneurs, vous ne vous souvenez plus de tous les ports mappés sur `0.0.0.0`, et vous ne savez pas si votre base de données exposée sur `5432` est accessible depuis Internet. Dockpeek répond en un coup d'œil.

- ✅ **Détection automatique des ports mappés** sur `0.0.0.0`, `127.0.0.1`, ou IP spécifique
- ✅ **Indicateurs visuels** : vert (sûr, localhost), orange (LAN), rouge (0.0.0.0 = Internet)
- ✅ **Scan UPnP / NAT-PMP** : détecte si votre box/routeur a forwardé des ports vers votre hôte Docker
- ✅ **Multi-hôte** : peut superviser plusieurs daemons Docker distants (via socket SSH)
- ✅ **Page de statut publique** : utile pour partager un inventaire avec l'équipe
- ✅ **Léger** : Python + Flask, pas de base de données, peu de RAM consommée
- ✅ **Pas de modification** : c'est un outil d'audit **read-only**, il n'arrête/ne touche jamais vos conteneurs

**Dockpeek vs [[app-portainer|portainer]]** : Portainer fait *tout* (gestion, déploiement, MAJ…) ; Dockpeek fait *une seule chose* (audit des ports) mais le fait bien. C'est le complément idéal de Portainer. Dockpeek vs `docker ps` : Dockpeek ajoute la couche d'intelligence réseau (qui peut joindre ce port ?).

## 🚀 Installation

### Docker Compose (recommandé)

```yaml
# docker-compose.yml
version: '3.8'
services:
  dockpeek:
    image: ghcr.io/dockpeek/dockpeek:latest
    container_name: dockpeek
    restart: unless-stopped
    ports:
      - "8000:8000"  # Web UI
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro  # ⚠️ lecture seule seulement
    environment:
      - TZ=Europe/Paris
      - DP_HOSTNAME=homelab
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.dockpeek.rule=Host(`dockpeek.example.com`)"
      - "traefik.http.routers.dockpeek.entrypoints=websecure"
      - "traefik.http.routers.dockpeek.tls.certresolver=letsencrypt"
```

### Python (sans Docker)

```bash
git clone https://github.com/dockpeek/dockpeek.git
cd dockpeek && pip install -r requirements.txt
python -m dockpeek
```

## ⚙️ Configuration Initiale

1. **Monter le socket Docker en read-only** : `:ro` est indispensable, Dockpeek n'écrit rien
2. **Accéder à l'UI** : `http://IP:8000`
3. **Vérifier la liste des conteneurs** : tous les conteneurs actifs s'affichent avec leurs ports mappés
4. **Auditer la colonne "Bind"** : repérer les conteneurs liés à `0.0.0.0` et décider si c'est intentionnel
5. **Lancer un scan UPnP** (bouton dans l'UI) pour voir si votre box a forwardé un port
6. **Ajouter un second hôte Docker distant** dans la config pour superviser un cluster

## 🔄 Alternatives

### Open Source
- **Portainer** ([[app-portainer]]) — GUI complète, fait beaucoup plus que l'audit
- **Dozzle** ([[app-dozzle]]) — viewer de logs, pas d'audit réseau
- **Docker Bench for Security** — script d'audit sécurité complet (CIS)
- **Trivy** — scanner de vulnérabilités d'images, pas d'audit réseau
- **nmap + greffons** — plus bas niveau

### Comparaison Dockpeek vs alternatives

| Critère | Dockpeek | Portainer | Docker Bench | Trivy |
| :--- | :--- | :--- | :--- | :--- |
| Audit ports exposés | ✅ | ⚠️ partiel | ✅ | ❌ |
| Interface web | ✅ | ✅ | ❌ (rapport) | ❌ |
| Gestion conteneurs | ❌ | ✅ | ❌ | ❌ |
| Scan vulnérabilités | ❌ | ❌ | ⚠️ partiel | ✅ |
| Multi-hôte | ✅ | ✅ | ❌ | ❌ |
| Setup | 2 min | 5 min | 10 min | 10 min |

**Verdict** : Dockpeek est **le spécialiste de l'audit des ports**. Si vous voulez juste savoir *« qu'est-ce qui est exposé où ? »*, c'est lui. Pour le reste, combinez avec [[app-portainer]] et un scanner de vulnérabilités.

### Propriétaires (ce que Dockpeek remplace)
- **Censys / Shodan** (scans externes payants)
- **Portainer Business** (audit réseau partiel)
- **Aqua Security** (payant)

## 🔐 Sécurité

- ⚠️ **Socket Docker monté** : même en `ro`, le socket reste sensible. Privilégier un accès via [[app-docker-socket-proxy-docker|docker-socket-proxy]] qui filtre l'API
- **Ne pas exposer Dockpeek sur Internet** : l'UI révèle votre topologie réseau. Restreindre à localhost ou VPN ([[app-wireguard|wireguard]] / [[app-tailnet|tailscale]])
- **Activer un reverse-auth** (ex : [[app-authentik|authentik]] ou [[app-authelia|authelia]]) devant l'UI si elle doit être accessible à plusieurs utilisateurs

## 📚 Ressources

- [GitHub dockpeek/dockpeek](https://github.com/dockpeek/dockpeek)
- [Documentation](https://github.com/dockpeek/dockpeek/blob/main/README.md)

## Pages Liées
- [[cat-docker]] — Catégorie Docker
- [[app-portainer]] / [[app-dockge]] / [[app-yacht]] — GUI Docker
- [[app-traefik]] — Reverse-proxy
- [[recettes-docker-compose]] — Compose files
- [[securisation-home-lab]] — Bonnes pratiques
