The whole suite, on your servers.
One command starts JantaHR with a complete Supabase stack. Every feature, no employee limit, no licence fee.
Postgres 17 with OrioleDB
Supabase’s Postgres image with the OrioleDB storage engine as the default for every table.
Supabase Storage
Documents, receipts, résumés and selfies through the S3-compatible endpoint, in a private bucket.
Supabase Realtime
Notifications arrive in the browser the moment they are created.
Supabase Auth
Optional Google and magic-link sign-in, mapped to existing JantaHR accounts.
Edge Functions
Scheduled job dispatch and payment webhooks, running on the Supabase edge runtime.
Studio, PostgREST, Supavisor
Database admin, the auto-generated API (locked down by row-level security) and connection pooling.
Three steps.
1. Get the code and generate secrets
cd deploy/self-hosted ./jantahr.sh setup2. Review the settings
# .env: SITE_URL, SUPABASE_PUBLIC_URL, JANTAHR_WEB_URL, # JANTAHR_API_PUBLIC_URL, SMTP_*, DASHBOARD_PASSWORD3. Start everything
./jantahr.sh up # web http://localhost:3000 # API http://localhost:3002 # Studio http://localhost:8000
Needs Docker with about 15 GB of free disk. Back up JANTAHR_ENCRYPTION_KEY: without it, encrypted PAN, Aadhaar and bank numbers cannot be read. The full guide is in deploy/self-hosted/README.md.