diff --git a/wrapper/docker-compose.yml b/wrapper/docker-compose.yml index c9b1ed2..8560bb5 100644 --- a/wrapper/docker-compose.yml +++ b/wrapper/docker-compose.yml @@ -4,83 +4,38 @@ services: shaiwatcher: build: context: . - # Use the wrapper Dockerfile in this branch/repo dockerfile: dockerfile + # set to 1 to bake Playwright + Chromium into the image + args: + WITH_PLAYWRIGHT: ${WITH_PLAYWRIGHT:1} + container_name: shaiwatcher restart: unless-stopped - # All config in one place; override via Portainer's "Env" panel or a .env file + # 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 updater ==== - DISCORD_TOKEN: ${DISCORD_TOKEN} - REPO_URL: ${REPO_URL} # e.g. https://git.rolfsvaag.no/frarol96/shaiwatcher.git - REPO_BRANCH: ${REPO_BRANCH:-main} # bot branch to run (main) - CHECK_TIME_UTC: "03:00" # daily update check - IGNORE_TEST_LEVEL: "1" # 1 = ignore Test-only version bumps + # 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} - # Optional: RSS to show commit subject on boot if wrapper didn’t inject one - SHAI_REPO_RSS: ${SHAI_REPO_RSS:-https://git.rolfsvaag.no/frarol96/shaiwatcher.rss} - - # ==== Bot runtime (env-first config) ==== + # bot data path inside the container SHAI_DATA_FILE: /data/data.json - # --- Messages (✅ reaction posts) --- - SHAI_RULES_MESSAGE_ID: "1396831304460402738" - SHAI_ENGAGEMENT_MESSAGE_ID: "1397668657143742574" - SHAI_NICKNAME_MESSAGE_ID: "1403513532108247141" - - # --- Roles --- - SHAI_RULES_ROLE_ID: "1403146506596253817" - SHAI_ENGAGEMENT_ROLE_ID: "1403146604894224458" - SHAI_FULL_ACCESS_ROLE_ID: "1403146645121667082" - SHAI_ADMIN_ROLE_ID: "1402000098476425246" - SHAI_FIELD_MOD_ROLE_ID: "1402001335041261681" - SHAI_INTEL_MOD_ROLE_ID: "1402001000327417946" - SHAI_MODERATOR_ROLE_ID: "1396828779015573598" - - # --- Channels --- - SHAI_MOD_CHANNEL_ID: "1403139701522698240" - SHAI_MODLOG_CHANNEL_ID: "1403146993198436627" - SHAI_USERSLIST_CHANNEL_ID: "1403146908385542215" - SHAI_REPORT_CHANNEL_ID: "1403147077285843034" - SHAI_PIRATES_LIST_CHANNEL_ID: "1403147077285843034" - - # --- Auto-VC --- - SHAI_TRIGGER_CHANNEL_ID: "1403139044174594190" - SHAI_AUTO_VC_CATEGORY_ID: "1403138882958266428" - SHAI_VC_NAME_PREFIX: "DD Crew" - SHAI_AUTO_VC_CLEANUP_DELAY: "30" - - # --- Threat weights --- - SHAI_THREAT_W_KILL: "0.30" - SHAI_THREAT_W_DESTRUCTION: "0.40" - SHAI_THREAT_W_GROUP: "0.20" - SHAI_THREAT_W_SKILL: "0.10" - SHAI_THREAT_GROUP_THRESHOLD: "3" - SHAI_THREAT_MIN_SAMPLES_FOR_STATS: "3" - - # --- Misc toggles --- - SHAI_NICK_NUDGE_LOOP_ENABLED: "false" - SHAI_HOME_GUILD_ID: "1396826999095427253" - SHAI_USER_CARDS_CRON_ENABLED: "true" - - # --- SpicePay defaults --- - SHAI_SPICEPAY_LSR_CUT_PERCENT: "10" - SHAI_SPICEPAY_BASE_WEIGHT: "25" - SHAI_SPICEPAY_CARRIER_BONUS: "12.5" - SHAI_SPICEPAY_CRAWLER_BONUS: "12.5" - - # --- Optional emojis (IDs) --- - SHAI_EMOJI_MELANGE_ID: "1401965356775510210" - SHAI_EMOJI_SAND_ID: "1401965308805255310" - SHAI_EMOJI_CARRIER_CRAWLER_ID: "1402285453037666386" - volumes: - # persistent data.json lives here - - shaiwatcher_data:/data - # repo cache for the wrapper (so it can run even if repo is temporarily unreachable) - - shaiwatcher_cache:/cache + # 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