Deployment Recipes
Otso runs as a small Node app and does not require special infrastructure. These deployment recipes cover common setups.
Vercel
Section titled “Vercel”- Fork the repository and push your content.
- In the Vercel dashboard, import the repo.
- Add environment variables (
OTSO_DB_URL
,OTSO_SECRET
, etc.). - Enable the schedule function if using QStash.
- Trigger a deploy and verify the site responds.
Self‑hosted
Section titled “Self‑hosted”- Install Node and a database on your server.
- Clone the repo and run
pnpm install && pnpm build
. - Use systemd or pm2 to run
pnpm start
as a service. - Configure a reverse proxy (Nginx/Caddy) with HTTPS.
Scheduling
Section titled “Scheduling”Use cron or QStash to run syncs periodically:
# crontab -e0 * * * * /usr/local/bin/otso sync >> ~/otso.log 2>&1
On Vercel with Upstash QStash:
- Create a QStash URL that hits
https://your-app.vercel.app/api/sync
. - Set the schedule (e.g., hourly).
- Monitor invocation logs to ensure sync jobs complete.