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
-
Prepare —
pnpm install, then createconfig/ticqex.config.jsonfrom the example and set the channels you want before deploying. -
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- 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- Resend (email only) — verify your sender domain, then register webhooks against the deployed URL and copy the generated
RESEND_WEBHOOK_SECRETfrom.env.localinto Vercel, then redeploy:
RESEND_API_KEY=re_... pnpm resend:setup-webhooks --app-url https://<your-vercel-host>-
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
agentrole, so grant admin once: open Table Editor →users, find the row for that email (created automatically when the user is added), and set itsroletoadmin.
Prefer SQL? Run this in the Supabase SQL Editor instead:
update public.users set role = 'admin' where email = 'you@example.com';- Verify —
https://<host>/api/healthreturns"database":"ok", admin sign-in works, and (if enabled) an inbound test email becomes a ticket.