--- services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: always environment: INVITATIONS_ALLOWED: ${INVITATIONS_ALLOWED} LOG_FILE: ${LOG_FILE} DOMAIN: ${DOMAIN} SIGNUPS_ALLOWED: ${SIGNUPS_ALLOWED} ports: - "8222:80" volumes: - /app-config/vw-data:/data healthcheck: test: ["CMD", "/healthcheck.sh"] interval: 60s timeout: 10s uptime-kuma: image: louislam/uptime-kuma:2 container_name: kuma restart: unless-stopped ports: - "3001:3001" volumes: - /app-config/kuma:/app/data healthcheck: test: ["CMD-SHELL", "extra/healthcheck"] interval: 60s timeout: 30s start_period: 180s retries: 5 tts-bridge: build: context: . dockerfile: Dockerfile.tts-bridge image: local/automation1-tts-bridge:1.0.1 container_name: tts-bridge restart: always ports: - "0.0.0.0:8099:8099" environment: BUTLER_URL: http://10.4.1.116:8888 BUTLER_TOKEN_FILE: /run/secrets/butler_token CLIENT_TOKEN_FILE: /run/secrets/client_token DEFAULT_VOICE: deep_thought.mp3 volumes: - /app-config/tts-bridge/butler-token:/run/secrets/butler_token:ro - /app-config/tts-bridge/client-token:/run/secrets/client_token:ro read_only: true tmpfs: - /tmp:size=16m,mode=1777 security_opt: - no-new-privileges:true cap_drop: - ALL healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8099/health', timeout=5)"] interval: 30s timeout: 10s retries: 3 start_period: 20s