docker-compose.yml•1.77 kB
version: '3.8'
services:
tak-server-mcp:
build: .
image: skyfi/tak-server-mcp:latest
container_name: tak-server-mcp
environment:
# TAK Server Configuration
- TAK_SERVER_URL=${TAK_SERVER_URL:-https://tak-server.example.com}
- TAK_SERVER_API_TOKEN=${TAK_SERVER_API_TOKEN}
- TAK_SERVER_VERIFY_SSL=${TAK_SERVER_VERIFY_SSL:-true}
# MCP Configuration
- MCP_TRANSPORT=${MCP_TRANSPORT:-http}
- MCP_PORT=${MCP_PORT:-3000}
- MCP_AUTH_ENABLED=${MCP_AUTH_ENABLED:-false}
# Logging
- LOG_LEVEL=${LOG_LEVEL:-info}
ports:
- "3000:3000"
volumes:
# Mount config file if needed
- ./config.json:/app/config.json:ro
# Mount certificates if using client cert auth
- ./certs:/app/certs:ro
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# Optional: Demo agent service
demo-agent:
build:
context: .
dockerfile: Dockerfile.demo
image: skyfi/tak-server-mcp:demo
container_name: tak-mcp-demo
depends_on:
- tak-server-mcp
environment:
- MCP_SERVER_URL=http://tak-server-mcp:3000
- DEMO_MODE=${DEMO_MODE:-interactive}
profiles:
- demo
# Optional: Development environment
dev:
build:
context: .
target: builder
volumes:
- .:/app
- /app/node_modules
command: npm run dev
environment:
- NODE_ENV=development
ports:
- "3000:3000"
- "9229:9229" # Node.js debugging port
profiles:
- development
networks:
default:
name: tak-mcp-network