version: "3.9" services: shaiwatcher: build: context: . dockerfile: dockerfile # set to 1 to bake Playwright + Chromium into the image args: WITH_PLAYWRIGHT: ${WITH_PLAYWRIGHT:-1} container_name: shaiwatcher restart: unless-stopped # 1) Load ALL your vars from .env so they show up inside the container env_file: - .env # 2) Only override a few with sane defaults here environment: # wrapper/bot basics REPO_URL: ${REPO_URL} REPO_BRANCH: ${REPO_BRANCH:-main} CHECK_TIME_UTC: ${CHECK_TIME_UTC:-03:00} IGNORE_TEST_LEVEL: ${IGNORE_TEST_LEVEL:-1} # bot data path inside the container SHAI_DATA_FILE: /data/data.json volumes: # external named volumes → re-used, never auto-deleted by the stack - ${SHAI_VOL_DATA:-shaiwatcher_data}:/data - ${SHAI_VOL_CACHE:-shaiwatcher_cache}:/cache volumes: shaiwatcher_data: name: ${SHAI_VOL_DATA:-shaiwatcher_data} external: true shaiwatcher_cache: name: ${SHAI_VOL_CACHE:-shaiwatcher_cache} external: true