services: app: build: . image: roomtone:latest # tini as PID 1 so orphaned subprocesses are reaped. Required by stevedore. init: true labels: - "stevedore.ingress.enabled=true" - "stevedore.ingress.subdomain=krovatka" - "stevedore.ingress.port=5670" - "stevedore.ingress.websocket=true" - "stevedore.ingress.healthcheck=/health" ports: - "5670:5670" environment: PORT: 5670 ALLOW_INSECURE_HTTP: ${ALLOW_INSECURE_HTTP:-} TRUST_PROXY: ${TRUST_PROXY:-} MAX_PARTICIPANTS: ${MAX_PARTICIPANTS:-10} WS_MAX_PAYLOAD: ${WS_MAX_PAYLOAD:-1048576} MEDIA_TRANSPORT: ${MEDIA_TRANSPORT:-ws} AUTH_ENABLED: ${AUTH_ENABLED:-false} AUTH_PUBLIC_KEYS: ${AUTH_PUBLIC_KEYS:-} AUTH_PUBLIC_KEYS_FILE: ${AUTH_PUBLIC_KEYS_FILE:-} AUTH_COOKIE_NAME: ${AUTH_COOKIE_NAME:-roomtone_auth} AUTH_CLOCK_SKEW_SECONDS: ${AUTH_CLOCK_SKEW_SECONDS:-30} ICE_SERVERS: ${ICE_SERVERS:-} ICE_TRANSPORT_POLICY: ${ICE_TRANSPORT_POLICY:-} volumes: - ${STEVEDORE_DATA:-./.stevedore/data}:/var/lib/roomtone - ${STEVEDORE_LOGS:-./.stevedore/logs}:/var/log/roomtone - ${STEVEDORE_SHARED:-./.stevedore/shared}:/opt/roomtone/shared healthcheck: test: ["CMD-SHELL", "wget -qO- http://localhost:5670/health"] interval: 15s timeout: 5s retries: 5 bot: build: . image: roomtone:latest # tini as PID 1 so orphaned subprocesses are reaped. Required by stevedore. init: true profiles: ["bot"] command: ["node", "dist/bot/index.js"] environment: BOT_ENABLED: ${BOT_ENABLED:-false} TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-} TELEGRAM_ALLOWED_USERS: ${TELEGRAM_ALLOWED_USERS:-} TELEGRAM_ALLOWED_CHATS: ${TELEGRAM_ALLOWED_CHATS:-} TELEGRAM_ADMIN_USERS: ${TELEGRAM_ADMIN_USERS:-} TELEGRAM_ADMIN_USERNAMES: ${TELEGRAM_ADMIN_USERNAMES:-} TELEGRAM_BOT_USERNAME: ${TELEGRAM_BOT_USERNAME:-} TELEGRAM_NOTIFY_CHATS: ${TELEGRAM_NOTIFY_CHATS:-} BOT_COMMAND: ${BOT_COMMAND:-/invite} PUBLIC_BASE_URL: ${PUBLIC_BASE_URL:-} ROOMTONE_SUBDOMAIN: ${ROOMTONE_SUBDOMAIN:-} DYNDNS_DOMAIN: ${DYNDNS_DOMAIN:-} DYNDNS_DOMAIN_FILE: ${DYNDNS_DOMAIN_FILE:-} BOT_JWT_PRIVATE_KEY: ${BOT_JWT_PRIVATE_KEY:-} BOT_JWT_PRIVATE_KEY_FILE: ${BOT_JWT_PRIVATE_KEY_FILE:-} BOT_JWT_TTL_SECONDS: ${BOT_JWT_TTL_SECONDS:-300} BOT_JWT_ISSUER: ${BOT_JWT_ISSUER:-roomtone-telegram} TELEGRAM_API_BASE_URL: ${TELEGRAM_API_BASE_URL:-https://api.telegram.org} BOT_STATE_FILE: ${BOT_STATE_FILE:-/var/lib/roomtone/bot-access.json} BOT_NOTIFY_POLL_SECONDS: ${BOT_NOTIFY_POLL_SECONDS:-10} volumes: - ${STEVEDORE_DATA:-./.stevedore/data}:/var/lib/roomtone - ${STEVEDORE_LOGS:-./.stevedore/logs}:/var/log/roomtone - ${STEVEDORE_SHARED:-./.stevedore/shared}:/opt/roomtone/shared