version: '3.8' services: teams-browser-bot: build: . ports: - "4100:4100" environment: - NODE_ENV=production - PORT=4100 - GATEWAY_WS_URL=${GATEWAY_WS_URL:-wss://api.poweron.swiss/api/teamsbot/ws} - BOT_NAME=${BOT_NAME:-PowerOn AI} - BOT_HEADLESS=false - DISPLAY=:99 # Real Chrome installed in the image (see Dockerfile). Required for # anonymous Teams joins so the light-meetings flow does not detect # automation and force the bot into a lobby. - BOT_BROWSER_CHANNEL=${BOT_BROWSER_CHANNEL:-chrome} - LOG_LEVEL=info - SCREENSHOT_ON_ERROR=true volumes: - ./output:/app/output restart: unless-stopped # Required for Playwright/Chrome shm_size: '2gb' security_opt: - seccomp:unconfined