-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
46 lines (45 loc) · 1.83 KB
/
docker-compose.yml
File metadata and controls
46 lines (45 loc) · 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
services:
simple-docker-manager:
build:
context: .
dockerfile: Dockerfile
image: simple-docker-manager:latest
container_name: simple-docker-manager
ports:
- "3000:3000"
volumes:
# Mount Docker socket for container management
- /var/run/docker.sock:/var/run/docker.sock:ro
# Mount data volume for persistent password storage
- sdm-data:/data
environment:
# Override default configuration as needed
- SDM_HOST=0.0.0.0
- SDM_PORT=3000
- SDM_LOG_LEVEL=info
- SDM_METRICS_INTERVAL_SECONDS=5
- SDM_METRICS_HISTORY_LIMIT=20
- SDM_MAX_CHART_CONTAINERS=5
- SDM_SHUTDOWN_TIMEOUT_SECONDS=30
# Authentication settings (secure by default)
- SDM_AUTH_ENABLED=true
- SDM_AUTH_USERNAME=neon
- SDM_AUTH_PASSWORD=neon
# Note: SDM_AUTH_PASSWORD should be set to a secure password
# If not set, a random password will be generated and saved to /data/sdm_password
# IMPORTANT: Running as root is required for Docker socket access, OR being part of the docker group
# On Linux, you could alternatively:
# 1. Add user to docker group: user: "1000:$(getent group docker | cut -d: -f3)"
# 2. Or use host user: user: "${DOCKER_USER_ID:-1000}:${DOCKER_GROUP_ID:-1000}"
# On macOS with Docker Desktop, root access is typically required
user: "0:0"
restart: unless-stopped
# Note: Health check is defined in Dockerfile since we're using scratch base
# External health checks can be performed by hitting http://localhost:3000/health
labels:
# Container labels for better organization
- "traefik.enable=false" # Disable Traefik if you use it
- "com.docker.compose.project=simple-docker-manager"
- "description=Simple Docker Manager - Container management interface"
volumes:
sdm-data: