diff --git a/wrapper/docker-compose.yml b/wrapper/docker-compose.yml index 5bb3be5..c9b1ed2 100644 --- a/wrapper/docker-compose.yml +++ b/wrapper/docker-compose.yml @@ -1,86 +1,86 @@ -version: "3.9" -services: - shaiwatcher: - build: - context: . - dockerfile: dockerfile - container_name: shaiwatcher - restart: unless-stopped - environment: - - DISCORD_TOKEN=${DISCORD_TOKEN} - - REPO_URL=${REPO_URL} - - REPO_BRANCH=${REPO_BRANCH} - - SHAI_DATA=/data/data.json - - CHECK_TIME_UTC=03:00 - - IGNORE_TEST_LEVEL=1 - - # Secrets (choose strategy) - - SHAI_MASTER_SECRET=${SHAI_MASTER_SECRET} - - SHAI_BOT_SALT=${SHAI_BOT_SALT} - # or: - # - SHAI_REPO_SECRET=${SHAI_REPO_SECRET} - # - SHAI_BOT_SECRET=${SHAI_BOT_SECRET} - - # Fallback DM - - SHAI_HOME_GUILD_ID=${SHAI_HOME_GUILD_ID} - - # --- Paths --- - - SHAI_DATA_FILE: /data/data.json - - # --- Reaction gating messages --- - - 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 " # trailing space intentional - - 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_RELEASE_VERSION: "false" - - 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: - - shaiwatcher_data:/data - - shaiwatcher_cache:/cache -volumes: - shaiwatcher_data: - shaiwatcher_cache: +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: