Centralized dashboard for running Docker containers with automatic port discovery.
Porthole serves as the ultimate shortcut page for your self-hosted Docker environment, automatically detecting running applications and their exposed ports. It centralizes all your services into one beautiful dashboard, ensuring you never have to memorize a port number again.
It resolves container icons automatically
- 🕵️♂️ Auto-Discovery: Automatically lists all containers.
- 🎨 Automated Icons: Maps container image names to icons using Dashboard Icons.
- 🔄 Update Detection: Checks Docker Hub for newer image versions and digest changes.
- 📦 Compose Grouping: Groups containers by Docker Compose project.
- ⚙️ Per-Container Settings: Configure port preference and update checking for each container.
- 🚦 Status Indicators: Shows container health with color-coded semaphore (green/yellow/red).
- 🐳 Docker Native: Runs as a single, lightweight Docker container.
- 🛠 Customizable: Override icon mappings via a simple YAML configuration.
Run Porthole with a single Docker command:
docker run -d \
-p 9753:9753 \
-v /var/run/docker.sock:/var/run/docker.sock \
--name porthole \
docker pull ghcr.io/room-elephant/porthole:latestNote: Mounting /var/run/docker.sock is required for Porthole to see your other containers.
Open http://localhost:9753 to view your dashboard.
Custom Icons: Create an icons.yml file to map container images to Dashboard Icons slugs:
my-custom-app: react
postgres: postgresqlMount the entire config directory or individual files:
docker run -d -p 9753:9753 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/config:/app/config \
--name porthole \
docker pull ghcr.io/room-elephant/porthole:latestSee Configuration Guide for all options.
| Guide | Description |
|---|---|
| Configuration | Customize icons, Docker host, registry settings, and more |
| Development | Build from source, run tests, and contribute |
MIT

