# Docker Manager MCP Configuration Example
hosts:
production-1:
hostname: 192.168.1.10
user: dockeruser
port: 22 # Optional: SSH port (default: 22)
identity_file: ~/.ssh/docker_host_key # Optional: SSH private key path
description: "Production Docker host" # Optional: Human-readable description
tags: ["production", "web"] # Optional: Tags for categorization
compose_path: "/mnt/user/compose" # Optional: Path for persistent compose files (auto-discovered if not set)
appdata_path: "/mnt/user/appdata" # Optional: Path for container data volumes (default: /opt/docker-appdata)
enabled: true # Optional: Whether host is active (default: true)
staging-1:
hostname: staging.example.com
user: deployuser
port: 2222 # Custom SSH port example
identity_file: ~/.ssh/staging_key
description: "Staging environment"
tags: ["staging", "test"]
compose_path: "/home/docker/compose"
appdata_path: "/home/docker/appdata"
enabled: true
development:
hostname: localhost
user: ${USER} # Environment variable expansion
description: "Local development"
tags: ["development", "local"]
# port defaults to 22
# enabled defaults to true
# compose_path auto-discovered if not specified
# identity_file uses SSH defaults
disabled-host:
hostname: old-server.example.com
user: legacy
port: 22
description: "Temporarily disabled host"
tags: ["maintenance", "disabled"]
enabled: false # Host is disabled and won't be used
# All available host configuration fields:
# - hostname: SSH hostname or IP address (REQUIRED)
# - user: SSH username (REQUIRED)
# - port: SSH port (optional, default: 22)
# - identity_file: Path to SSH private key (optional, uses SSH defaults)
# - description: Human-readable description (optional)
# - tags: List of tags for categorization (optional)
# - compose_path: Path where compose files are stored (optional, auto-discovered)
# - appdata_path: Path where container data volumes are stored (optional, default: /opt/docker-appdata)
# - enabled: Whether host is active (optional, default: true)
# Server settings are configured via .env file
# - FASTMCP_HOST (default: 127.0.0.1, use 0.0.0.0 for external access)
# - FASTMCP_PORT (default: 8000)
# - LOG_LEVEL (default: INFO)
# Docker contexts handle all connection management automatically
# Compose files are stored persistently on each host for full lifecycle management
# Migration Support:
# - Stack migration uses rsync for universal compatibility
# - Rsync transfer: Works with all Linux Docker hosts
# - Data integrity protection: Containers are stopped before migration to prevent corruption