From 41f8179b84046b695018f0018047430319f6bf4e Mon Sep 17 00:00:00 2001 From: frarol96 Date: Sat, 16 Aug 2025 06:01:46 +0000 Subject: [PATCH] Update wrapper/docker-compose.yml --- wrapper/docker-compose.yml | 103 +++++++++++++++++++++++++++++++------ 1 file changed, 86 insertions(+), 17 deletions(-) diff --git a/wrapper/docker-compose.yml b/wrapper/docker-compose.yml index ddae8f4..9d3c027 100644 --- a/wrapper/docker-compose.yml +++ b/wrapper/docker-compose.yml @@ -5,37 +5,106 @@ services: build: context: . dockerfile: dockerfile - # set to 1 to bake Playwright + Chromium into the image args: - WITH_PLAYWRIGHT: ${WITH_PLAYWRIGHT:-1} - + WITH_PLAYWRIGHT: ${WITH_PLAYWRIGHT:-0} 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 + # Wrapper / repo + DISCORD_TOKEN: ${DISCORD_TOKEN} REPO_URL: ${REPO_URL} REPO_BRANCH: ${REPO_BRANCH:-main} + REPO_TOKEN: ${REPO_TOKEN:-} CHECK_TIME_UTC: ${CHECK_TIME_UTC:-03:00} IGNORE_TEST_LEVEL: ${IGNORE_TEST_LEVEL:-1} + SHAI_REPO_RSS: ${SHAI_REPO_RSS:-} - # bot data path inside the container - SHAI_DATA_FILE: /data/data.json + # Bot runtime + SHAI_DATA_FILE: ${SHAI_DATA_FILE:-/data/data.json} + + # Deep Desert scraper + SHAI_DD_CHANNEL_ID: ${SHAI_DD_CHANNEL_ID:-} + SHAI_DD_FETCHER: ${SHAI_DD_FETCHER:-playwright} + SHAI_DD_PW_TIMEOUT_MS: ${SHAI_DD_PW_TIMEOUT_MS:-60000} + SHAI_DD_PW_WAIT: ${SHAI_DD_PW_WAIT:-} + + # Slash scope + SHAI_SLASH_GUILD_ONLY: ${SHAI_SLASH_GUILD_ONLY:-true} + SHAI_HOME_GUILD_ID: ${SHAI_HOME_GUILD_ID:-} + + # Channels + SHAI_MOD_CHANNEL_ID: ${SHAI_MOD_CHANNEL_ID:-} + SHAI_MODLOG_CHANNEL_ID: ${SHAI_MODLOG_CHANNEL_ID:-} + SHAI_USERSLIST_CHANNEL_ID: ${SHAI_USERSLIST_CHANNEL_ID:-} + SHAI_REPORT_CHANNEL_ID: ${SHAI_REPORT_CHANNEL_ID:-} + SHAI_PIRATES_LIST_CHANNEL_ID: ${SHAI_PIRATES_LIST_CHANNEL_ID:-} + SHAI_TRIGGER_CHANNEL_ID: ${SHAI_TRIGGER_CHANNEL_ID:-} + SHAI_AUTO_VC_CATEGORY_ID: ${SHAI_AUTO_VC_CATEGORY_ID:-} + + # Reaction messages + SHAI_RULES_MESSAGE_ID: ${SHAI_RULES_MESSAGE_ID:-} + SHAI_ENGAGEMENT_MESSAGE_ID: ${SHAI_ENGAGEMENT_MESSAGE_ID:-} + SHAI_NICKNAME_MESSAGE_ID: ${SHAI_NICKNAME_MESSAGE_ID:-} + + # Roles + SHAI_RULES_ROLE_ID: ${SHAI_RULES_ROLE_ID:-} + SHAI_ENGAGEMENT_ROLE_ID: ${SHAI_ENGAGEMENT_ROLE_ID:-} + SHAI_FULL_ACCESS_ROLE_ID: ${SHAI_FULL_ACCESS_ROLE_ID:-} + SHAI_ADMIN_ROLE_ID: ${SHAI_ADMIN_ROLE_ID:-} + SHAI_FIELD_MOD_ROLE_ID: ${SHAI_FIELD_MOD_ROLE_ID:-} + SHAI_INTEL_MOD_ROLE_ID: ${SHAI_INTEL_MOD_ROLE_ID:-} + SHAI_MODERATOR_ROLE_ID: ${SHAI_MODERATOR_ROLE_ID:-} + + # Auto-VC + SHAI_VC_NAME_PREFIX: ${SHAI_VC_NAME_PREFIX:-DD Crew} + SHAI_AUTO_VC_CLEANUP_DELAY: ${SHAI_AUTO_VC_CLEANUP_DELAY:-30} + + # Threat weights + SHAI_THREAT_W_KILL: ${SHAI_THREAT_W_KILL:-0.30} + SHAI_THREAT_W_DESTRUCTION: ${SHAI_THREAT_W_DESTRUCTION:-0.40} + SHAI_THREAT_W_GROUP: ${SHAI_THREAT_W_GROUP:-0.20} + SHAI_THREAT_W_SKILL: ${SHAI_THREAT_W_SKILL:-0.10} + SHAI_THREAT_GROUP_THRESHOLD: ${SHAI_THREAT_GROUP_THRESHOLD:-3} + SHAI_THREAT_MIN_SAMPLES_FOR_STATS: ${SHAI_THREAT_MIN_SAMPLES_FOR_STATS:-3} + + # Toggles + SHAI_NICK_NUDGE_LOOP_ENABLED: ${SHAI_NICK_NUDGE_LOOP_ENABLED:-false} + SHAI_USER_CARDS_CRON_ENABLED: ${SHAI_USER_CARDS_CRON_ENABLED:-true} + + # SpicePay defaults + SHAI_SPICEPAY_LSR_CUT_PERCENT: ${SHAI_SPICEPAY_LSR_CUT_PERCENT:-10} + SHAI_SPICEPAY_BASE_WEIGHT: ${SHAI_SPICEPAY_BASE_WEIGHT:-25} + SHAI_SPICEPAY_CARRIER_BONUS: ${SHAI_SPICEPAY_CARRIER_BONUS:-12.5} + SHAI_SPICEPAY_CRAWLER_BONUS: ${SHAI_SPICEPAY_CRAWLER_BONUS:-12.5} + + # Emojis + SHAI_EMOJI_MELANGE_ID: ${SHAI_EMOJI_MELANGE_ID:-} + SHAI_EMOJI_SAND_ID: ${SHAI_EMOJI_SAND_ID:-} + SHAI_EMOJI_CARRIER_CRAWLER_ID: ${SHAI_EMOJI_CARRIER_CRAWLER_ID:-} + + # Docs site + SHAI_DOCS_HOST: ${SHAI_DOCS_HOST:-0.0.0.0} + SHAI_DOCS_PORT: ${SHAI_DOCS_PORT:-8910} + SHAI_DOCS_TITLE: ${SHAI_DOCS_TITLE:-ShaiWatcher Commands} + SHAI_DOCS_SUPPORT_URL: ${SHAI_DOCS_SUPPORT_URL:-} + SHAI_DOCS_SUPPORT_LABEL: ${SHAI_DOCS_SUPPORT_LABEL:-Buy me a ☕} + + # Wrapper knobs + PIP_INSTALL_REQUIREMENTS: ${PIP_INSTALL_REQUIREMENTS:-1} + WRAPPER_STOP_TIMEOUT: ${WRAPPER_STOP_TIMEOUT:-25} + + # Locale + LANG: ${LANG:-C.UTF-8} volumes: - # external named volumes → re-used, never auto-deleted by the stack - - ${SHAI_VOL_DATA:-shaiwatcher_data}:/data - - ${SHAI_VOL_CACHE:-shaiwatcher_cache}:/cache + - data:/data + - cache:/cache volumes: - shaiwatcher_data: + data: + external: true name: ${SHAI_VOL_DATA:-shaiwatcher_data} + cache: external: true - shaiwatcher_cache: name: ${SHAI_VOL_CACHE:-shaiwatcher_cache} - external: true