30 lines
1.1 KiB
YAML
30 lines
1.1 KiB
YAML
services:
|
|
roborock-server:
|
|
image: ghcr.io/python-roborock/local_roborock_server:latest
|
|
container_name: roborock_local_server
|
|
restart: unless-stopped
|
|
|
|
# Port-Mapping mit Fallback: HOST_PORT:CONTAINER_PORT
|
|
ports:
|
|
- "${HOST_HTTPS_PORT:-8555}:555"
|
|
- "${HOST_MQTT_PORT:-8885}:8881"
|
|
|
|
volumes:
|
|
- ${DOCKER_DATA_PATH:-./data}:/data
|
|
|
|
environment:
|
|
# Interne Container-Ports (Sollten auf 555 und 8881 bleiben)
|
|
- ROBOROCK_SERVER_HTTPS_PORT=555
|
|
- ROBOROCK_SERVER_MQTT_TLS_PORT=8881
|
|
|
|
# Diese Variablen steuern die automatische config.toml Generierung
|
|
- ROBOROCK_STACK_FQDN=${STACK_FQDN}
|
|
- ROBOROCK_ADVERTISED_HTTPS_PORT=${EXTERNAL_HTTPS_PORT:-443}
|
|
- ROBOROCK_ADVERTISED_MQTT_PORT=${EXTERNAL_MQTT_PORT:-8883}
|
|
|
|
# Automatische ACME/Zertifikatskonfiguration (Beispiel Cloudflare + ZeroSSL)
|
|
- ROBOROCK_TLS_MODE=${TLS_MODE:-cloudflare_acme}
|
|
- ROBOROCK_ACME_SERVER=${ACME_SERVER:-letsencrypt}
|
|
- ROBOROCK_TLS_BASE_DOMAIN=${BASE_DOMAIN}
|
|
- ROBOROCK_TLS_EMAIL=${ACME_EMAIL}
|
|
- CLOUDFLARE_DNS_API_TOKEN=${CF_API_TOKEN} |