version: "3.9" services: shaiwatcher: build: context: . # Use the wrapper Dockerfile in this branch/repo dockerfile: dockerfile container_name: shaiwatcher restart: unless-stopped # All config in one place; override via Portainer's "Env" panel or a .env file 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 # 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) ==== 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 volumes: shaiwatcher_data: shaiwatcher_cache: