Self-hosting

Start free trial

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. 1. Get the code and generate secrets

    cd deploy/self-hosted
    ./jantahr.sh setup
  2. 2. Review the settings

    # .env: SITE_URL, SUPABASE_PUBLIC_URL, JANTAHR_WEB_URL,
    # JANTAHR_API_PUBLIC_URL, SMTP_*, DASHBOARD_PASSWORD
  3. 3. 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.