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
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.
node scripts/server-init.mjs --origin https://vault.company.example --database-url env:DATABASE_URL
sh deploy/vercel/deploy.sh --project vault-company --prodHet 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:
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.
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.