shaiwatcher/wrapper/docker-compose.yml

111 lines
3.9 KiB
YAML

version: "3.9"
services:
shaiwatcher:
build:
context: .
dockerfile: dockerfile
args:
WITH_PLAYWRIGHT: ${WITH_PLAYWRIGHT:-1}
container_name: shaiwatcher
restart: unless-stopped
environment:
# 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 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:
- data:/data
- cache:/cache
volumes:
data:
external: true
name: ${SHAI_VOL_DATA:-shaiwatcher_data}
cache:
external: true
name: ${SHAI_VOL_CACHE:-shaiwatcher_cache}