Files
container/roborock/docker-compose.yml
T

35 lines
1.7 KiB
YAML

services:
roborock-server:
image: ghcr.io/python-roborock/local_roborock_server:latest
container_name: roborock_server
restart: unless-stopped
ports:
- "${ROBOROCK_SERVER_HTTPS_PORT:-8888}:${ROBOROCK_SERVER_HTTPS_PORT:-8888}"
- "${ROBOROCK_SERVER_MQTT_TLS_PORT:-8883}:${ROBOROCK_SERVER_MQTT_TLS_PORT:-8883}"
environment:
# Alle Umgebungsvariablen sind nun vollständig parametrisiert:
- REGION=${ROBOROCK_REGION:-de}
- TIMEZONE=${ROBOROCK_TIMEZONE:-Europe/Berlin}
- 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:
# 1. Mappt die Konfigurationsdatei als einzelne Datei direkt ins Stammverzeichnis
- ${ROBOROCK_HOST_PATH:-/opt/roborock_data}/config.toml:/app/config.toml:ro
# 2. Mappt den Datenordner für Datenbanken und Zertifikate nach /data
- ${ROBOROCK_HOST_PATH:-/opt/roborock_data}/data:/data
# 3. Übernimmt die optionale Secrets-Struktur (z.B. für Cloudflare-Tokens)
- ${ROBOROCK_HOST_PATH:-/opt/roborock_data}/secrets:/run/secrets:ro
healthcheck:
# Nutzt deinen funktionalen curl-Befehl, erweitert um dynamische .env-Variablen
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}