Commit Graph

6 Commits

Author SHA1 Message Date
deploy fa203c653b pm2: add crash-loop governor to all apps; lower srebot max_memory_restart to 12000M
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 12:58:56 +00:00
NotSoToothless 016041dc88 move venv to shared (#1291) 2026-05-31 01:43:19 -07:00
NotSoToothless 72833465dc drop require('dotenv') from ecosystem.config.js files (#1230)
TSSBOT has no node_modules/ on the server (no package.json was ever
installed for it), so `require('dotenv').config()` crashes pm2 with
MODULE_NOT_FOUND when it loads the ecosystem file. The dotenv call was
already dead code: every spawned app loads its own .env in its own
process (botscript.py, server.js, web/server.js, webhook updater,
TSSBOT/start_bot.py all do load_dotenv / require('dotenv').config()
themselves). Remove the require from both ecosystem files.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:09:51 -07:00
NotSoToothless cd0576b88a consolidate runtime env into .env, drop ecosystem env blocks (#1229)
- Make .env the single source of truth for runtime config. Remove all
  `env:` blocks from SREBOT/ecosystem.config.js and TSSBOT/ecosystem.config.js
  so values can't silently shadow .env. Both ecosystem files load .env via
  `require('dotenv').config()` and PM2 inherits the resolved environment.

- Rename SREBOT_STORAGE_VOL_PATH → STORAGE_VOL_PATH across all readers
  (BOT/utils.py, BOT/receiver_bridge.py, BOT/render_recap.py, server.js,
  web/server.js, dateindex.js, scripts/*, srebot.service, tests/, README,
  and both .env files). STORAGE is shared between SREBOT and TSSBOT, so the
  variable shouldn't carry one bot's prefix.

- Rename per-process PORT env vars to disambiguated names so .env can be
  the source of truth without collisions:
    PORT (api)     → SREBOT_API_PORT     (server.js)
    PORT (web)     → SREBOT_WEB_PORT     (web/server.js)
    WEBHOOK_PORT   → SREBOT_WEBHOOK_PORT (github_webhook_updater.py)
  SREBOT_EXTERNAL_HOST/PORT/UPSTREAM_URL were already uniquely named;
  they just move from ecosystem env to .env.

- TSSBOT/.env: drop GITHUB_WEBHOOK_SECRET (only srebot-webhook consumes it)
  and the stale SREBOT_DEPLOY_PATH. SREBOT/.env: also drop the obsolete
  SREBOT_DEPLOY_PATH (ecosystem now hardcodes __dirname).

- ecosystem.config.js no longer references SREBOT_DEPLOY_PATH; deploy path
  is always __dirname of the ecosystem file.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:07:34 -07:00
NotSoToothless 34e9af2f94 make TSSBOT/start_bot.py a real Discord bot and reuse SREBOT venv (#1227)
- TSSBOT/start_bot.py: replace the print-and-idle stub with a minimal
  discord.py Client (commands.Bot with default+message_content intents).
  Loads TSSBOT/.env via python-dotenv, reads DISCORD_KEY, logs on_ready,
  handles SIGTERM/SIGINT cleanly. Aborts with a clear error if the token
  is missing instead of silently exit-looping.

- TSSBOT/ecosystem.config.js: switch the default interpreter from system
  python3 to SREBOT's venv (../SREBOT/.venv/bin/python). Both bots share
  BOTS/SHARED and the same baseline deps (discord.py, dotenv, …); split
  into a dedicated TSSBOT/.venv only when the dependency sets diverge.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:55:44 -07:00
NotSoToothless a7de9ecad2 Auto merge dev → main (#1226)
* add tssbot PM2 entry + extend webhook updater to handle TSSBOT

- TSSBOT/ecosystem.config.js: defines just the tssbot app for now.
  Uses system python3 (skeleton has no deps); switch to .venv/bin/python
  once TSSBOT/BOT/botscript.py and a real dependency set exist.
- TSSBOT/start_bot.py: change the stub from exit-immediately to an
  idle loop with SIGTERM/SIGINT handling so PM2 doesn't restart-loop
  the placeholder.
- SREBOT/github_webhook_updater.py: same listener handles the whole
  monorepo. Add a tssbot restart rule that triggers on TSSBOT/BOT/,
  TSSBOT root .py, TSSBOT/start_bot.py, TSSBOT/ecosystem.config.js,
  or SHARED/ changes. A push to SHARED restarts both bots; pushes
  scoped to one bot only restart that bot.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* update game files and start tssbot

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:49:54 -07:00