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