Blog

Tutorials, handleidingen en productnieuws.

Ontwikkelaars

Een Next.js-app van Vercel naar je eigen server verhuizen

2 november 2026 6 min. leestijd
Dit bericht delen

Om een Next.js-app van Vercel naar je eigen server te verhuizen koppel je dezelfde GitHub-repository aan het Coolify-paneel op de server, kopieer je de omgevingsvariabelen, vervang je de onderdelen die bij Vercel horen (cron, analytics, opslag), test je op een tijdelijk adres en zet je als laatste het A-record van je domein om. De documentatie van Next.js zegt dat alle functies op een Node.js-server werken. Je Vercel-deployment blijft draaien tot je overstapt, dus je hebt een weg terug.

Eigenlijk is dit een keuze van factureringsmodel. De documentatie van Vercel legt uit dat infrastructuur wordt gefactureerd op overgedragen gegevens, verzoeken en rekenduur. Een server kost een vast maandbedrag voor het RAM, de CPU en de schijf die je kiest. Onze vergelijking laat zien hoe je met je eigen cijfers rekent.

Wat verandert er als je verhuist?

OnderwerpVercelJe server
FactureringOp gebruikVast per maand, onbeperkt verkeer, dagelijkse back-ups bij de prijs inbegrepen
LocatieWereldwijd distributienetwerkEén server, in Istanbul
VerkeerspiekenHet platform vangt ze op en de rekening groeitDe site wordt traag als de capaciteit opraakt en jij schaalt op
BuildsOp de machines van het platformOp dezelfde server, dus builds bepalen het geheugen dat je nodig hebt
OnderhoudDe taak van het platformUpdates van het besturingssysteem, pakketupdates en monitoring zijn van jou, net als root-toegang
PreviewsAutomatisch voor branchesApart ingeschakeld in Coolify
NetwerkbeveiligingVercel FirewallJe beheert de firewall van de server

Om het duidelijk te zeggen: er is één server, geen wereldwijde edge-levering en het onderhoud wordt van jou. Wie stoort dat niet? Zitten je bezoekers vooral in Turkije en omliggende landen, dan is één locatie prima. Lezen je pagina's allemaal uit één database, dan wachten antwoorden op die database, waar de code ook draait. Dashboards, interne tools en producten met voorspelbaar verkeer hebben zelden automatisch schalen nodig. Is je publiek over de hele wereld verspreid, piekt je verkeer hard of wil je nooit onderhoud doen, dan past Vercel mogelijk beter.

Bereid de nieuwe server voor

  1. Bestel via de pagina Next.js VPS. De server wordt met Coolify geleverd.
  2. Koppel de repository. De korte weg: open het project in Claude Code of Cursor, plak de rij Plak in je AI-tool van het tabblad Overzicht en de tool publiceert het. Je kunt het ook met de hand doen.
  3. Zet je Node-versie vast met engines.node in package.json.
  4. Haal je variabelen op: vercel env pull .env.move --environment=production. Geheime waarden kunnen niet worden teruggelezen, dus de CLI schrijft plaatsaanduidingen en die haal je bij hun bron. Houd het bestand buiten de repository en voer de inhoud ervan in onder Environment Variables in Coolify, met de waarden van NEXT_PUBLIC_ beschikbaar tijdens de build.
  5. Zoek naar code die bij Vercel hoort: grep -n "@vercel/" package.json en grep -rnE "VERCEL_|x-vercel-" app src. Systeemvariabelen zoals VERCEL_URL bestaan niet op je server, dus gebruik je eigen variabelen.

Next.js-functies en onderdelen van Vercel

OnderdeelOp je serverWat je doet
AfbeeldingsoptimalisatieWerkt met next start, zonder instellingenGebruikt de CPU en het geheugen van je server
ISR en cachingWerken vanzelf op één instantie met een lokale schijfMeerdere instanties moeten de cache delen en hij wordt na elke publicatie opnieuw gevuld
Middleware (Proxy in Next.js 16)Werkt met next start, zonder instellingenVerzoeken worden nu in Istanbul afgehandeld
Cronjobsvercel.json wordt niet gelezenRoep hetzelfde pad aan vanuit Scheduled Tasks in Coolify: curl -fsS -H "Authorization: Bearer $CRON_SECRET" http://localhost:3000/api/cron. Cron van Vercel draait op UTC, terwijl Coolify de tijdzone van de server gebruikt
Redirects en headersvercel.json wordt niet gelezenVerplaats ze naar next.config
Web Analytics, Speed InsightsZijn afhankelijk van routes die Vercel aan een deployment toevoegtVerwijder de componenten en gebruik een tool zoals Umami
AI GatewayAan te roepen vanaf elke serverStel AI_GATEWAY_API_KEY in

En Postgres, KV en Blob?

  • Postgres en KV: De documentatie van Vercel zegt dat deze producten zijn verdwenen en oudere databases naar Marketplace-aanbieders zijn verhuisd, dus je gegevens staan bij een aparte aanbieder achter een omgevingsvariabele. Neem die over en de app bereikt dezelfde database. Loopt de facturering via je Vercel-account, haal dan je gegevens op voordat je het sluit. Een verre database voegt die afstand toe aan elke query.
  • Verhuizen naar je server: Maak PostgreSQL aan in Coolify, exporteer met pg_dump -Fc "OLD-DATABASE-URL" --no-owner --no-privileges -f backup.dump en upload het archief met Import backup op de pagina Backups van de database. Is Redis alleen een cache, dan is leeg beginnen meestal prima.
  • Blob: BLOB_READ_WRITE_TOKEN werkt ook vanaf een andere host, dus je kunt het laten staan. Om bestanden naar je server te halen pas je de code aan en koppel je de map met Persistent Storage.

Je domein zonder downtime omzetten

  1. Test op het HTTPS-adres dat Coolify je geeft: inloggen, formulieren, betalingen, afbeeldingen en Execute now voor cron.
  2. dig NS example.com +short toont waar je records staan: op de pagina Domains van Vercel als daar de nameservers van Vercel staan, anders bij je DNS-provider.
  3. Verlaag de TTL van de records voor het hoofddomein en www, bijvoorbeeld naar 300 seconden, en wacht tot de oude TTL is verstreken.
  4. Verhuist de database ook, stop dan het schrijven en laad de laatste kopie.
  5. Laat het A-record naar het IP-adres van de server wijzen. Laat MX- en TXT-records voor e-mail met rust.
  6. Voeg het domein met https toe op de pagina Domains in Coolify en druk op Redeploy. Het certificaat wordt automatisch uitgegeven.
  7. Houd de Vercel-deployment nog een paar dagen draaiende. Bezoekers bij wie het oude record in de cache staat, komen daar terecht en je kunt het record zo nodig terugzetten.
  8. Zodra het verkeer is verhuisd, verwijder je het domein uit het Vercel-project, verbreek je de Git-koppeling met Disconnect en zet je de TTL terug.

Het certificaat wordt pas uitgegeven nadat het domein naar de server wijst, dus vroege bezoekers kunnen kort een certificaatwaarschuwing zien. Schakel over in een rustig uur.

Veelgestelde vragen

Met welke grootte begin ik?

De verkooppagina raadt minimaal 4 GB RAM, 2 vCores en 40 GB schijf aan. Een klein project werd gebouwd op 2 GB, terwijl een project met 85 pakketten bij 2 GB zonder geheugen kwam te zitten en bij 4 GB wel werd gebouwd. Je kunt opschalen vanuit je paneel.

Wat kost het per maand?

Die grootte kost ongeveer $6 per maand (inclusief btw), en buiten Turkije betaal je in Amerikaanse dollars. Het verkeer is onbeperkt.

Moet ik een domein dat ik bij Vercel heb gekocht overdragen?

Nee. De documentatie van Vercel behandelt registratie en DNS als gescheiden. Het A-record bij Vercel wijzigen is genoeg en jouw record overschrijft de standaardrecords.

Hoe werken updates na de verhuizing?

Met een webhook bouwt en publiceert git push elke versie. Gaat er een mis, dan brengt de pagina Rollback van Coolify je terug naar een eerder image.

Kan ik verhuizen zonder de database te verhuizen?

Ja, en het is de volgorde met het laagste risico. Verhuis eerst de app en later de database.

Kant-en-klaar bij Seturack: Next.js, Coolify.

Reacties0

Nog geen reacties

Deel als eerste uw gedachten.

Doe mee aan het gesprek

Meld u aan of registreer u om een reactie te plaatsen.

Mis geen enkel bericht

Ontvang onze nieuwste tutorials, handleidingen en productnieuws in uw inbox.

U bent ingeschreven voor onze nieuwsbrief.