ARI runs beautifully on Vercel — and getting there takes a single click. No servers to rent, no terminal, no config files to hand-edit. Press Deploy with Vercel and you'll have your own private ARI workspace, live on the internet, in minutes. Vercel hosts it, keeps it fast for you anywhere in the world, and automatically ships every future update the moment you make it.
How It Works
ARI is built to set itself up. The moment your deployment goes live, ARI notices it hasn't been configured yet and greets you with a friendly Welcome Setup Wizard instead of an error page. You answer a few simple questions — where your database lives, the admin account you'd like, and a Vercel token so ARI can finish the job — and ARI handles the rest: it saves everything securely to your Vercel project, redeploys itself, and drops you at the sign-in page ready to go. No .env files, no command line, nothing to wire up by hand.
Step 1 — Deploy
- Click Deploy with Vercel above.
- Vercel asks you to create a Git repository (GitHub, GitLab, or Bitbucket) — this is your copy of ARI, which Vercel redeploys on every push.
- Vercel creates the project and runs the first build. No environment variables are required at this stage.
- When the build finishes, open the deployment URL. You will land on the ARI setup wizard.
Step 2 — Set Up a Database
ARI needs a PostgreSQL database. Vercel does not provide one, so create a free hosted database with either provider below and copy its connection string into the wizard.
-
Neon (simplest)
Create a project at neon.tech, then copy the connection string from the project dashboard. Neon's pooled connection string works with Vercel out of the box.
-
Supabase
Create a project at supabase.com. Then open Connect (top of the dashboard) and choose the connection string carefully:
- Select the Transaction pooler connection method — not "Direct connection." Vercel runs ARI as serverless functions, and the transaction pooler is built for exactly that (short, isolated requests) while multiplexing connections so your database is not overwhelmed.
- The transaction pooler is IPv4-compatible, which is what you need on Vercel. The Direct connection option is IPv6-only by default — Vercel's functions cannot reach it without Supabase's paid IPv4 add-on, so it will fail to connect. Always use the pooler string.
- Set Type to URI and copy the string. It looks like
postgresql://postgres.your-project-ref:[YOUR-PASSWORD]@aws-0-region.pooler.supabase.com:6543/postgres— note port 6543 and thepostgres.<ref>username, which distinguish the pooler from the direct string. - Replace
[YOUR-PASSWORD]with your database password. If the password contains special characters, percent-encode them.
ARI tests the connection before saving anything, so a wrong string fails fast with a clear message rather than a broken deployment.
Step 3 — Create a Vercel Access Token
ARI uses a Vercel access token once — to write your configuration to the project's environment variables and trigger the redeploy. It is never stored, logged, or shown again.
- Go to vercel.com/account/tokens.
- Create a token with access to the account or team that owns this deployment.
- Paste it into the Vercel Access Token field in the wizard.
You can delete the token immediately after setup completes.
Step 4 — Configure & Deploy
In the wizard's Deploy step, enter your database connection string, your Vercel access token, and confirm the auto-generated authentication secret. Then click Configure & Deploy. ARI will:
- Save your configuration to the Vercel project's environment variables (secrets are stored write-only).
- Trigger a fresh production deployment so the new settings take effect.
- Wait for the new deployment to go live (usually 1–3 minutes), then send you to the sign-in page.
Sign in with the admin email and password you chose — your account and database tables are created automatically on first sign-in.
After Setup
- First-run credentials. The admin email and password are stored as one-time environment variables and ignored once your account exists. You can safely delete
ARI_FIRST_RUN_ADMIN_EMAILandARI_FIRST_RUN_ADMIN_PASSWORDin your Vercel project's Settings → Environment Variables. - File storage. Vercel's filesystem is read-only and ephemeral, so uploaded files do not persist there. Configure a storage provider (S3, Cloudflare R2, or Supabase Storage) via environment variables — see Storage.
- Installing modules. To install modules that add npm packages on Vercel, set a
GITHUB_TOKENenvironment variable so ARI can commit the updatedpackage.jsonback to your repository. - Preview deployments share the same database as production.
Managed Setup
Prefer not to deal with infrastructure? The Managed Setup plan includes full hosting on your own custom domain, daily backups, and professional setup. Contact hello@ari.software for details.
Next Steps
- Authentication — Secure your instance
- Storage — Configure durable file storage
- Security — Harden your deployment