Docker Manager
Manage Docker containers across the home lab fleet.
Docker Hosts
| Host | Docker | Notes |
|---|---|---|
| server | Yes | Main container host (no active containers currently) |
| workstation | Yes | Available but rarely used |
Commands
Container status
# All containers
python3 docker_manager.py status
# Running only
python3 docker_manager.py status --running
# On specific host
python3 docker_manager.py status --host server
Container operations
python3 docker_manager.py start <container>
python3 docker_manager.py stop <container>
python3 docker_manager.py restart <container>
python3 docker_manager.py logs <container> [--lines 50]
Image management
python3 docker_manager.py images
python3 docker_manager.py pull <image>
python3 docker_manager.py rmi <image>
Cleanup
# Remove stopped containers, unused images, build cache
python3 docker_manager.py prune
# Aggressive cleanup (including volumes)
python3 docker_manager.py prune --volumes
System info
python3 docker_manager.py info
python3 docker_manager.py disk
Workflow
"Container won't start"
- Check status:
python3 docker_manager.py status --host server - Check logs:
python3 docker_manager.py logs <container> --lines 100 - Check disk:
python3 docker_manager.py disk - Check image:
python3 docker_manager.py images - Restart:
python3 docker_manager.py restart <container>
"Disk is full"
- Check Docker disk usage:
python3 docker_manager.py disk - Prune:
python3 docker_manager.py prune - Remove unused images:
python3 docker_manager.py imagesthenrmiold ones - Check volumes:
docker system df -v
Docker Compose
# If using docker-compose files
ssh server 'cd /opt/<project> && docker compose ps'
ssh server 'cd /opt/<project> && docker compose up -d'
ssh server 'cd /opt/<project> && docker compose logs --tail 50'
Security
- Docker socket access = root — treat as sensitive
- Don't run untrusted images
- Use
--read-onlyand--security-opt no-new-privilegesfor production containers - Keep images updated for security patches
- Monitor container resource limits to prevent host exhaustion
Source: Danielhogben/hermes-skills — distributed by TomeVault.