HarborMaster is a lightweight web dashboard that provides a clean, responsive homepage
10K+
HarborMaster is a lightweight web dashboard for your Docker ecosystem. It displays running containers and Swarm services with clickable web links, auto-refresh, thumbnail previews, and intuitive sorting/filtering โ all without any database.
You can pull and run the official image from Docker Hub:
docker pull djlactose/harbormaster
git clone https://github.com/djlactose/harbormaster.git
cd harbormaster
docker build -t harbormaster .
docker run -d -p 8080:8080 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd)/data:/data \
--name harbormaster \
harbormaster
Mounting
/dataallows settings to persist across restarts.
All settings are stored in a JSON file:
/data/settings.json
Example contents:
{
"base_ip": "192.168.1.10",
"overrides": {
"nginx": "192.168.1.12"
},
"show_stopped": true,
"show_unmapped": false,
"auto_refresh_seconds": 10,
"sort_by": "name"
}
These can also be changed from the dashboard UI.
To deploy HarborMaster to all nodes in a Swarm:
docker service create --mode global \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 8080:8080 \
--name harbormaster \
djlactose/harbormaster
HarborMaster attempts to take live screenshots of container web UIs.
/static/thumbnails/pyppeteer under the hoodYou can trigger a screenshot manually:
python screenshot.py <name_port> <url>
static/icons/ contains:
generic.png for unknown servicesswarm.png for Docker Swarm serviceslogo_light.png / logo_dark.png for brandingYou can add custom icons by service name or image match.
Dependencies:
pip install -r requirements.txt
Then run locally:
python app.py
Access at: http://localhost:8080
MIT License
Copyright ยฉ djlactose
Built on the Docker SDK for Python.
Enhanced UI + Swarm support by community contributors.
Content type
Image
Digest
sha256:65bbc6926โฆ
Size
491.4 MB
Last updated
6 months ago
docker pull djlactose/harbormaster