Update wrapper/docker-compose.yml

This commit is contained in:
frarol96 2025-08-16 06:01:46 +00:00
parent 91bcf13dfb
commit 41f8179b84

View File

@ -5,37 +5,106 @@ services:
build: build:
context: . context: .
dockerfile: dockerfile dockerfile: dockerfile
# set to 1 to bake Playwright + Chromium into the image
args: args:
WITH_PLAYWRIGHT: ${WITH_PLAYWRIGHT:-1} WITH_PLAYWRIGHT: ${WITH_PLAYWRIGHT:-0}
container_name: shaiwatcher container_name: shaiwatcher
restart: unless-stopped 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: environment:
# wrapper/bot basics # Wrapper / repo
DISCORD_TOKEN: ${DISCORD_TOKEN}
REPO_URL: ${REPO_URL} REPO_URL: ${REPO_URL}
REPO_BRANCH: ${REPO_BRANCH:-main} REPO_BRANCH: ${REPO_BRANCH:-main}
REPO_TOKEN: ${REPO_TOKEN:-}
CHECK_TIME_UTC: ${CHECK_TIME_UTC:-03:00} CHECK_TIME_UTC: ${CHECK_TIME_UTC:-03:00}
IGNORE_TEST_LEVEL: ${IGNORE_TEST_LEVEL:-1} IGNORE_TEST_LEVEL: ${IGNORE_TEST_LEVEL:-1}
SHAI_REPO_RSS: ${SHAI_REPO_RSS:-}
# bot data path inside the container # Bot runtime
SHAI_DATA_FILE: /data/data.json 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: volumes:
# external named volumes → re-used, never auto-deleted by the stack - data:/data
- ${SHAI_VOL_DATA:-shaiwatcher_data}:/data - cache:/cache
- ${SHAI_VOL_CACHE:-shaiwatcher_cache}:/cache
volumes: volumes:
shaiwatcher_data: data:
external: true
name: ${SHAI_VOL_DATA:-shaiwatcher_data} name: ${SHAI_VOL_DATA:-shaiwatcher_data}
cache:
external: true external: true
shaiwatcher_cache:
name: ${SHAI_VOL_CACHE:-shaiwatcher_cache} name: ${SHAI_VOL_CACHE:-shaiwatcher_cache}
external: true