services: roborock-server: image: ghcr.io/python-roborock/local_roborock_server:latest container_name: roborock_server restart: unless-stopped # host-Netzwerk ist zwingend empfohlen für mDNS / Staubsauger-Erkennung im LAN network_mode: host environment: - REGION=${ROBOROCK_REGION:-de} - TIMEZONE=${ROBOROCK_TIMEZONE:-Europe/Berlin} # Diese Variablen steuern die App-Logik im Container: - ROBOROCK_SERVER_LISTENER_MODE=${ROBOROCK_SERVER_LISTENER_MODE:-external_tls} - ROBOROCK_SERVER_HTTPS_PORT=${ROBOROCK_SERVER_HTTPS_PORT:-8888} - ROBOROCK_SERVER_MQTT_TLS_PORT=${ROBOROCK_SERVER_MQTT_TLS_PORT:-8883} volumes: - roborock_data:/data # Der korrigierte Healthcheck, der im external_tls Modus via HTTP prüft healthcheck: test: [ "CMD", "curl", "-skf", "${ROBOROCK_SERVER_HEALTHCHECK_SCHEME:-http}://127.0.0.1:${ROBOROCK_SERVER_HTTPS_PORT:-8888}/admin" ] interval: ${ROBOROCK_HEALTHCHECK_INTERVAL:-30s} timeout: ${ROBOROCK_HEALTHCHECK_TIMEOUT:-5s} retries: ${ROBOROCK_HEALTHCHECK_RETRIES:-5} start_period: ${ROBOROCK_HEALTHCHECK_START_PERIOD:-20s} volumes: roborock_data: name: ${ROBOROCK_VOLUME_NAME:-roborock_data}