Ticqex
Getting started

Deploy

Production deployment with Supabase Cloud and Vercel.

You need a Supabase project, a Vercel project connected to the repo, a Resend account if email is enabled, and both CLIs logged in (supabase login, vercel login).

Steps

  1. Preparepnpm install, then create config/ticqex.config.json from the example and set the channels you want before deploying.

  2. Supabase — link and migrate against your project ref (from https://<project-ref>.supabase.co):

supabase link --project-ref <project-ref>
supabase db push --linked
supabase db query --linked -f supabase/bootstrap.sql
  1. Vercel — import the repo (or vercel link) and set the environment variables for Production and Preview: the three Supabase keys (from Supabase Project Settings → API Keys), NEXT_PUBLIC_APP_URL (your production URL), and the Resend vars if email is enabled. Deploy once so the webhook endpoints exist:
vercel deploy --prod
  1. Resend (email only) — verify your sender domain, then register webhooks against the deployed URL and copy the generated RESEND_WEBHOOK_SECRET from .env.local into Vercel, then redeploy:
RESEND_API_KEY=re_... pnpm resend:setup-webhooks --app-url https://<your-vercel-host>
  1. First admin — create the user in the Supabase dashboard, then promote it to admin:

    • In your project, go to Authentication → Users → Add user → Create new user, enter the email and password, and tick Auto Confirm User.
    • New sign-ups default to the agent role, so grant admin once: open Table Editor → users, find the row for that email (created automatically when the user is added), and set its role to admin.

    Prefer SQL? Run this in the Supabase SQL Editor instead:

update public.users set role = 'admin' where email = 'you@example.com';
  1. Verifyhttps://<host>/api/health returns "database":"ok", admin sign-in works, and (if enabled) an inbound test email becomes a ticket.

On this page