Deploying Dockpeek with Docker Compose¶
Introduction to Dockpeek¶
Dockpeek is an open-source, self-hosted Docker dashboard that lets you monitor and manage multiple Docker hosts from a single web interface. It supports connecting to remote Docker hosts via socket proxies, giving you visibility into all your containers across different systems.
Docker Compose Configuration¶
Below is the recommended Docker Compose configuration for Dockpeek:
Main Host (docker-compose.yml)¶
services:
dockpeek:
image: ghcr.io/dockpeek/dockpeek:latest
container_name: dockpeek
environment:
- SECRET_KEY=my_secret_key # Set to a secure random value
- USERNAME=admin # Set your preferred username
- PASSWORD=admin # Set your preferred password
# Optional: Configure additional Docker hosts
- DOCKER_HOST_1_URL=tcp://192.168.68.113:2375
- DOCKER_HOST_1_NAME=ElitronCloud
- DOCKER_HOST_2_URL=tcp://192.168.68.128:2375
- DOCKER_HOST_2_NAME=Sandbox
ports:
- "3420:8000"
depends_on:
- dockpeek-socket-proxy
restart: unless-stopped
dockpeek-socket-proxy:
image: lscr.io/linuxserver/socket-proxy:latest
container_name: dockpeek-socket-proxy
environment:
- CONTAINERS=1
- IMAGES=1
- PING=1
- VERSION=1
- LOG_LEVEL=info
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
read_only: true
tmpfs:
- /run
ports:
- "2375:2375"
restart: unless-stopped
Restrict port 2375 to localhost
Port 2375 exposes the unencrypted Docker daemon. Never expose this port to the internet or untrusted networks. Restrict it at the firewall level to localhost or your internal network only.
Additional Hosts (Socket Proxy Only)¶
Run this configuration on each additional host:
services:
dockpeek-socket-proxy:
image: lscr.io/linuxserver/socket-proxy:latest
container_name: dockpeek-socket-proxy
environment:
- CONTAINERS=1
- IMAGES=1
- PING=1
- VERSION=1
- LOG_LEVEL=info
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
read_only: true
tmpfs:
- /run
ports:
- "2375:2375"
restart: unless-stopped
Set a strong SECRET_KEY
Replace my_secret_key with a long random string before deploying. Generate one with: openssl rand -hex 32
Environment Variable Notes¶
- SECRET_KEY: Required. Set a strong, random string.
- USERNAME/PASSWORD: Set your preferred login credentials.
- DOCKER_HOST_X_URL: URL of remote Docker socket.
- DOCKER_HOST_X_NAME: Display name in the Dockpeek UI.
- DOCKER_HOST_X_PUBLIC_HOSTNAME: Optional, inferred from socket URL if omitted.
Add more hosts incrementally (DOCKER_HOST_3_URL, etc.).
Deployment Steps¶
-
Prepare Docker Compose Files Ensure your
docker-compose.ymlis correctly configured on your main host, and deploy the socket proxy configuration on additional hosts. -
Launch Dockpeek
- Access Dockpeek Web UI Visit the following URL in your browser:
- Login and Manage Docker Hosts Log in using your configured username and password. All connected Docker hosts will be listed.
Conclusion¶
Dockpeek simplifies Docker management, providing clear visibility across multiple Docker hosts through a clean and intuitive interface.
If there is an issue with this guide or you wish to suggest changes, please raise an issue on GitHub.