Deployed on integr8 VM (pve01/700) at environment.mineracks.com. Polls Netatmo every 5 min, stores in SQLite, exposes via FastAPI REST + MCP. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
28 lines
946 B
YAML
28 lines
946 B
YAML
services:
|
|
netatmo-mcp:
|
|
build: .
|
|
image: netatmo-mcp:latest
|
|
container_name: netatmo-mcp
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8088:8088"
|
|
environment:
|
|
# --- required ---
|
|
NETATMO_CLIENT_ID: "${NETATMO_CLIENT_ID}"
|
|
NETATMO_CLIENT_SECRET: "${NETATMO_CLIENT_SECRET}"
|
|
# Only required on first boot — afterwards tokens.json takes over.
|
|
NETATMO_REFRESH_TOKEN: "${NETATMO_REFRESH_TOKEN:-}"
|
|
# Long random string. Used for both REST and MCP auth.
|
|
NETATMO_MCP_API_KEY: "${NETATMO_MCP_API_KEY}"
|
|
|
|
# --- optional ---
|
|
POLL_INTERVAL_SEC: "300" # Netatmo updates roughly every 5 min anyway
|
|
LOG_LEVEL: "INFO"
|
|
volumes:
|
|
- ./data:/data
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://localhost:8088/health').status==200 else 1)"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|