diff --git a/roborock/docker-compose.yml b/roborock/docker-compose.yml index 6a58e27..9c5f725 100644 --- a/roborock/docker-compose.yml +++ b/roborock/docker-compose.yml @@ -3,22 +3,25 @@ services: image: ghcr.io/python-roborock/local_roborock_server:latest container_name: roborock_local_server restart: unless-stopped - - ports: - - "${HOST_HTTPS_PORT:-8555}:555" - - "${HOST_MQTT_PORT:-8885}:8881" - - volumes: - - ${DOCKER_DATA_PATH:-./data}:/data - environment: - # Interne Ports für unverschlüsselten Traffic - - ROBOROCK_SERVER_HTTPS_PORT=555 - - ROBOROCK_SERVER_MQTT_TLS_PORT=8881 - - - ROBOROCK_STACK_FQDN=${STACK_FQDN} - - ROBOROCK_ADVERTISED_HTTPS_PORT=${EXTERNAL_HTTPS_PORT:-443} - - ROBOROCK_ADVERTISED_MQTT_PORT=${EXTERNAL_MQTT_PORT:-8883} - - # TLS wird komplett von HAProxy übernommen - - ROBOROCK_TLS_MODE=none \ No newline at end of file + - ROBOROCK_FQDN=${ROBOROCK_FQDN:-roborock.local} + - ROBOROCK_REGION=${ROBOROCK_REGION:-de} + - ROBOROCK_ADMIN_PASSWORD=${ROBOROCK_ADMIN_PASSWORD:-SicheresPasswort123!} + - ROBOROCK_SERVER_HEALTHCHECK_SCHEME=http + ports: + - "${ROBOROCK_PROXY_PORT:-8080}:8080" + - "${ROBOROCK_MQTT_PORT:-1883}:1883" + - "${ROBOROCK_MQTT_TLS_PORT:-8883}:8883" + volumes: + # Wird von Portainer aus dem Git geklont und steht sofort bereit + - ./config.toml.template:/app/config.toml.template:ro + # Pfad zur DB. Damit Portainer keinen Ordner erstellt, legen wir die Datei im Command an: + - ${ROBOROCK_DB_FILE:-./roborock.db}:/data/roborock.db + # Erweitertes Skript: 1. Erstellt eine leere DB-Datei falls nicht existent -> 2. Befüllt die config.toml -> 3. Startet die App + command: > + bash -c "touch /data/roborock.db && python3 -c \"import os, string; t = string.Template(open('/app/config.toml.template').read()); open('/app/config.toml', 'w').write(t.substitute(os.environ))\" && exec python3 -m local_roborock_server" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/health"] + interval: 30s + timeout: 10s + retries: 3