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 startas 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>&1On 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.