1.6 KiB
tssbot.web
React + Vite + Tailwind v4 web shell for Toothless' TSS Bot.
Routes:
/landing page/teamsTSS team leaderboard/teams/:teamnamegenerated team profile with roster, summary, rating history, and battle results/battle-logsBattle Logs
Local development
npm install
npm run dev
The development server runs on http://localhost:3001.
By default, /api/* and /health requests are proxied to http://localhost:6000. Override
that with VITE_API_TARGET:
VITE_API_TARGET=http://localhost:8080 npm run dev
Production with PM2
npm install
npm run build
pm2 start ecosystem.config.cjs
The production server runs on http://localhost:3001 and proxies /api/* plus
/health to API_UPSTREAM, which defaults to http://127.0.0.1:6000.
Override the API target before starting PM2 if needed:
API_UPSTREAM=http://127.0.0.1:8080 pm2 start ecosystem.config.cjs
GitHub webhook
The webhook process listens on port 3011 at /github. Configure GitHub to send
push events there.
Set a webhook secret before starting PM2 if you want signature validation:
GITHUB_WEBHOOK_SECRET=your-secret pm2 start ecosystem.config.cjs
On PowerShell, set $env:GITHUB_WEBHOOK_SECRET = "your-secret" before starting
PM2, or put the value directly in ecosystem.config.cjs.
The default deploy flow is:
git pull --ff-only
npm install
npm run build
pm2 reload tssbot-web --update-env
Only processes listed in PM2_RESTART_TARGETS are reloaded. The default is
tssbot-web, so unrelated PM2 processes are left alone. The webhook exits after
24 hours so PM2 restarts it cleanly.