33 lines
1.5 KiB
YAML
33 lines
1.5 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:
|
|
# 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}
|