Prerequisites
Before you deploy, make sure you have:- Node.js 18 or higher installed locally
- A Supabase account with a project created
- Your Supabase project’s URL and anon key (found in your project’s Settings → API page)
Deploy to Vercel
Vercel is the recommended deployment target. Simple Money includes avercel.json that configures subdomain rewrites for the admin dashboard.
Push your code to a Git repository
Push the project to a repository on GitHub, GitLab, or Bitbucket. Vercel connects directly to your repository to deploy on every push.
Create a new Vercel project
- Sign in to Vercel and click Add New → Project.
- Import your repository from the list.
- Vercel will automatically detect the Next.js framework and configure the build settings. No changes are needed.
Add environment variables
Before clicking Deploy, open Environment Variables in the project settings and add the following:
Deploy
Click Deploy. Vercel will build and publish the application. Once the deployment is complete, your site is live at the generated Vercel URL.
Configure your custom domain (optional)
To use a custom domain, go to Settings → Domains in your Vercel project and add your domain.The included
vercel.json routes all traffic from admin.simplemoneys.com to the /admin path. If you use a different domain, update the host value in vercel.json to match your admin subdomain.Local development
Set up environment variables
Create a
.env.local file in the project root and add your Supabase credentials:Run the development server
Environment variable reference
| Variable | Required | Description |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | Yes | Your Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Yes | Public anon key for client-side queries |
SUPABASE_SERVICE_ROLE_KEY | Yes | Service role key for server-side admin actions. Never expose this publicly. |
NEXT_PUBLIC_ADMIN_PATH | Recommended | URL path for the admin dashboard. Change from the default to obscure the admin route. |
NEXT_PUBLIC_TAWK_PROPERTY_ID | No | Tawk.to property ID for live chat |
NEXT_PUBLIC_TAWK_WIDGET_ID | No | Tawk.to widget ID for live chat |