Naar de inhoud
IngebouwdCloudplatform

Crunu en Vercel: de server hosten, env-variabelen pushen

Draai je eigen Crunu-server op Vercel met Postgres op Neon, of zet vanuit een CI-pipeline waarden uit een Crunu-omgeving in de omgevingsvariabelen van Vercel.

Ondersteuning
Werkt vandaag met Crunu: ondersteuning voor Vercel hoort bij het product.
Functies van Crunu
Zelf hosten en CI/CD
Gecontroleerd
Tegen Crunu 6.0.0 op 28 oktober 2026
Voorbeeld. Kiteline is een fictief bedrijf.

Functies van Crunu die met Vercel werken

Elke functie hieronder werkt in elke integratie op dezelfde manier: de server bewaart versleutelde data, en alleen de mensen, machines en tokens die je toegang geeft, kunnen ontsleutelen.

  • Zelf hosten

    Draai dezelfde Crunu-server op je eigen Docker-host, Cloudflare Workers, Vercel of Google Cloud Run, en verhuis tussen die platforms met één archief.

    Lees meer

  • CI/CD

    Geef elke pipeline een servicetoken dat beperkt is tot de eigen omgevingen, en bind het met OIDC aan je CI-provider, zodat een gelekt token niet op zichzelf kan inloggen.

    Lees meer

Zo werkt het met Vercel

Op deze pagina

Twee manieren waarop Crunu met Vercel werkt

  • De Crunu-server op Vercel hosten. Deployt je team daar al, dan heeft de Crunu-server een build voor Vercel die Postgres op Neon gebruikt. Dit deel is ingebouwd: één script deployt het.
  • Waarden in je eigen Vercel-projecten zetten. Crunu heeft geen ingebouwde sync naar omgevingsvariabelen van Vercel. Een pipeline kan ze erin zetten met een kort recept, hieronder.

Crunu zelf draait in de cloud op app.crunu.com, dus het eerste deel heb je alleen nodig als je een eigen server wilt.

De server op Vercel hosten

Je hebt Node.js 24 nodig, de CLI vercel waarmee je vercel login hebt gedaan, een Neon-database met het adres via de pooler in DATABASE_URL, en een .env-bestand dat server-init heeft gemaakt. De opdrachten draaien vanuit de map van de Crunu-server, waar de deployscripts staan.

Shell
node scripts/server-init.mjs --origin https://vault.company.example --database-url env:DATABASE_URL
sh deploy/vercel/deploy.sh --project vault-company --prod

Het script controleert .env, bouwt de server met de webclient erin, maakt zo nodig het project aan, schrijft de omgevingsvariabelen met waarden die via stdin worden doorgegeven, en deployt de vooraf gebouwde uitvoer. De server past schemamigraties zelf toe op zijn database.

Zonder --prod deployt het script een preview met een eigen database en een eigen serversleutel, ingesteld als PREVIEW_DATABASE_URL en PREVIEW_SERVER_KEY. Een preview-build zou zijn migraties uitvoeren op de database waarmee hij verbonden is, dus het script weigert een preview naar data van production te laten wijzen tenzij je --preview-with-production-db meegeeft.

Schema voor het opschonen

Het opschonen van verlopen records draait via een cron-job van Vercel, alleen voor productiedeployments met CRON_SECRET ingesteld. Standaard is dat één keer per dag, omdat het Hobby-abonnement geen vaker schema toestaat; controleer de actuele limieten van de abonnementen van Vercel. Het verlopen van sessies, links en break-glass-toegang hangt er niet van af, want elk verzoek controleert dat. Sommige waarschuwingen wel. Gebruik je netwerkbeperkingen met machinepassen, draai het opschonen dan elke minuut of minstens elke 5 minuten, waarvoor Vercel Pro nodig is, en geef het schema bij elke deploy mee:

Shell
sh deploy/vercel/deploy.sh --project vault-company --prod --cron "* * * * *"

Waarden vanuit CI in Vercel zetten

Bewaart een Vercel-project van jou zijn variabelen in Vercel, dan kan een pipeline ze uit Crunu kopiëren. Gebruik een apart token voor production met een CI-binding (OIDC) aan de branch main en de deployment-omgeving production, zodat het token alleen in die ene job werkt. Een eigenaar keurt de toegang tot production ervoor goed.

Shell
crunu run --env web-app/production -- sh -c 'printf "%s" "$DATABASE_URL" | vercel env add DATABASE_URL production --force'

crunu run ontsleutelt de omgeving in het geheugen en geeft DATABASE_URL door aan de opdracht, die het via stdin aan vercel env add geeft, nooit als argument. Elke run wordt vastgelegd in de auditlog van Crunu: wie, wanneer, vanaf welk adres en welke versie.

Verwant

Veelgestelde vragen

Staat je vraag er niet bij? Mail naar support@crunu.com, dan antwoordt een mens.

Kan een preview-deployment bij data van production?

Standaard niet. Een preview krijgt een eigen database en serversleutel, en het script weigert de database van production tenzij je --preview-with-production-db meegeeft.

Hoe vaak draait het opschonen?

Standaard één keer per dag. Met netwerkbeperkingen en machinepassen draai je het elke minuut of elke 5 minuten, en daarvoor is Vercel Pro nodig.

Synchroniseert Crunu naar omgevingsvariabelen van Vercel?

Niet uit zichzelf. Een pipeline met een token voor production dat met OIDC is gebonden, kan waarden erin zetten met vercel env add onder crunu run.

Probeer het met Vercel

Maak je organisatie aan op app.crunu.com, voeg één omgeving toe en koppel die. Gratis tijdens de vroege toegang.