Vercel is the recommended hosting platform for Birthday Wall because it is purpose-built for Next.js, handles the build and runtime automatically, and offers a generous free hobby plan that is more than sufficient for a personal birthday site. This page walks you through every step from GitHub push to live URL.Documentation Index
Fetch the complete documentation index at: https://help.helloazhenweb.top/llms.txt
Use this file to discover all available pages before exploring further.
Local development
Before deploying, you can run Birthday Wall locally to verify your configuration:http://localhost:3000. To test a production build locally before pushing:
.env.local in place, the Vercel deployment will succeed too.
Deploying to Vercel
Push your fork to GitHub
Make sure your repository is pushed to GitHub (or GitLab / Bitbucket — Vercel supports all three). Vercel needs access to the repository to pull source code and set up automatic deployments.
Import the repository into Vercel
- Log in to vercel.com and click Add New… → Project.
- Under Import Git Repository, click Continue with GitHub (or your Git provider) and authorize Vercel if prompted.
- Find your Birthday Wall repository in the list and click Import.
Confirm the framework preset
Vercel automatically detects Next.js projects and sets the correct build configuration:
- Framework Preset: Next.js
- Build Command:
next build - Output Directory:
.next - Install Command:
npm install
Add environment variables
Before clicking Deploy, scroll down to the Environment Variables section and add all five required variables:
See the environment variables page for descriptions of each variable and where to find the Supabase values.
| Variable | Value |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Your Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Your Supabase anon key |
SUPABASE_SERVICE_ROLE_KEY | Your Supabase service role key |
NEXT_PUBLIC_SITE_URL | Leave as a placeholder for now — you will update it after the first deploy |
ADMIN_PASSWORD | Your chosen admin panel password |
Deploy
Click Deploy. Vercel clones your repository, runs
npm install, then next build, and publishes the result. The first build typically takes two to three minutes.When the deployment finishes, Vercel shows a Congratulations screen with your live URL (e.g. https://birthday-wall-abc123.vercel.app).Set NEXT_PUBLIC_SITE_URL and redeploy
Copy the production URL Vercel just assigned to your project. Then:
- Go to Project Settings → Environment Variables.
- Edit
NEXT_PUBLIC_SITE_URLand paste the production URL as its value. - Trigger a redeployment: go to the Deployments tab, find the latest deployment, click the … menu, and select Redeploy.
(Optional) Add a custom domain
If you want the site to live at a custom domain (e.g.
happy-birthday-alex.com):- In your Vercel project, go to Settings → Domains.
- Enter your domain name and click Add.
- Follow the instructions to add the DNS records at your domain registrar (Vercel provides the exact records to create).
- Update
NEXT_PUBLIC_SITE_URLto your custom domain and redeploy.
Automatic deployments
Admin subdomain (optional)
Birthday Wall supports an optional admin subdomain. Requests toadmin.<your-domain> are automatically routed to the /admin panel. If you want to access the admin panel via a subdomain:
- In Vercel, go to Settings → Domains.
- Add
admin.<your-domain>as an additional domain and follow the DNS instructions.
The free Vercel hobby plan is fully sufficient for a personal birthday site. There are no bandwidth or build minute concerns for typical personal use.