Deployment
Vercel (production)
Push to GitHub — Vercel auto-deploys from main.
Environment variables
Set these in Vercel dashboard (Settings > Environment Variables):
| Variable | Required | Description |
|---|---|---|
SUPABASE_URL | For analytics | Supabase project URL |
SUPABASE_ANON_KEY | For analytics | Supabase anon (publishable) key |
ANALYTICS_PASSWORD | For dashboard | Password for /analytics |
NEXT_PUBLIC_POSTHOG_KEY | For PostHog | PostHog project API key |
NEXT_PUBLIC_POSTHOG_HOST | For PostHog | PostHog host (e.g. https://eu.posthog.com) |
POSTHOG_PERSONAL_API_KEY | For dashboard | PostHog personal API key (server-side HogQL) |
After deploying
Update BTTPIRINEUS_EMBED_DOMAIN in wordpress/bttpirineus-maps/bttpirineus-maps.php to match your Vercel production URL:
define('BTTPIRINEUS_EMBED_DOMAIN', 'https://btt-pirineus-embedded.vercel.app');PostHog reverse proxy
The next.config.ts rewrites /ingest/* to PostHog’s EU ingestion endpoint. This avoids ad-blocker interference and CORS issues. No additional configuration needed on Vercel.
Local build
npm run build
npm startStarts the production server on http://localhost:3000.