Hosting op Vercel
De app draait op Vercel, in Frankfurt. Je maakt een project aan vanuit de repository, vult een handvol omgevingsvariabelen in en deployt. Geheimen gaan er nauwelijks in: de anon key is publiek en Microsoft vertrouwt Vercel via federatie.
Project aanmaken
- Nieuw project vanuit de repository
Vercel → Add New → Project → kies de repository, branch
main. Laat Root Directory leeg (de app staat in de hoofdmap). - Regio Frankfurt
Settings → Functions → Function Region:
fra1(Frankfurt). Dit staat ook invercel.json. - Federatie aan
Settings → Security → Secure backend access with OIDC federation: aan, modus Team. Dat had je al gedaan bij stap 3.
- Pro-plan
Hobby is niet voor commercieel gebruik. Pro geeft je ook rollback en logs.
Omgevingsvariabelen
Settings → Environment Variables. Zet ze alleen voor Production, en markeer echte geheimen als Sensitive (dan kan niemand ze later teruglezen).
De volledige lijst:
| Variabele | Waarde | Geheim? |
|---|---|---|
DATA_MODE | live | nee |
NEXT_PUBLIC_SUPABASE_URL | Project URL uit stap 1 | nee |
NEXT_PUBLIC_SUPABASE_ANON_KEY | anon key uit stap 1 | nee (publiek bedoeld) |
APP_URL | https://<jouw-domein>, zonder slash aan het eind | nee |
TENANT_MODE | graph | nee |
GRAPH_CLIENT_ID | toepassings-id van Rollout – Readiness | nee |
GRAPH_FEDERATION | vercel | nee |
GRAPH_ALLOWED_TENANTS | tenant-id's van je klanten, komma-gescheiden | nee |
ROLLOUT_LICENSE | je licentie | nee, wel persoonlijk |
ROLLOUT_GATEWAY_SECRET | zie stap 5 | ja: Sensitive |
HEALTH_DETAILS | minimal | nee |
SECURITY_CONTACT | bijv. security@jouwmsp.nl | nee |
Optioneel, voor e-mail vanuit je eigen mailbox: MAIL_SENDER en MAIL_TENANT_ID.
Variabelen die met NEXT_PUBLIC_ beginnen, gaan tijdens de build mee in de browsercode. Na een wijziging moet je opnieuw deployen. Zet daarom nooit iets geheims in een NEXT_PUBLIC_-variabele.
Controleren vóór de deploy
Rollout heeft een script dat je configuratie nakijkt zonder waarden te tonen. Zet de waarden in een lokaal bestand dat nooit in git komt (.env* staat al in .gitignore):
Staat er een FOUT, deploy dan niet: het script zegt wat er mis is. Daarna: Deployments → Redeploy (of push naar main).
Controleren na de deploy
Open https://<jouw-domein>/api/ready. Je ziet alleen statussen, nooit adressen of foutteksten:
"gateway": "not-enforced" is op dit moment precies goed: de server-poort zet je aan in de volgende stap.