71 lines
3.1 KiB
YAML
71 lines
3.1 KiB
YAML
name: servicemap
|
|
|
|
services:
|
|
servicemap:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.unraid
|
|
container_name: servicemap
|
|
restart: unless-stopped
|
|
environment:
|
|
SERVICEMAP_DB: /data/servicemap.db
|
|
SERVICEMAP_STATIC_DIR: /app/static
|
|
SERVICEMAP_PROBE_INTERVAL: ${SERVICEMAP_PROBE_INTERVAL:-60}
|
|
SERVICEMAP_PROBE_TIMEOUT: ${SERVICEMAP_PROBE_TIMEOUT:-5}
|
|
SERVICEMAP_PROBE_RETRIES: ${SERVICEMAP_PROBE_RETRIES:-1}
|
|
SERVICEMAP_PROBE_CONCURRENCY: ${SERVICEMAP_PROBE_CONCURRENCY:-10}
|
|
SERVICEMAP_RETENTION_DAYS: ${SERVICEMAP_RETENTION_DAYS:-30}
|
|
SERVICEMAP_EVENT_RETENTION_DAYS: ${SERVICEMAP_EVENT_RETENTION_DAYS:-90}
|
|
SERVICEMAP_TLS_WARNING_DAYS: ${SERVICEMAP_TLS_WARNING_DAYS:-30}
|
|
SERVICEMAP_FLAP_THRESHOLD: ${SERVICEMAP_FLAP_THRESHOLD:-6}
|
|
SERVICEMAP_DISCOVERY_INTERVAL_SECONDS: ${SERVICEMAP_DISCOVERY_INTERVAL_SECONDS:-0}
|
|
SERVICEMAP_OBSERVATION_INTERVAL_SECONDS: ${SERVICEMAP_OBSERVATION_INTERVAL_SECONDS:-60}
|
|
SERVICEMAP_DOCKER_HOST: ${SERVICEMAP_DOCKER_HOST:-unix:///var/run/docker.sock}
|
|
# "broker" is opt-in and has no socket fallback. It requires a dedicated
|
|
# registered ServiceMap identity and token file before activation.
|
|
SERVICEMAP_DOCKER_PROVIDER: ${SERVICEMAP_DOCKER_PROVIDER:-socket}
|
|
SERVICEMAP_DOCKER_BROKER_URL: ${SERVICEMAP_DOCKER_BROKER_URL:-}
|
|
SERVICEMAP_DOCKER_BROKER_TOKEN_FILE: ${SERVICEMAP_DOCKER_BROKER_TOKEN_FILE:-}
|
|
SERVICEMAP_APPOPS_URL: ${SERVICEMAP_APPOPS_URL:-}
|
|
SERVICEMAP_PROBE_HOST: ${SERVICEMAP_PROBE_HOST:-}
|
|
# Disabled is backwards-compatible. OIDC mode is fail-closed and needs
|
|
# issuer, audience and explicit role-group mappings before activation.
|
|
SERVICEMAP_AUTH_MODE: ${SERVICEMAP_AUTH_MODE:-disabled}
|
|
SERVICEMAP_OIDC_ISSUER: ${SERVICEMAP_OIDC_ISSUER:-}
|
|
SERVICEMAP_OIDC_AUDIENCE: ${SERVICEMAP_OIDC_AUDIENCE:-}
|
|
SERVICEMAP_OIDC_ROLE_CLAIMS: ${SERVICEMAP_OIDC_ROLE_CLAIMS:-groups,roles}
|
|
SERVICEMAP_OIDC_VIEWER_GROUPS: ${SERVICEMAP_OIDC_VIEWER_GROUPS:-}
|
|
SERVICEMAP_OIDC_OPERATOR_GROUPS: ${SERVICEMAP_OIDC_OPERATOR_GROUPS:-}
|
|
SERVICEMAP_OIDC_ADMIN_GROUPS: ${SERVICEMAP_OIDC_ADMIN_GROUPS:-}
|
|
volumes:
|
|
- servicemap_data:/data
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
ports:
|
|
- "${SERVICEMAP_PORT:-1253}:8000"
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health', timeout=3).read()"]
|
|
interval: 20s
|
|
timeout: 5s
|
|
start_period: 10s
|
|
retries: 5
|
|
labels:
|
|
net.unraid.docker.managed: "dockerman"
|
|
net.unraid.docker.webui: "http://${SERVICEMAP_WEBUI_HOST:-127.0.0.1}:${SERVICEMAP_PORT:-1253}"
|
|
net.unraid.docker.icon: "http://${SERVICEMAP_WEBUI_HOST:-127.0.0.1}:${SERVICEMAP_PORT:-1253}/icons/servicemap-dockerman-256.png"
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
cap_drop:
|
|
- ALL
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp:rw,noexec,nosuid,size=32m
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "20m"
|
|
max-file: "3"
|
|
|
|
volumes:
|
|
servicemap_data:
|
|
name: servicemap_data
|