Two instances run on sentinel:
| Instance | URL | Service | Port | Repo | Data |
|---|---|---|---|---|---|
| Production (π leopard) | https://leopard.verse.link | botical-prod |
6001 | ~/botical-prod |
~/.botical-prod |
| Dev (π― tiger) | https://tiger.verse.link | botical-dev + botical-dev-ui |
6002 (API) + 6003 (UI) | ~/botical |
~/.botical-dev |
- Runs
bun run src/index.tswith pre-built frontend (webui/dist) - Follows the
mainbranch on GitHub - Deploy with:
~/botical/scripts/deploy-prod.sh
- Backend (
botical-dev):bun --watch run src/index.tsβ auto-restarts on any.tsfile change - Frontend (
botical-dev-ui):vite devon port 6003 β hot module replacement, proxies/apiand/wsto backend on port 6002 - Edit code in
~/botical, changes are immediately visible at https://tiger.verse.link
- Edit code in
~/botical(dev repo) - Backend changes: auto-restart via
bun --watch - Frontend changes: instant via vite HMR
- Test at https://tiger.verse.link
# Option 1: Use the deploy script (recommended)
~/botical/scripts/deploy-prod.sh
# Option 2: Manual
cd ~/botical
git add -A && git commit -m "description" && git push ion-kitty main
cd ~/botical-prod
git fetch origin && git reset --hard origin/main
cd webui && npm install && npx vite build && cd ..
bun install
sudo systemctl restart botical-prod~/botical/scripts/dev-status.sh# Production
sudo systemctl start/stop/restart botical-prod
sudo journalctl -u botical-prod -f
# Dev backend
sudo systemctl start/stop/restart botical-dev
sudo journalctl -u botical-dev -f
# Dev frontend
sudo systemctl start/stop/restart botical-dev-ui
sudo journalctl -u botical-dev-ui -fBoth instances are exposed via Cloudflare Tunnel (c34b67ae):
- Config:
/etc/cloudflared/config.yml - DNS: CNAME records for
leopard.verse.linkandtiger.verse.link - After config changes:
sudo systemctl restart cloudflared
- Dev is disposable β
~/.botical-devcan be wiped without affecting production - Prod follows main β only deployed, committed code runs in production
- Prod edits dev β use leopard to make changes that appear on tiger
- Separate databases β users, projects, sessions are independent per instance