{"id":82104,"date":"2026-06-18T08:00:00","date_gmt":"2026-06-18T15:00:00","guid":{"rendered":"https:\/\/dhblog2.dream.press\/blog\/?p=82104"},"modified":"2026-07-04T13:45:34","modified_gmt":"2026-07-04T20:45:34","slug":"hoe-n8n-op-je-eigen-server-te-gebruiken-nl","status":"publish","type":"post","link":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/","title":{"rendered":"Hoe n8n op Je Eigen Server te Gebruiken"},"content":{"rendered":"<div class=\"tldr-block\" style=\"display: none;\">\n\t<div class=\"svg\">\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 119.25 37.8\">\n\t<g>\n\t\t<g>\n\t\t\t<path fill=\"#ffffff\" d=\"M23.4,6.93h-8.1v24.57h-7.2V6.93H0V0h23.4v6.93Z\" \/>\n\t\t\t<path fill=\"#ffffff\" d=\"M45,24.57v6.93h-18.45V0h7.2v24.57h11.25Z\" \/>\n\t\t\t<path fill=\"#ffffff\"\n\t\t\t\td=\"M90.9,15.75c0,8.91-6.61,15.75-15.3,15.75h-12.6V0h12.6c8.68,0,15.3,6.84,15.3,15.75ZM83.97,15.75c0-5.4-3.42-8.82-8.37-8.82h-5.4v17.64h5.4c4.95,0,8.37-3.42,8.37-8.82Z\" \/>\n\t\t\t<path fill=\"#ffffff\"\n\t\t\t\td=\"M105.57,21.15h-3.42v10.35h-7.2V0h12.6c5.98,0,10.8,4.81,10.8,10.8,0,3.87-2.34,7.38-5.81,9.13l6.71,11.56h-7.74l-5.94-10.35ZM102.15,14.85h5.4c1.98,0,3.6-1.75,3.6-4.05s-1.62-4.05-3.6-4.05h-5.4v8.1Z\" \/>\n\t\t<\/g>\n\t\t<path\n\t\t\tfill=\"#0173ec\"\n\t\t\td=\"M53.97,37.8h-5.4l1.8-13.27h7.2l-3.6,13.27ZM49.02,12.55c0-2.34,1.93-4.27,4.27-4.27s4.27,1.94,4.27,4.27-1.93,4.27-4.27,4.27-4.27-1.94-4.27-4.27Z\"\n\t\t \/>\n\t<\/g>\n<\/svg>\n\t<\/div>\n\t<div class=\"tldr-wrap\">\n\t\t\n\n<p class=\"wp-block-paragraph\">Zelfgehoste n8n is de gratis Community-editie van het n8n-automatiseringsplatform, draaiend op een server die je zelf beheert: bij toegestaan gebruik betaal je geen licentie- of uitvoeringskosten aan n8n, maar je draait nog wel op voor de server en eventuele kosten voor een domein, back-upopslag en beheer. Het Starter-abonnement van n8n Cloud omvat 2.500 workflowuitvoeringen per maand (\u20ac20\/maand, jaarlijks gefactureerd); de zelfgehoste Community-editie hanteert geen uitvoeringsquotum.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je hebt een VPS met root-toegang nodig (4 GB RAM is een voorzichtige starttoewijzing), Docker Compose, PostgreSQL en de bereidheid om zelf verantwoordelijk te zijn voor updates en back-ups. Deze gids loopt de volledige implementatie in 11 stappen door. Wil je dat liever overslaan? DreamHost VPS Hosting heeft n8n in de bibliotheek met apps die je met \u00e9\u00e9n klik installeert, vooraf ge\u00efnstalleerd met PostgreSQL en automatische SSL.<\/p>\n\n\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Je hebt zes maanden lang gezien hoe je Zapier-rekening steeg.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Elke nieuwe workflow voegt een extra regel toe, en elke geslaagde actiestap telt als een taak. De maandelijkse factuur kost nu meer dan je projectmanagementtool.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je gaat googelen naar alternatieven en komt uit bij <strong>n8n<\/strong>, een automatiseringsplatform dat je zelf kunt hosten op je eigen virtuele priv\u00e9server (VPS), voor de prijs van een kleine server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Geen uitvoeringsquotum. Geen prijs per taak. Geen onverwachte rekeningen wanneer je automatiseringen een vlucht nemen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En ja, we begeleiden je door het hele proces, commando voor commando, van een kale Ubuntu-server tot een draaiende instantie met HTTPS, back-ups en een geteste herstelprocedure.<\/p>\n\n\n\n<h2 id=\"h-what-is-n8n-and-why-are-people-self-hosting-it\" class=\"wp-block-heading\">Wat Is n8n En Waarom Hosten Mensen Het Zelf?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">n8n is een platform voor workflowautomatisering waarmee je apps kunt verbinden, gegevens tussen diensten kunt verplaatsen en complexe automatiseringen kunt bouwen via een visuele editor. Zie het als de motor achter &#8220;wanneer X gebeurt, doe Y en Z&#8221;, alleen versleep je nodes en teken je verbindingen in plaats van code te schrijven.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1310\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow.webp\" alt=\"Workflowdiagram waarin een formulierinzending van een gebruiker een AI-agent activeert die de status van de manager controleert\" class=\"wp-image-81963 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-300x246.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-1024x838.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-768x629.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-1536x1258.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-600x491.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-1200x983.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-730x598.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-1460x1195.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-784x642.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-1568x1284.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-877x718.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1310;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Het project heeft de grens van <a target=\"_blank\" href=\"https:\/\/github.com\/n8n-io\/n8n\">200.000 GitHub-sterren<\/a> gepasseerd, en de offici\u00eble Docker-image heeft meer dan <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">100 miljoen pulls<\/a>. Op heel wat servers draait n8n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Het platform valt onder een <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/privacy-and-security\/sustainable-use-license\">Sustainable Use License<\/a>, en het loont om die te begrijpen voordat je je vastlegt. Het is geen traditionele open source (n8n gebruikt die term zelf niet, omdat door OSI goedgekeurde licenties het gebruik niet mogen beperken), maar het is ook niet dichtgetimmerd. Je mag het vrij gebruiken voor je eigen interne bedrijfsdoeleinden. Je mag geen product, dienst of module verkopen waarvan de waarde volledig of grotendeels voortkomt uit n8n-functionaliteit.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">&#8220;In de praktijk betekent dit dat elk gebruik is toegestaan, tenzij je een product, dienst of module verkoopt waarvan de waarde volledig of grotendeels voortkomt uit n8n-functionaliteit.&#8221; \u2014 <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/privacy-and-security\/sustainable-use-license\">licentie-FAQ van n8n<\/a><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Mensen <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/self-hosting\/\">hosten<\/a> n8n zelf omdat de economie omslaat zodra je voorbij het basisgebruik gaat. <a target=\"_blank\" href=\"https:\/\/n8n.io\/pricing\/\">n8n Cloud<\/a> begint bij \u20ac20\/maand (jaarlijks gefactureerd) voor 2.500 uitvoeringen op het Starter-abonnement, en als je enig serieus volume draait, loop je snel tegen die limieten aan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Op je eigen VPS? Geen uitvoeringsquotum, controle over de gegevens die je n8n-instantie opslaat, en geen licentie- of uitvoeringsrekening van n8n, al kosten je server, domein, back-upopslag en beheer nog steeds geld. De uitvoeringen zelf kosten niets extra; meer volume vraagt wel meer geheugen en opslag, maar dat is een kwestie van dimensionering (zie verderop), niet van facturering.<\/p>\n\n\n\n<h3 id=\"h-what-can-you-automate-with-n8n\" class=\"wp-block-heading\">Wat Kun Je Automatiseren Met n8n?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">De 400+ integraties van n8n bestrijken een breed scala, en door de community gebouwde nodes breiden de lijst verder uit. n8n is ook een van de vele zelfgehoste alternatieven voor SaaS-tools; dezelfde logica geldt voor alles van CRM tot projectmanagement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enkele veelvoorkomende toepassingen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CRM en lead-routing.<\/strong> Synchroniseer contacten tussen je CRM, e-mailplatform en Slack als er nieuwe leads binnenkomen.<\/li>\n\n\n\n<li><strong>Webhook-geactiveerde workflows.<\/strong> Reageer in realtime op gebeurtenissen van betalingsverwerkers, formulierinzendingen of GitHub-commits.<\/li>\n\n\n\n<li><strong>Automatisering van datapipelines.<\/strong> Haal gegevens op uit API&#8217;s, transformeer ze en zet ze volgens een schema in databases of spreadsheets.<\/li>\n\n\n\n<li><strong>AI-agentketens.<\/strong> Verbind LLM&#8217;s met je interne tools om aangepaste AI-assistenten te bouwen die je gegevens kunnen doorzoeken, samenvatten en ernaar kunnen handelen.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">(Bij die laatste beginnen je serverbronnen belangrijk te worden. Meer daarover in de sectie over specificaties.)<\/p>\n\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n\n<h2 id=\"h-how-much-does-self-hosting-n8n-cost\" class=\"wp-block-heading\">Wat Kost Het Zelf Hosten Van n8n?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Voor de zelfgehoste Community-editie betaal je bij toegestaan gebruik geen licentie- of uitvoeringskosten aan n8n. Je totale kosten omvatten de server plus eventuele kosten voor een domein, back-upopslag en beheertijd. <a target=\"_blank\" href=\"https:\/\/expresstech.io\/the-real-cost-of-self-hosting-n8n-in-2026\/\">Het kostenoverzicht 2026 van ExpressTech<\/a> schat een kale VPS met Docker op <strong>$4\u20135 per maand<\/strong>, een VPS beheerd met Coolify op $5\u20138 en beheerde n8n-platforms met installatie in \u00e9\u00e9n klik op $3\u20137.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dat zijn hostingschattingen van de externe partij ExpressTech. Een cijfer uit eigen huis: het abonnement dat we hieronder aanbevelen, DreamHost VPS Hosting Stack 4, kost bij maandelijkse facturering $8,99\/maand voor de eerste 3 maanden en wordt daarna automatisch verlengd tegen $15,99\/maand (stand augustus 2026), waarbij de volledige termijn plus belastingen bij het afrekenen in rekening wordt gebracht (actuele prijzen staan op de <a href=\"https:\/\/www.dreamhost.com\/nl\/hosting\/vps\/n8n\/\">n8n VPS-pagina<\/a>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vergelijk dat met de eigen gehoste en gelicentieerde abonnementen van n8n, zoals vermeld op de <a target=\"_blank\" href=\"https:\/\/n8n.io\/pricing\/\">prijspagina van n8n<\/a>. n8n hanteert prijzen in euro&#8217;s, en dit zijn de tarieven bij jaarlijkse facturering:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Abonnement<\/strong><\/td><td><strong>Maandelijkse kosten<\/strong><\/td><td><strong>Uitvoeringslimiet<\/strong><\/td><\/tr><tr><td>n8n Cloud Starter<\/td><td>\u20ac20\/maand<\/td><td>2.500 uitvoeringen<\/td><\/tr><tr><td>n8n Cloud Pro<\/td><td>\u20ac50\/maand<\/td><td>10.000 uitvoeringen<\/td><\/tr><tr><td>n8n Business (licentie voor zelf hosten)<\/td><td>\u20ac667\/maand<\/td><td>40.000 uitvoeringen<\/td><\/tr><tr><td>Zelfgehoste Community-editie op een VPS<\/td><td>Geen licentie- of uitvoeringskosten van n8n bij toegestaan gebruik; kosten voor VPS, domein, back-upopslag en beheer kunnen van toepassing zijn<\/td><td>Geen quotum<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Het verschil wordt groter wanneer je meeneemt hoe elk platform het gebruik telt. n8n rekent \u00e9\u00e9n uitvoering per workflowrun, &#8220;ongeacht de complexiteit&#8221;, en elk abonnement bevat onbeperkte stappen. Zapier telt daarentegen <a target=\"_blank\" href=\"https:\/\/help.zapier.com\/hc\/en-us\/articles\/8496196837261-How-is-task-usage-measured-in-Zapier\">elke geslaagde actiestap als een taak<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Een workflow met vier actiestappen die 100 keer per dag draait, is dus 3.000 n8n-uitvoeringen per maand, maar ongeveer 12.000 Zapier-taken.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Echte cijfers bevestigen dit. <a target=\"_blank\" href=\"https:\/\/expresstech.io\/the-real-cost-of-self-hosting-n8n-in-2026\/\">De analyse van ExpressTech<\/a> werkt een voorbeeld uit van vier workflows met in totaal ongeveer 7.000 uitvoeringen per maand: die belasting ontgroeit n8n Cloud Starter en vraagt om het Pro-niveau (daar vermeld voor $60\/maand bij maandelijkse facturering), terwijl een zelfgehoste opstelling van $3\u20137\/maand het zonder limieten draait, een verschil dat zij op <strong>$636\u2013684 per jaar<\/strong> schatten.<\/p>\n\n\n\n<h3 id=\"h-the-hidden-costs-of-self-hosting\" class=\"wp-block-heading\">De Verborgen Kosten Van Zelf Hosten<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">De besparingen in dollars zijn echt. Maar zelf hosten is niet in elk opzicht gratis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dit kost het je:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Jouw tijd. <\/strong>Hoeveel tijd onderhoud kost, hangt af van je workload en je ervaring met serverbeheer, maar jij bent verantwoordelijk voor updates, back-ups, monitoring en hersteltests. Zwaardere opstellingen met door AI aangedreven automatiseringen vragen meer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Gedoe bij het instellen van OAuth.<\/strong> Het verbinden van diensten zoals Google Workspace of Microsoft 365 vereist het configureren van OAuth-inloggegevens. Trek per provider extra insteltijd uit en volg de documentatie van diens console. (Als je ooit naar een laadsymbool hebt gekeken terwijl een toestemmingsscherm besluit of het je app vertrouwt, ken je het gevoel.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>TLS die je moet vertrouwen, maar wel moet controleren.<\/strong> De Caddy-proxy in de onderstaande opstelling verkrijgt en vernieuwt automatisch een publiek vertrouwd certificaat, via een uitgever zoals Let&#8217;s Encrypt of ZeroSSL. Automatisch is niet hetzelfde als onbreekbaar: controleer na wijzigingen aan DNS of de proxy of het certificaat nog steeds wordt vernieuwd.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Inwerktijd als je nieuw bent met servers.<\/strong> De onderstaande handleiding gaat ervan uit dat je via SSH verbinding kunt maken met een server, een bestand kunt bewerken en commando&#8217;s kunt uitvoeren. Heb je dat nog nooit gedaan, trek dan naast de implementatie zelf ook leertijd uit.<\/p>\n\n\n\n<h2 id=\"h-what-server-specs-does-n8n-need\" class=\"wp-block-heading\">Welke Serverspecificaties Heeft n8n Nodig?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">n8n zelf is licht. Het dichtst bij een offici\u00eble dimensionering komen de <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/deploy-as-an-oem-integration\/prerequisites\">voorbeeldwaarden in de OEM-implementatiedocumentatie van n8n<\/a>, die n8n &#8220;uitsluitend ter illustratie&#8221; noemt en die gebaseerd zijn op n8n Cloud: een geheugenbereik van 320 MB tot 2 GB, een database op SSD-opslag van 512 MB tot 4 GB en ongeveer 100 MB geheugen voor een instantie in rust. Als voorzichtige starttoewijzing, en niet als officieel minimum van n8n, kun je uitgaan van 2 GB voor testen en 4 GB zodra je PostgreSQL en productieworkflows toevoegt. Monitor representatieve workflows en voeg geheugen toe als er aanhoudende druk ontstaat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Houd er ook rekening mee dat n8n meestal eerder door geheugen dan door de CPU wordt beperkt. De eigen documentatie van n8n zegt het ronduit: het platform &#8220;is niet CPU-intensief&#8221;, en &#8220;meestal wegen de geheugenvereisten zwaarder dan de CPU-vereisten&#8221;. Wat het geheugengebruik opdrijft, zijn je workflows: datavolume, Code-nodes (die gegevens kopi\u00ebren voor en na de verwerking) en grote binaire bestanden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hier is onze snelle berekening op de achterkant van een bierviltje voor de benodigde marge:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dimensioneer op basis van het aantal gelijktijdige uitvoeringen en het datavolume dat elke workflow verwerkt, en monitor daarna het geheugengebruik onder een representatieve workload. Code-nodes en grote binaire payloads kunnen de geheugenvereisten verhogen, dus houd marge over en schaal de VPS op wanneer monitoring aanhoudende druk laat zien.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1652\" height=\"952\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6.webp\" alt=\"Grafiek met RAM-richtlijnen voor zelfgehoste n8n: ongeveer 100 MB in rust volgens het illustratieve voorbeeld van n8n, 2 GB als voorzichtige starttoewijzing voor testen, 4 GB voor productie met PostgreSQL en 8 GB voor extra ruimte\" class=\"wp-image-88705 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6.webp 1652w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-300x173.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-1024x590.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-768x443.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-1536x885.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-600x346.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-1200x692.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-730x421.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-1460x841.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-784x452.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-1568x904.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-877x505.webp 877w\" data-sizes=\"(max-width: 1652px) 100vw, 1652px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1652px; --smush-placeholder-aspect-ratio: 1652\/952;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nieuw met VPS-hosting? Begin met de <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/beginners-guide-vps\/\">beginnersgids voor VPS<\/a> van DreamHost om de basis te begrijpen voordat je je server dimensioneert.<\/p>\n\n\n\n<h2 id=\"h-which-vps-should-you-choose-for-self-hosted-n8n\" class=\"wp-block-heading\">Welke VPS Moet Je Kiezen Voor Zelfgehoste n8n?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">n8n publiceert geen vaste RAM-niveaus per workload. Dimensioneer op basis van het aantal gelijktijdige uitvoeringen en het datavolume, houd marge over voor Docker en PostgreSQL, monitor daarna representatieve workflows en schaal op wanneer de geheugendruk aanhoudt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zo zouden wij dat vertalen naar de abonnementen van DreamHost:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Abonnement<\/strong><\/td><td><strong>Specificaties<\/strong><\/td><td><strong>Wanneer kiezen<\/strong><\/td><\/tr><tr><td>DreamHost VPS Hosting Stack 4<\/td><td>4 GB RAM, 2 vCPU, 75 GB NVMe SSD<\/td><td>Een niet gebenchmarkte maar voorzichtige starttoewijzing van 4 GB voor een eerste n8n-server.<\/td><\/tr><tr><td>DreamHost VPS Hosting Stack 8<\/td><td>8 GB RAM, 2 vCPU, 150 GB NVMe SSD<\/td><td>De optie met 8 GB voor extra geheugenruimte wanneer monitoring aanhoudende druk laat zien, met twee keer zoveel RAM en opslag.<\/td><\/tr><tr><td>DreamHost VPS Hosting Stack 16<\/td><td>16 GB RAM, 4 vCPU, 250 GB NVMe SSD<\/td><td>De optie met 16 GB voor extra gelijktijdigheid, grotere datavolumes of het toevoegen van Redis-workers in queue-modus.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Een paar specificaties die naast RAM aandacht verdienen: n8n noemt SSD-opslag een best practice voor databases. De geheugenbehoefte weegt meestal zwaarder dan de CPU-behoefte, maar de werkelijke bottleneck hangt af van het aantal gelijktijdige workflows, het datavolume en de nodes die je gebruikt. Onbeperkte bandbreedte is belangrijk als je workloads draait die veel webhooks gebruiken, met een constante stroom binnenkomende HTTP-verzoeken.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kies een hostingomgeving waarin je Docker kunt draaien en de database, het netwerk, persistente opslag en de reverse proxy kunt configureren. Conventionele <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/shared-vs-vps-hosting\/\">shared hosting<\/a> biedt dat niveau van controle doorgaans niet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/nl\/hosting\/vps\/\">VPS Hosting<\/a>-abonnementen van DreamHost voldoen aan alle essenti\u00eble punten (NVMe SSD-opslag, onbeperkte bandbreedte, volledige root-toegang en Docker-ondersteuning), en <a href=\"https:\/\/www.dreamhost.com\/nl\/hosting\/vps\/n8n\/\">n8n staat in de bibliotheek met apps die je met \u00e9\u00e9n klik installeert<\/a>, vooraf ge\u00efnstalleerd met PostgreSQL en automatische SSL, als je de onderstaande handmatige installatie liever overslaat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Onze keuze voor een eerste n8n-server is Stack 4. Per augustus 2026 kost die bij maandelijkse facturering $8,99\/maand voor de eerste 3 maanden en wordt hij automatisch verlengd tegen $15,99\/maand, waarbij de volledige termijn plus belastingen bij het afrekenen in rekening wordt gebracht; de <a href=\"https:\/\/www.dreamhost.com\/nl\/hosting\/vps\/n8n\/\">n8n VPS-pagina<\/a> toont altijd de actuele tarieven. Die verlengingsprijs is het eerlijke bedrag om te vergelijken met de \u20ac20\/maand van n8n Cloud Starter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Oh, en \u00e9\u00e9n ding om in je achterhoofd te houden voor later: <strong>naarmate je gebruik groeit, ondersteunt n8n de queue-modus<\/strong>, een schaalarchitectuur die de hoofdinstantie (UI, triggers, webhooks) scheidt van de workflowuitvoering, met Redis als message broker en worker-instanties die de jobs uitvoeren. <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/scaling\/enable-queue-mode\">De documentatie van n8n<\/a> noemt het de modus die &#8220;de beste schaalbaarheid biedt&#8221;.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-set-up-n8n-on-a-vps\" class=\"wp-block-heading\">Hoe Installeer Je n8n Op Een VPS?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Het implementeren van een zelfgehoste n8n-instantie kost 11 stappen: DNS, SSH-beveiliging, een firewall, <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/what-is-docker\/\">Docker<\/a>, secrets, een Compose-bestand voor de stack van drie containers (n8n, PostgreSQL en Caddy), de Caddyfile, starten en controleren, updates, back-ups en een hersteltest. Caddy is onze reverse proxy: de server die tussen het internet en je applicatie zit en TLS en routing afhandelt. We geven de commando&#8217;s voor de kernimplementatie en een handmatige back-up- en hersteltest.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1200\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_.webp\" alt=\"Architectuurdiagram van een zelfgehoste n8n-opstelling met database en n8n-app\" class=\"wp-image-81965 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-300x225.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-1024x768.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-768x576.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-1536x1152.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-600x450.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-1200x900.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-730x548.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-1460x1095.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-784x588.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-1568x1176.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-877x658.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1200;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">De commando&#8217;s zijn bedoeld voor Ubuntu 22.04 of nieuwer, maar vervang het voorbeelddomein, de geheime waarden, de volumenaam en de gedateerde bestandsnamen van back-ups waar aangegeven. De <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/install-options\/use-a-cloud-provider\/use-docker-compose\">Docker Compose-documentatie van n8n<\/a> behandelt hetzelfde met een Traefik-proxy, als je liever het eigen sjabloon van n8n volgt.<\/p>\n\n\n\n<h3 id=\"h-what-you-will-need-before-you-start\" class=\"wp-block-heading\">Wat Je Nodig Hebt Voordat Je Begint<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Een VPS met root-toegang<\/strong> die draait op Ubuntu 22.04 of nieuwer, met minstens 2 GB RAM (4 GB is onze voorzichtige aanbeveling voor productie)<\/li>\n\n\n\n<li><strong>Een domeinnaam<\/strong> die je naar het IP-adres van je server kunt laten verwijzen (voor TLS en toegang tot de n8n-editor)<\/li>\n\n\n\n<li><strong>Basiskennis van de terminal <\/strong>\u2014 je moet weten hoe je via SSH verbinding maakt met een server, een bestand bewerkt en commando&#8217;s uitvoert<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Nog een voorwaarde die op geen enkele offici\u00eble lijst staat: <strong>maak een back-up van je <code>N8N_ENCRYPTION_KEY<\/code> op het moment dat je hem genereert.<\/strong> Daarom maak je de sleutel in stap 5 aan met <code>openssl rand -hex 32<\/code> v\u00f3\u00f3r de eerste start, in plaats van n8n er stilletjes zelf een te laten genereren. Deze sleutel versleutelt al je opgeslagen inloggegevens, inclusief elke API-sleutel, OAuth-token en elk databasewachtwoord dat je hebt gekoppeld. De <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">eigen Docker-documentatie<\/a> van n8n waarschuwt dat als de sleutel bij het opstarten niet gevonden wordt, n8n een nieuwe aanmaakt en bestaande inloggegevens niet meer ontsleuteld kunnen worden \u2014 wat betekent dat je elke integratie vanaf nul opnieuw opbouwt (en spijt krijgt van je levenskeuzes). Bewaar hem ergens veilig, apart van je databaseback-ups.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Als je provider je alleen een root-login heeft gegeven, maak dan eerst een implementatiegebruiker aan, via de console van de provider of een SSH-sessie als root, voordat je de lokale SSH-commando&#8217;s in stap 2 uitvoert:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>adduser deploy\nusermod -aG sudo deploy<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Alles hieronder draait als die gebruiker, met <code>sudo<\/code> waar nodig.<\/p>\n\n\n\n<h3 id=\"h-step-1-point-your-domain-at-the-server\" class=\"wp-block-heading\">Stap 1: Laat Je Domein Naar De Server Verwijzen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Maak een DNS A-record aan voor een apart subdomein (<code>n8n.example.com<\/code> in deze hele gids) dat naar het IP-adres van je server verwijst, precies zoals de <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/install-options\/use-a-cloud-provider\/use-docker-compose\">Docker Compose-gids van n8n<\/a> beschrijft. Doe dit eerst: als DNS nog niet is doorgevoerd, kan Caddy geen certificaat verkrijgen en toont je browser mogelijk een beveiligingsfout in plaats van de n8n-editor.<\/p>\n\n\n\n<h3 id=\"h-step-2-harden-ssh-access\" class=\"wp-block-heading\">Stap 2: Beveilig De SSH-Toegang<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Genereer op je <em>lokale<\/em> computer een sleutelpaar (de <a target=\"_blank\" href=\"https:\/\/ubuntu.com\/server\/docs\/how-to\/security\/openssh-server\/\">OpenSSH-documentatie<\/a> van Ubuntu raadt ed25519 aan) en kopieer het naar de server:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-keygen -t ed25519\nssh-copy-id deploy@your_server_ip<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Controleer of je met de sleutel kunt inloggen. Schakel daarna op de server inloggen met wachtwoord en als root uit, en controleer wat sshd daadwerkelijk zal afdwingen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/ssh\/sshd_config.d\/00-hardening.conf &gt; \/dev\/null &lt;&lt;'EOF'\nPasswordAuthentication no\nPermitRootLogin no\nEOF\nsudo sshd -t\nsudo sshd -T | grep -E '^(passwordauthentication|permitrootlogin) '<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Het voorvoegsel <code>00-<\/code> is bewust gekozen. Volgens de <a target=\"_blank\" href=\"https:\/\/man.openbsd.org\/sshd_config\">sshd_config-handleiding<\/a> gebruikt OpenSSH voor elk sleutelwoord de <em>eerste<\/em> waarde die het leest, en images van cloudservers leveren vaak eerdere drop-ins mee in dezelfde map (cloud-init schrijft bijvoorbeeld zijn SSH-instellingen naar <code>50-cloud-init.conf<\/code>). Noem je je bestand <code>99-hardening.conf<\/code>, dan kan een van die snippets ongemerkt winnen. <code>sshd -t<\/code> controleert de configuratie op fouten; <code>sshd -T<\/code> toont de effectieve instellingen nadat alle bestanden zijn samengevoegd. Controleer of het laatste commando <code>passwordauthentication no<\/code> en <code>permitrootlogin no<\/code> weergeeft voordat je verdergaat. Herstart sshd daarna:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart ssh.service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">De documentatie van Ubuntu waarschuwt dat een foute sshd-configuratie op een externe server je kan buitensluiten. Houd je huidige sessie open en test een nieuwe login in een tweede terminal voordat je iets sluit.<\/p>\n\n\n\n<h3 id=\"h-step-3-turn-on-the-firewall\" class=\"wp-block-heading\">Stap 3: Zet De Firewall Aan<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu levert UFW (Uncomplicated Firewall) standaard uitgeschakeld. Sta SSH toe <em>voordat<\/em> je hem inschakelt, zodat de firewall je eigen sessie niet kan afbreken:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 22\/tcp\nsudo ufw allow 80\/tcp\nsudo ufw allow 443\/tcp\nsudo ufw --force enable\nsudo ufw status<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Drie poorten, verder niets. E\u00e9n Docker-specifieke waarschuwing uit de <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/install\/ubuntu\/\">eigen installatiedocumentatie van Docker<\/a>: poorten die Docker op de host publiceert, omzeilen UFW-regels volledig. Daarom publiceert het Compose-bestand in stap 6 alleen hostpoorten voor Caddy: 80 en 443 zijn de enige containerpoorten die Compose publiceert (SSH op 22 staat ook open), en n8n en PostgreSQL krijgen helemaal geen gepubliceerde hostpoorten.<\/p>\n\n\n\n<h3 id=\"h-step-4-install-docker-and-docker-compose\" class=\"wp-block-heading\">Stap 4: Installeer Docker En Docker Compose<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Installeer Docker Engine vanuit de offici\u00eble apt-repository van Docker, niet met het gemaksscript <code>get.docker.com<\/code>, dat de documentatie van Docker alleen aanraadt voor testen en ontwikkeling. Eerst de vereisten en de ondertekeningssleutel van Docker:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install ca-certificates curl\nsudo install -m 0755 -d \/etc\/apt\/keyrings\nsudo curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg -o \/etc\/apt\/keyrings\/docker.asc\nsudo chmod a+r \/etc\/apt\/keyrings\/docker.asc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Registreer vervolgens de repository zelf. Dit schrijft het repositorybestand uit de <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/install\/ubuntu\/\">Ubuntu-installatiegids van Docker<\/a> en vult je Ubuntu-release automatisch in:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/apt\/sources.list.d\/docker.sources &gt; \/dev\/null &lt;&lt;EOF\nTypes: deb\nURIs: https:\/\/download.docker.com\/linux\/ubuntu\nSuites: $(. \/etc\/os-release &amp;&amp; echo \"${UBUNTU_CODENAME:-$VERSION_CODENAME}\")\nComponents: stable\nSigned-By: \/etc\/apt\/keyrings\/docker.asc\nEOF<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Installeer en controleer dan:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\nsudo docker run hello-world<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Als <code>hello-world<\/code> zijn bevestigingsbericht toont, zijn Docker en de Compose-plugin klaar voor gebruik.<\/p>\n\n\n\n<h3 id=\"h-step-5-create-the-project-directory-and-secrets\" class=\"wp-block-heading\">Stap 5: Maak De Projectmap En De Secrets Aan<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Maak de projectmap aan en genereer daarna je versleutelingssleutel \u2014 laat n8n er bij de eerste start niet stilletjes zelf een verzinnen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/opt\/n8n-compose\ncd \/opt\/n8n-compose\nopenssl rand -hex 32<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Kopieer de uitvoer nu meteen naar een veilige plek \u2014 buiten de server. Zet hem daarna, samen met een sterk databasewachtwoord, in een beveiligd <code>.env<\/code>-bestand naast je compose-bestand (Docker Compose leest het automatisch). Vervang beide placeholderwaarden door je eigen waarden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/opt\/n8n-compose\/.env &gt; \/dev\/null &lt;&lt;'EOF'\nPOSTGRES_PASSWORD=choose_a_strong_password\nN8N_ENCRYPTION_KEY=paste_the_64_character_key_you_just_generated\nEOF\nsudo chmod 600 \/opt\/n8n-compose\/.env<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">De <code>chmod 600<\/code> is belangrijk: dit bestand bevat secrets, dus alleen de eigenaar (root) mag het kunnen lezen. In het compose-bestand past <code>N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true<\/code> hetzelfde idee toe binnen de container: volgens de <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/basic-configuration\/use-environment-variables\/security\">referentie van beveiligingsvariabelen van n8n<\/a> laat dit n8n proberen de rechten 0600 in te stellen op zijn eigen instellingenbestand.<\/p>\n\n\n\n<h3 id=\"h-step-6-write-the-docker-compose-file\" class=\"wp-block-heading\">Stap 6: Schrijf Het Docker Compose-Bestand<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Maak <code>\/opt\/n8n-compose\/docker-compose.yml<\/code> aan (bijvoorbeeld met <code>sudo nano \/opt\/n8n-compose\/docker-compose.yml<\/code>) en plak het volgende erin, waarbij je in beide URL-regels <code>n8n.example.com<\/code> vervangt door je eigen domein en je tijdzone instelt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  caddy:\n    image: caddy:2\n    restart: unless-stopped\n    ports:\n      - \"80:80\"\n      - \"443:443\"\n    volumes:\n      - .\/Caddyfile:\/etc\/caddy\/Caddyfile\n      - caddy_data:\/data\n      - caddy_config:\/config\n\n  n8n:\n    image: docker.n8n.io\/n8nio\/n8n:2.36.7\n    restart: unless-stopped\n    expose:\n      - \"5678\"\n    environment:\n      - DB_TYPE=postgresdb\n      - DB_POSTGRESDB_HOST=postgres\n      - DB_POSTGRESDB_DATABASE=n8n\n      - DB_POSTGRESDB_USER=n8n\n      - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}\n      - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}\n      - N8N_HOST=n8n.example.com\n      - N8N_PORT=5678\n      - N8N_PROTOCOL=https\n      - N8N_WEBHOOK_URL=https:\/\/n8n.example.com\/\n      - N8N_PROXY_HOPS=1\n      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true\n      - GENERIC_TIMEZONE=America\/New_York\n      - TZ=America\/New_York\n      - EXECUTIONS_DATA_MAX_AGE=168\n    depends_on:\n      postgres:\n        condition: service_healthy\n    volumes:\n      - n8n_data:\/home\/node\/.n8n\n\n  postgres:\n    image: postgres:18\n    restart: unless-stopped\n    environment:\n      - POSTGRES_USER=n8n\n      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}\n      - POSTGRES_DB=n8n\n      - PGDATA=\/var\/lib\/postgresql\/data\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U n8n -d n8n\"]\n      interval: 5s\n      timeout: 5s\n      retries: 10\n    volumes:\n      - postgres_data:\/var\/lib\/postgresql\/data\n\nvolumes:\n  caddy_data:\n  caddy_config:\n  n8n_data:\n  postgres_data:<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Vijf details hierin bewijzen hun waarde:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>De image is vastgepind op een specifieke versie<\/strong> (2.36.7 is op het moment van schrijven de huidige stabiele release, volgens de <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/install-options\/use-a-cloud-provider\/use-docker-compose\">installatiedocumentatie van n8n<\/a>), zodat upgrades alleen plaatsvinden wanneer jij dat besluit.<\/li>\n\n\n\n<li><strong>n8n publiceert geen hostpoort.<\/strong> Het is bereikbaar voor containers op het Compose-netwerk, waaronder Caddy, maar niet via een gepubliceerde hostpoort, zodat de editor alleen via de reverse proxy bereikbaar is, nooit rechtstreeks vanaf het internet.<\/li>\n\n\n\n<li><strong>De healthcheck laat n8n wachten op PostgreSQL.<\/strong> Een kale <code>depends_on<\/code> wacht alleen tot de container start, niet tot de database verbindingen accepteert. Het patroon <code>condition: service_healthy<\/code> komt rechtstreeks uit <a target=\"_blank\" href=\"https:\/\/github.com\/n8n-io\/n8n-hosting\">het eigen voorbeeld-compose-bestand voor Postgres van n8n<\/a>, dat ook PostgreSQL 18 implementeert.<\/li>\n\n\n\n<li><strong>Het paar <code>N8N_WEBHOOK_URL<\/code> \/ <code>N8N_PROXY_HOPS<\/code> is belangrijk achter een proxy.<\/strong> n8n bouwt webhook-URL&#8217;s normaal op uit zijn protocol, host en poort, en volgens <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/basic-configuration\/configuration-examples\/configure-webhook-urls-with-reverse-proxy\">de documentatie van n8n<\/a> werkt dat niet achter een reverse proxy. Daarom stel je de webhook-URL handmatig in, zodat n8n &#8220;de juiste webhook-URL&#8217;s bij externe diensten kan registreren&#8221;, zet je <code>N8N_PROXY_HOPS<\/code> op 1 en zorg je ervoor dat de proxy de headers X-Forwarded-For, X-Forwarded-Host en X-Forwarded-Proto doorgeeft. (Dezelfde pagina vermeldt dat <code>N8N_WEBHOOK_URL<\/code> de oudere <code>WEBHOOK_URL<\/code> vervangt, die vanaf n8n 2.35.0 verouderd is.)<\/li>\n\n\n\n<li><strong><code>TZ<\/code> en <code>GENERIC_TIMEZONE<\/code> hebben verschillende taken.<\/strong> Volgens de <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">Docker-documentatie van n8n<\/a> stuurt <code>GENERIC_TIMEZONE<\/code> planningsnodes zoals Schedule aan, terwijl <code>TZ<\/code> de systeemtijdzone van de container instelt (wat commando&#8217;s zoals <code>date<\/code> rapporteren). Stel beide in op dezelfde waarde.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">(Begin vanaf dag \u00e9\u00e9n met PostgreSQL. n8n gebruikt standaard SQLite, wat werkt voor testen, maar de hostingsjablonen van n8n raden PostgreSQL aan voor productie, en later migreren is pijnlijk op de manier van &#8220;had ik dit maar meteen goed gedaan&#8221;.)<\/p>\n\n\n\n<h3 id=\"h-step-7-write-the-caddyfile\" class=\"wp-block-heading\">Stap 7: Schrijf De Caddyfile<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Maak <code>\/opt\/n8n-compose\/Caddyfile<\/code> aan met je domein (vervang ook hier <code>n8n.example.com<\/code>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>n8n.example.com {\n    reverse_proxy n8n:5678\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dat is de volledige reverse-proxyconfiguratie. Volgens de <a target=\"_blank\" href=\"https:\/\/caddyserver.com\/docs\/automatic-https\">documentatie over automatische HTTPS van Caddy<\/a> verkrijgt en vernieuwt Caddy automatisch een publiek vertrouwd certificaat, via een uitgever zoals Let&#8217;s Encrypt of ZeroSSL, en stuurt het HTTP door naar HTTPS, op voorwaarde dat je DNS A-record naar de server verwijst en de poorten 80 en 443 openstaan (stappen 1 en 3). Caddy is ook een van de reverse proxy&#8217;s in de <a target=\"_blank\" href=\"https:\/\/github.com\/n8n-io\/n8n-hosting\">offici\u00eble hostingvoorbeelden van n8n<\/a>.<\/p>\n\n\n\n<h3 id=\"h-step-8-launch-and-verify\" class=\"wp-block-heading\">Stap 8: Starten En Controleren<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/opt\/n8n-compose\nsudo docker compose up -d\nsudo docker compose ps<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Wacht tot <code>ps<\/code> de postgres-container als healthy en n8n als actief toont, en controleer dan vanaf een willekeurige computer de voordeur:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -fsS -o \/dev\/null -w '%{http_code}' https:\/\/n8n.example.com\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Een 2xx-code (of een 3xx-redirect) betekent dat Caddy TLS heeft afgehandeld en n8n heeft geantwoord; stopt <code>curl<\/code> in plaats daarvan met een fout, kijk dan naar DNS, het certificaat of de containers (<code>sudo docker compose logs caddy<\/code> en <code>sudo docker compose logs n8n<\/code> zijn de eerste plekken om te controleren). Open <code>https:\/\/n8n.example.com<\/code> in een browser en maak je owner-account aan.<\/p>\n\n\n\n<h3 id=\"h-step-9-update-n8n-deliberately\" class=\"wp-block-heading\">Stap 9: Update n8n Weloverwogen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">n8n brengt bijna elke week een nieuwe minor-versie uit, en de <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">update-instructies<\/a> zeggen dat je v\u00f3\u00f3r het upgraden de changelog met breaking changes moet bekijken. Als je er klaar voor bent: wijzig de versietag in <code>docker-compose.yml<\/code> en voer dan uit:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/opt\/n8n-compose\nsudo docker compose pull\nsudo docker compose up -d<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Met een vastgepinde tag verandert een pull op zichzelf niets: je kiest elke upgrade zelf door de tag te wijzigen, en dat is precies het doel van vastpinnen. Maak een back-up (stap 10) v\u00f3\u00f3r grote versie-updates.<\/p>\n\n\n\n<h3 id=\"h-step-10-schedule-backups\" class=\"wp-block-heading\">Stap 10: Plan Back-ups In<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Voor een bruikbaar herstel zijn drie dingen nodig: de PostgreSQL-database, het <code>n8n_data<\/code>-volume en het <code>.env<\/code>-bestand dat <code>N8N_ENCRYPTION_KEY<\/code> levert. De <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">Docker-documentatie<\/a> van n8n zegt expliciet dat zelfs wanneer je PostgreSQL gebruikt, de map <code>\/home\/node\/.n8n<\/code> (ons <code>n8n_data<\/code>-volume) nog steeds essenti\u00eble gegevens bevat, waaronder het sleutelmateriaal voor de versleuteling. Maak van alle drie een back-up en bewaar <code>docker-compose.yml<\/code> en <code>Caddyfile<\/code> zodat je de stack kunt reconstrueren. Het onderstaande script regelt de database en het volume; het kopi\u00ebren van de configuratiebestanden naar buiten de host volgt direct daarna. Maak het script aan als bestand dat eigendom is van root:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/opt\/n8n-compose\/backup.sh &gt; \/dev\/null &lt;&lt;'EOF'\n#!\/bin\/bash\nset -euo pipefail\ncd \/opt\/n8n-compose\nSTAMP=$(date +%Y-%m-%d)\nmkdir -p \/opt\/n8n-backups\ndocker compose exec -T postgres pg_dump -U n8n -d n8n &gt; \"\/opt\/n8n-backups\/n8n-db-${STAMP}.sql\"\ndocker run --rm -v n8n-compose_n8n_data:\/data -v \/opt\/n8n-backups:\/backup alpine \\\n  tar czf \"\/backup\/n8n-data-${STAMP}.tar.gz\" -C \/data .\nfind \/opt\/n8n-backups -name 'n8n-db-*.sql' -mtime +30 -delete\nfind \/opt\/n8n-backups -name 'n8n-data-*.tar.gz' -mtime +30 -delete\nEOF\nsudo chmod 700 \/opt\/n8n-compose\/backup.sh\nsudo \/opt\/n8n-compose\/backup.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Opmerkingen bij het script: <code>n8n-compose_n8n_data<\/code> is de volumenaam die Compose aanmaakt voor een projectmap met de naam <code>n8n-compose<\/code>; controleer de jouwe met <code>sudo docker volume ls<\/code> en pas hem aan als die afwijkt. De twee <code>find<\/code>-regels bewaren back-ups 30 dagen; stel een andere bewaartermijn in die past bij je opslag- en herstelbehoeften.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Plan het in via de crontab van root. De cron van root mag uitsluitend een script uitvoeren dat eigendom is van root (<code>chmod 700<\/code>, met de <code>.env<\/code> op <code>600<\/code>), nooit een bestand dat een andere gebruiker kan bewerken. Voer <code>sudo crontab -e<\/code> uit en voeg \u00e9\u00e9n regel toe voor een dagelijkse run om 3 uur &#8216;s nachts:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>0 3 * * * \/opt\/n8n-compose\/backup.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Het script maakt volgens een schema een back-up van de PostgreSQL-database en het <code>n8n_data<\/code>-volume. Kopieer de <code>.env<\/code> (die je versleutelingssleutel bevat), het Compose-bestand en het Caddy-bestand nu en bij elke wijziging naar buiten de host. Maak op de server een tijdelijk beveiligd archief aan:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tar -C \/opt\/n8n-compose -czf \/home\/deploy\/n8n-config.tar.gz .env docker-compose.yml Caddyfile\nsudo chown deploy:deploy \/home\/deploy\/n8n-config.tar.gz\nchmod 600 \/home\/deploy\/n8n-config.tar.gz<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Haal daarna vanaf je lokale computer het configuratiearchief samen met de back-ups binnen, en verwijder de tijdelijke kopie op de server:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>scp deploy@your_server_ip:\/home\/deploy\/n8n-config.tar.gz .\nscp -r deploy@your_server_ip:\/opt\/n8n-backups .\nssh deploy@your_server_ip 'rm \/home\/deploy\/n8n-config.tar.gz'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Een back-up die alleen bestaat op de server die hij beschermt, verdwijnt samen met die server.<\/p>\n\n\n\n<h3 id=\"h-step-11-test-a-restore-on-a-scratch-vps\" class=\"wp-block-heading\">Stap 11: Test Een Herstel Op Een Test-VPS<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dit is een back-up- en herstelprocedure waarmee je kunt controleren of je back-ups bruikbaar zijn. Test dit herstel op een nieuwe test-VPS \u2014 nooit op je productieserver. Richt een wegwerpserver in, herhaal daar stap 4 (Docker), en kopieer je projectbestanden (<code>docker-compose.yml<\/code>, <code>Caddyfile<\/code>, <code>.env<\/code>) en je meest recente gedateerde back-ups naar dezelfde paden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wissel eerst de hostnaam: zet een testhostnaam (bijvoorbeeld <code>n8n-restore-test.example.com<\/code>, met een A-record dat naar de test-VPS verwijst) in <code>N8N_HOST<\/code>, <code>N8N_WEBHOOK_URL<\/code> en de Caddyfile. Voer daarna het volgende uit, waarbij je de gedateerde bestandsnamen vervangt door je eigen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/opt\/n8n-compose\nsudo docker compose create\nsudo docker run --rm -v n8n-compose_n8n_data:\/data -v \/opt\/n8n-backups:\/backup alpine \\\n  sh -c \"cd \/data &amp;&amp; tar xzf \/backup\/n8n-data-2026-08-25.tar.gz\"\nsudo docker compose up -d --wait postgres\nsudo docker compose exec -T postgres psql -U n8n -d n8n &lt; \/opt\/n8n-backups\/n8n-db-2026-08-25.sql\nsudo docker compose run --rm n8n unpublish:workflow --all\nsudo docker compose up -d<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">De regel <code>unpublish:workflow --all<\/code> gebruikt de <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/use-the-command-line\">ingebouwde Server CLI van n8n<\/a> om elke herstelde workflow te depubliceren voordat de instantie start, zodat herstelde schema&#8217;s en triggers vanaf de testmachine niet afgaan op je productiesystemen. Sluit af met dezelfde <code>curl<\/code>-controle als in stap 8, tegen de testhostnaam.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wees eerlijk tegenover jezelf over wat een groen vinkje betekent: het bevestigt dat de database en het volume zijn hersteld en dat de stack netjes opstart. Het test je workflows niet via de editor, dus log in op de testinstantie en controleer steekproefsgewijs de workflows die je niet kwijt mag raken.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-keep-a-self-hosted-n8n-instance-secure\" class=\"wp-block-heading\">Hoe Houd Je Een Zelfgehoste n8n-Instantie Veilig?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Een zelfgehoste n8n-instantie is net zo veilig als de server waarop hij draait, en jij bent degene die die server beheert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beveiliging draait om zes dingen. Geen ervan is op zichzelf ingewikkeld, maar als je er een overslaat, ontstaat er een echt gat. De opstelling hierboven implementeert de eerste drie al.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>HTTPS via een reverse proxy.<\/strong> Open de n8n-editor nooit via gewone HTTP. De Caddy-configuratie in stap 7 verkrijgt en vernieuwt automatisch een publiek vertrouwd certificaat, via een uitgever zoals Let&#8217;s Encrypt of ZeroSSL, en stuurt HTTP door naar HTTPS.<\/li>\n\n\n\n<li><strong>Firewall-lockdown.<\/strong> UFW staat alleen SSH (22), HTTP (80) en HTTPS (443) toe. Stel de standaardpoort 5678 van n8n <em>nooit<\/em> rechtstreeks bloot aan het internet. Het compose-bestand hierboven dwingt dit af door n8n geen gepubliceerde hostpoort te geven, zodat alleen containers op het Compose-netwerk het kunnen bereiken.<\/li>\n\n\n\n<li><strong>Docker-netwerkisolatie.<\/strong> PostgreSQL en n8n communiceren via het interne Compose-netwerk. Je databasepoort wordt nooit op de host gepubliceerd en is dus nooit van buitenaf bereikbaar.<\/li>\n\n\n\n<li><strong>Sterke authenticatie.<\/strong> Gebruik een sterk owner-wachtwoord en schakel tweefactorauthenticatie in; de <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/security\">beveiligingsgids<\/a> van n8n noemt 2FA als een van de aanbevolen beschermingsmaatregelen voor zelfgehoste instanties.<\/li>\n\n\n\n<li><strong>Regelmatige updates.<\/strong> Wijzig de versietag in je compose-bestand, en doe dan een pull en herstart (stap 9). Lees eerst de changelog, want updates van n8n kunnen breaking changes bevatten.<\/li>\n\n\n\n<li><strong>Back-ups die je echt hebt teruggezet.<\/strong> Stappen 10 en 11 geven je het schema en de test. Een back-up die je nooit hebt getest, berust op <em>hoop<\/em>, niet op een plan.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Nog iets om op te letten dat niet strikt met beveiliging te maken heeft, maar wel een groot verschil maakt. n8n slaat standaard de invoer en uitvoer van elke uitvoering op in zijn database. <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/scaling\/manage-execution-data\">Opschonen staat standaard aan<\/a>: n8n verwijdert uitvoeringen die ouder zijn dan 336 uur (14 dagen), of zodra je de 10.000 opgeslagen uitvoeringen passeert. Een drukke instantie kan PostgreSQL in de tussentijd toch laten opzwellen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Als je workflows veel data produceren, maak het dan strenger: stel <code>EXECUTIONS_DATA_MAX_AGE=168<\/code> in om uitvoeringsgegevens ouder dan zeven dagen op te schonen (het compose-bestand hierboven doet dat al), of sla geslaagde runs helemaal niet op met <code>EXECUTIONS_DATA_SAVE_ON_SUCCESS=none<\/code>.<\/p>\n\n\n\n<h2 id=\"h-what-are-the-trade-offs-of-self-hosting-vs-n8n-cloud\" class=\"wp-block-heading\">Wat Zijn De Afwegingen Tussen Zelf Hosten En n8n Cloud?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zelf n8n hosten geeft je een instantie zonder uitvoeringsquotum en met controle over de gegevens die hij opslaat, voor de kosten van een kleine VPS plus je eigen beheer. n8n Cloud geeft je nul serveronderhoud, met uitvoeringslimieten per niveau. De keuze hangt af van of je je automatiseringsinfrastructuur zelf wilt bezitten of iemand anders wilt betalen om hem te draaien.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/install-options\/use-a-cloud-provider\/use-docker-compose\">n8n-documentatie zegt het<\/a> zo: &#8220;n8n raadt zelf hosten aan voor ervaren gebruikers. Fouten kunnen leiden tot gegevensverlies, beveiligingsproblemen en downtime. Als je geen ervaring hebt met het beheren van servers, raadt n8n n8n Cloud aan.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zo verhouden de twee opties zich tot elkaar:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Factor<\/strong><\/td><td><strong>Zelfgehost<\/strong><\/td><td><strong>n8n Cloud<\/strong><\/td><\/tr><tr><td>Maandelijkse kosten<\/td><td>Je VPS-rekening plus eventuele kosten voor domein, back-upopslag en beheer (DreamHost Stack 4: $8,99\/maand gedurende 3 maanden, daarna $15,99\/maand, stand augustus 2026; schattingen van de externe partij ExpressTech voor 2026: $4\u20138\/maand)<\/td><td>\u20ac20\u201350 (jaarlijks gefactureerd), per niveau<\/td><\/tr><tr><td>Uitvoeringen<\/td><td>Geen quotum; de capaciteit hangt af van de resources van je server<\/td><td>2.500 (Starter) of 10.000 (Pro)<\/td><\/tr><tr><td>Installatie<\/td><td>De handleiding in 11 stappen hierboven<\/td><td>Minuten<\/td><\/tr><tr><td>Onderhoud<\/td><td>Updates, back-ups en monitoring liggen bij jou<\/td><td>Geregeld door n8n<\/td><\/tr><tr><td>Datalocatie<\/td><td>Jouw server<\/td><td>Infrastructuur van n8n<\/td><\/tr><tr><td>Updates<\/td><td>Handmatig (tag wijzigen, pull, herstart)<\/td><td>Automatisch<\/td><\/tr><tr><td>TLS<\/td><td>Caddy verkrijgt en vernieuwt certificaten automatisch (uitgever zoals Let&#8217;s Encrypt of ZeroSSL)<\/td><td>Wordt voor je geregeld<\/td><\/tr><tr><td>Schalen<\/td><td>Voeg RAM toe, of gebruik queue-modus met Redis-workers<\/td><td>Upgrade naar een hoger abonnementsniveau<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Er is ook een middenweg die de moeite waard is om te kennen. <\/strong>Beheerde platforms zoals PikaPods (ongeveer $3,80\/maand) en Elestio (ongeveer $17\/maand, volgens de <a target=\"_blank\" href=\"https:\/\/expresstech.io\/the-real-cost-of-self-hosting-n8n-in-2026\/\">vergelijking van ExpressTech<\/a>) draaien zelfgehoste n8n zonder dat je zelf de server hoeft te beheren. Deze diensten kunnen het serverbeheer verminderen, maar controleer wel wie de updates, back-ups, monitoring en beveiliging van n8n afhandelt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Maar hier is het grotere plaatje. Bij elk gehost abonnement is je uitvoeringscapaciteit een factureringsniveau, en het platform bepaalt de niveaus. Prijzen, quota en functies kunnen veranderen rond workflows die je al hebt gebouwd.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Met zelf hosten staan de instantie en de gegevens die hij opslaat op infrastructuur die <em>jij<\/em> beheert (verbonden diensten ontvangen nog steeds alles wat je workflows naar ze sturen). Volledige controle, volledige verantwoordelijkheid.<\/p>\n\n\n\n<h2 id=\"h-making-the-final-call\" class=\"wp-block-heading\">De Definitieve Beslissing Nemen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zelf hosten is zinvol wanneer drie dingen samenvallen:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Je draait zoveel automatiseringen dat uitvoeringslimieten in de cloud zouden knellen<\/li>\n\n\n\n<li>Je wilt je workflowgegevens op infrastructuur die je zelf beheert<\/li>\n\n\n\n<li>Jij (of iemand in je team) bent bereid verantwoordelijkheid te nemen voor updates, back-ups en monitoring<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Anders is n8n Cloud een redelijke keuze. Betalen voor het Starter-abonnement om nooit aan Docker-logs te hoeven denken, is een eerlijke ruil, vooral voor een klein team dat gewoon wil dat zijn automatiseringen draaien.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Maar zodra je klaar bent om de drempel naar zelf hosten over te gaan, wordt de rekensom snel doorslaggevend. Een VPS met 4 GB is een praktisch, zij het niet gebenchmarkt, startpunt; de productiecapaciteit hangt af van gelijktijdigheid, datavolume en de nodes die je gebruikt, dus monitor de instantie en schaal op naarmate de vraag groeit. Begin klein, upgrade naarmate je workflows groeien en houd volledige controle over je stack.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dat laatste is belangrijker dan het misschien lijkt. Je kunt altijd overstappen naar een grotere server. Het is veel moeilijker om jezelf los te maken van een SaaS-platform nadat het zijn prijzen heeft aangepast rond de workflows die je al hebt gebouwd.<\/p>\n\n\n\n\n\n\n\n\n\n<div class=\"article-cta-shared article-cta-small article-cta--product\">\n\t<div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/cta_image_a-877x522.webp 1x, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/cta_image_a.webp 2x\"  \/><\/div>\n\n\t<a href='https:\/\/www.dreamhost.com\/hosting\/vps\/' class='link-top' target='_blank' rel='noopener noreferrer'>\n\t\t<span>VPS<\/span>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 384 512\" width=\"15\"><path d=\"M342.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 256 105.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\/><\/svg>\n\t<\/a>\n\n\t<div class=\"content-btm\">\n\t\t<h2 class=\"h2--md\">\n\t\t\tOwn Your Entire Stack. Apps, AI, Databases, and More.\n\t\t<\/h2>\n\t\t<p class=\"p--md\">\n\t\t\tKeep every credential and conversation on a server you control, with NVMe speed and unmetered bandwidth built in.\n\t\t<\/p>\n\n\t\t        <a\n            href=\"https:\/\/www.dreamhost.com\/hosting\/vps\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Explore VPS Hosting Plans                    <\/a>\n\n\t<\/div>\n<\/div>\n\n\n\n<h2 id=\"h-frequently-asked-questions-about-self-hosting-n8n\" class=\"wp-block-heading\">Veelgestelde Vragen Over Het Zelf Hosten Van n8n<\/h2>\n\n\n\n<h3 id=\"h-is-n8n-really-free-to-self-host\" class=\"wp-block-heading\">Is n8n echt gratis om zelf te hosten?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Je kunt de n8n-software gratis op je eigen server draaien onder de Sustainable Use License. Voor de zelfgehoste Community-editie (de standaardversie die n8n op GitHub publiceert) betaal je bij toegestaan gebruik, zoals interne bedrijfsautomatisering, geen licentie- of uitvoeringskosten aan n8n. Het &#8220;gratis&#8221; deel betreft de software; je betaalt nog steeds voor je server, plus eventuele kosten voor een domein, back-upopslag en beheertijd.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De licentie beperkt de verkoop van een product, dienst of module waarvan de waarde volledig of grotendeels voortkomt uit n8n-functionaliteit. Lees de <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/privacy-and-security\/sustainable-use-license\">licentie-FAQ van n8n<\/a> als je van plan bent klanten functionaliteit aan te bieden die op n8n draait.<\/p>\n\n\n\n<h3 id=\"h-what-are-the-minimum-system-requirements-for-n8n\" class=\"wp-block-heading\">Wat zijn de minimale systeemvereisten voor n8n?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">n8n publiceert voorbeeldwaarden voor de dimensionering in plaats van een hard minimum, en noemt die cijfers illustratief (ze komen uit de OEM-implementatiedocumentatie): ongeveer 100 MB geheugen in rust, een voorbeeldgeheugenbereik van 320 MB\u20132 GB en een database op SSD-opslag van 512 MB\u20134 GB. Als voorzichtige starttoewijzing, en niet als officieel minimum van n8n, kun je uitgaan van 2 GB voor testen en 4 GB zodra je PostgreSQL en productieworkflows toevoegt; houd daarna het geheugen in de gaten en voeg geheugen toe als er aanhoudende druk ontstaat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Het DreamHost VPS Hosting Stack 4-abonnement biedt 4 GB RAM met NVMe SSD-opslag en volledige root-toegang voor het draaien van zelfgehoste applicaties zoals n8n. Bekijk de <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/nl\/hosting\/vps\/\">VPS Hosting<\/a>-abonnementen voor details.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gebruik PostgreSQL in plaats van SQLite voor productie, en kies bij voorkeur SSD-opslag, omdat n8n dat als best practice voor databases noemt.<\/p>\n\n\n\n<h3 id=\"h-can-i-run-n8n-locally-instead-of-on-a-vps\" class=\"wp-block-heading\">Kan ik n8n lokaal draaien in plaats van op een VPS?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ja \u2014 met \u00e9\u00e9n Docker-commando draai je n8n op je eigen computer, en het is een prima manier om workflows te testen voordat je je aan een server verbindt. Het addertje zit in webhooks: workflows die door externe diensten worden geactiveerd, hebben een instantie nodig die vanaf het internet bereikbaar is, en dat is een laptop achter een thuisrouter standaard niet. Port forwarding, VPN&#8217;s en tunnels kunnen dat omzeilen, elk met hun eigen installatie- en beveiligingsnadelen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">n8n biedt een tunnelservice om webhooks door te sturen naar een lokale instantie, maar de <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">Docker-documentatie<\/a> zegt onomwonden dat de tunnel &#8220;alleen bedoeld is voor lokale ontwikkeling en testen&#8221; en niet in productie gebruikt moet worden. Gebruik voor alles wat de klok rond draait een VPS.<\/p>\n\n\n\n<h3 id=\"h-can-i-migrate-from-zapier-to-n8n\" class=\"wp-block-heading\">Kan ik migreren van Zapier naar n8n?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Verwacht geen import met \u00e9\u00e9n klik. Houd er rekening mee dat je je workflows opnieuw opbouwt in de visuele editor van n8n in plaats van ze uit Zapier te importeren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Het goede nieuws: n8n heeft 400+ integraties, maar controleer elke app, trigger en actie die je huidige workflows gebruiken voordat je de migratie plant. Eenvoudige workflows bouw je snel opnieuw op; complexe meerstapsreeksen duren langer.<\/p>\n\n\n\n<h3 id=\"h-how-do-i-update-a-self-hosted-n8n-instance\" class=\"wp-block-heading\">Hoe update ik een zelfgehoste n8n-instantie?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wijzig de versietag in je <code>docker-compose.yml<\/code> naar de gewenste release en voer dan <code>docker compose pull<\/code> uit, gevolgd door <code>docker compose up -d<\/code>. Met een vastgepinde tag zoals <code>docker.n8n.io\/n8nio\/n8n:2.36.7<\/code> verandert een pull op zichzelf niets \u2014 je kiest elke upgrade zelf door de tag te wijzigen, en dat is precies het doel van vastpinnen. (Als je in plaats daarvan de tag <code>latest<\/code> gebruikt, volstaat een pull en herstart, maar wordt elke herstart een onverwachte upgrade.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Maak een back-up van je PostgreSQL-database v\u00f3\u00f3r grote versie-updates. Het back-upscript uit de handleiding hierboven regelt dat, of voer <code>pg_dump<\/code> rechtstreeks uit in de PostgreSQL-container.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Slordige updates maken dingen kapot, en n8n brengt bijna elke week een nieuwe minor-versie uit. De eigen <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">update-instructies<\/a> van n8n zeggen dat je v\u00f3\u00f3r het upgraden de changelog met breaking changes moet bekijken, dus lees die voordat je een pull doet. De herstart zelf gaat snel; het lezen van de changelog is het deel dat je tijd verdient.<\/p>\n\n\n\n<h3 id=\"h-is-self-hosted-n8n-secure-enough-for-business-data\" class=\"wp-block-heading\">Is zelfgehoste n8n veilig genoeg voor bedrijfsgegevens?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Met zelf hosten bepaal je zelf waar n8n workflowdefinities, inloggegevens en uitvoeringsgegevens opslaat. Verbonden diensten ontvangen echter nog steeds alle gegevens die je workflows naar ze sturen, en het beveiligen van de server blijft jouw verantwoordelijkheid.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Volg de zespuntschecklist uit de beveiligingssectie hierboven: HTTPS, firewall, Docker-isolatie, sterke authenticatie met 2FA, regelmatige updates en geteste back-ups. Het n8n-team onderhoudt een <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/security\">beveiligingsgids<\/a> die extra aandachtspunten voor productie behandelt, van beveiligingsaudits tot tweefactorauthenticatie.<\/p>\n\n\n\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"headline\":\"Zelfgehoste n8n: zo draai je n8n op je eigen server\",\"description\":\"Host n8n zelf op een VPS: voor de Community-editie betaal je bij toegestaan gebruik geen licentie- of uitvoeringskosten aan n8n. Serverspecificaties, een Docker Compose-installatie met Caddy in 11 stappen, beveiliging, back-ups en wanneer zelf hosten beter is dan n8n Cloud.\",\"datePublished\":\"2026-04-15\",\"dateModified\":\"2026-08-25\",\"author\":{\"@type\":\"Organization\",\"name\":\"DreamHost Blog\",\"url\":\"https:\/\/www.dreamhost.com\/blog\/\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"DreamHost\",\"url\":\"https:\/\/www.dreamhost.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\/\/www.dreamhost.com\/assets\/images\/dh-logo.svg\"}},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dreamhost.com\/blog\/n8n-self-hosted\/\"},\"keywords\":[\"n8n zelf gehost\",\"n8n zelf hosten\",\"n8n docker\",\"n8n VPS\",\"n8n-hosting\",\"workflowautomatisering\"]},{\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Is n8n echt gratis om zelf te hosten?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Je kunt de n8n-software gratis op je eigen server draaien onder de Sustainable Use License. Voor de zelfgehoste Community-editie (de standaardversie die n8n op GitHub publiceert) betaal je bij toegestaan gebruik, zoals interne bedrijfsautomatisering, geen licentie- of uitvoeringskosten aan n8n. Je betaalt nog steeds voor je server, plus eventuele kosten voor een domein, back-upopslag en beheertijd. De licentie beperkt de verkoop van een product, dienst of module waarvan de waarde volledig of grotendeels voortkomt uit n8n-functionaliteit; lees de licentie-FAQ van n8n als je van plan bent klanten functionaliteit aan te bieden die op n8n draait.\"}},{\"@type\":\"Question\",\"name\":\"Wat zijn de minimale systeemvereisten voor n8n?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"n8n publiceert voorbeeldwaarden voor de dimensionering in plaats van een hard minimum, en noemt die cijfers illustratief: ongeveer 100 MB geheugen in rust, een voorbeeldgeheugenbereik van 320 MB\u20132 GB en een database op SSD-opslag van 512 MB\u20134 GB. Als voorzichtige starttoewijzing, en niet als officieel minimum van n8n, kun je uitgaan van 2 GB voor testen en 4 GB zodra je PostgreSQL en productieworkflows toevoegt; houd daarna het geheugen in de gaten en voeg geheugen toe als er aanhoudende druk ontstaat. Gebruik PostgreSQL in plaats van SQLite voor productie, en kies bij voorkeur SSD-opslag, omdat n8n dat als best practice voor databases noemt.\"}},{\"@type\":\"Question\",\"name\":\"Kan ik n8n lokaal draaien in plaats van op een VPS?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ja \u2014 met \u00e9\u00e9n Docker-commando draai je n8n op je eigen computer, en dat is een prima manier om workflows te testen. Het addertje zit in webhooks: workflows die door externe diensten worden geactiveerd, hebben een instantie nodig die vanaf het internet bereikbaar is, en dat is een laptop achter een thuisrouter standaard niet; port forwarding, VPN's en tunnels kunnen dat omzeilen, elk met hun eigen nadelen. De tunnelservice van n8n kan webhooks doorsturen naar een lokale instantie, maar volgens de documentatie van n8n is die alleen bedoeld voor lokale ontwikkeling en testen, niet voor productie. Gebruik voor automatiseringen die de klok rond draaien een VPS.\"}},{\"@type\":\"Question\",\"name\":\"Kan ik migreren van Zapier naar n8n?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Verwacht geen import met \u00e9\u00e9n klik: houd er rekening mee dat je je workflows opnieuw opbouwt in de visuele editor van n8n in plaats van ze uit Zapier te importeren. n8n heeft 400+ integraties, maar controleer elke app, trigger en actie die je huidige workflows gebruiken voordat je de migratie plant. Eenvoudige workflows bouw je snel opnieuw op; complexe meerstapsreeksen duren langer.\"}},{\"@type\":\"Question\",\"name\":\"Hoe update ik een zelfgehoste n8n-instantie?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Wijzig de versietag in je docker-compose.yml naar de gewenste release en voer dan docker compose pull uit, gevolgd door docker compose up -d. Met een vastgepinde tag verandert een pull op zichzelf niets \u2014 je kiest elke upgrade zelf door de tag te wijzigen. Maak een back-up van je PostgreSQL-database v\u00f3\u00f3r grote versie-updates, en bekijk de changelog met breaking changes van n8n voordat je upgradet; n8n brengt bijna elke week een nieuwe minor-versie uit.\"}},{\"@type\":\"Question\",\"name\":\"Is zelfgehoste n8n veilig genoeg voor bedrijfsgegevens?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Met zelf hosten bepaal je zelf waar n8n workflowdefinities, inloggegevens en uitvoeringsgegevens opslaat. Verbonden diensten ontvangen echter nog steeds alle gegevens die je workflows naar ze sturen, en het beveiligen van de server blijft jouw verantwoordelijkheid. Een zelfgehoste instantie beveiligen vereist HTTPS via een reverse proxy, een firewall, Docker-netwerkisolatie, sterke authenticatie met 2FA, regelmatige updates en geteste back-ups.\"}}]},{\"@type\":\"HowTo\",\"name\":\"Zo installeer je n8n op een VPS\",\"description\":\"Implementeer zelfgehoste n8n met Docker Compose op een Ubuntu-VPS met PostgreSQL en een Caddy-reverse proxy, inclusief back-ups en een hersteltest.\",\"tool\":[{\"@type\":\"HowToTool\",\"name\":\"VPS met Ubuntu 22.04 of nieuwer\"},{\"@type\":\"HowToTool\",\"name\":\"Domeinnaam die je naar de server kunt laten verwijzen\"},{\"@type\":\"HowToTool\",\"name\":\"SSH-terminaltoegang\"}],\"step\":[{\"@type\":\"HowToStep\",\"position\":1,\"name\":\"Laat Je Domein Naar De Server Verwijzen\",\"text\":\"Maak een DNS A-record aan voor een apart subdomein dat naar het IP-adres van je server verwijst.\"},{\"@type\":\"HowToStep\",\"position\":2,\"name\":\"Beveilig De SSH-Toegang\",\"text\":\"Genereer een ed25519-sleutelpaar, kopieer het met ssh-copy-id naar de server en schakel vervolgens inloggen via SSH met wachtwoord en als root uit in een drop-in 00-hardening.conf; test de configuratie met sshd -t en controleer de effectieve instellingen met sshd -T voordat je herstart.\"},{\"@type\":\"HowToStep\",\"position\":3,\"name\":\"Zet De Firewall Aan\",\"text\":\"Sta met UFW de poorten 22, 80 en 443 toe, en sta SSH toe voordat je de firewall inschakelt, zodat je jezelf niet buitensluit.\"},{\"@type\":\"HowToStep\",\"position\":4,\"name\":\"Installeer Docker En Docker Compose\",\"text\":\"Installeer Docker Engine en de Compose-plugin vanuit de offici\u00eble apt-repository van Docker en controleer de installatie daarna met hello-world.\"},{\"@type\":\"HowToStep\",\"position\":5,\"name\":\"Maak De Projectmap En De Secrets Aan\",\"text\":\"Maak \/opt\/n8n-compose aan, genereer een versleutelingssleutel met openssl rand -hex 32 en sla die samen met een databasewachtwoord op in een .env-bestand dat met chmod 600 is beveiligd.\"},{\"@type\":\"HowToStep\",\"position\":6,\"name\":\"Schrijf Het Docker Compose-Bestand\",\"text\":\"Definieer drie services \u2014 Caddy, n8n vastgepind op een specifieke versie en PostgreSQL met een healthcheck \u2014 en publiceer alleen voor Caddy hostpoorten.\"},{\"@type\":\"HowToStep\",\"position\":7,\"name\":\"Schrijf De Caddyfile\",\"text\":\"Een Caddyfile van twee regels stuurt je domein via een reverse proxy door naar n8n:5678; Caddy verkrijgt en vernieuwt automatisch een publiek vertrouwd certificaat.\"},{\"@type\":\"HowToStep\",\"position\":8,\"name\":\"Starten En Controleren\",\"text\":\"Voer docker compose up -d uit, controleer de instantie daarna met curl -fsS -o \/dev\/null -w '%{http_code}' tegen je domein en maak het owner-account aan.\"},{\"@type\":\"HowToStep\",\"position\":9,\"name\":\"Update n8n Weloverwogen\",\"text\":\"Bekijk de changelog met breaking changes, wijzig de vastgepinde versietag, en doe dan een pull en herstart.\"},{\"@type\":\"HowToStep\",\"position\":10,\"name\":\"Plan Back-ups In\",\"text\":\"Een script dat eigendom is van root maakt dagelijks via de crontab van root een dump van de PostgreSQL-database en archiveert het n8n_data-volume, met een bewaartermijn van 30 dagen; kopieer de back-ups, het .env-bestand en de configuratiebestanden naar een plek buiten de server.\"},{\"@type\":\"HowToStep\",\"position\":11,\"name\":\"Test Een Herstel Op Een Test-VPS\",\"text\":\"Herstel op een nieuwe test-VPS het volume en de database, zet met de CLI van n8n alle workflows op niet-gepubliceerd zodat herstelde triggers niet afgaan, en start daarna de stack en controleer hem.\"}]},{\"@type\":\"SoftwareApplication\",\"name\":\"n8n\",\"applicationCategory\":\"BusinessApplication\",\"operatingSystem\":\"Linux\",\"description\":\"Een fair-code platform voor workflowautomatisering met 400+ integraties om apps te verbinden, gegevens te verplaatsen en complexe automatiseringen te bouwen via een visuele editor.\",\"url\":\"https:\/\/github.com\/n8n-io\/n8n\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"USD\",\"description\":\"Voor de zelfgehoste Community-editie betaal je bij toegestaan gebruik, zoals interne bedrijfsautomatisering, geen licentie- of uitvoeringskosten aan n8n; je betaalt nog wel voor je eigen serverinfrastructuur.\"},\"softwareVersion\":\"2.36.7\",\"author\":{\"@type\":\"Organization\",\"name\":\"n8n GmbH\",\"url\":\"https:\/\/n8n.io\"}}]}<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Zelf-hosting van n8n kost $4\u201310 per maand voor onbeperkte workflow-uitvoeringen. Leer server specificaties, Docker Compose opstelling, beveiliging, en wanneer zelf-gehost beter is dan n8n Cloud.<\/p>\n","protected":false},"author":2,"featured_media":81962,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_opengraph-title":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_twitter-title":"","_yoast_wpseo_twitter-description":"","toc_headlines":"[[\"h-what-is-n8n-and-why-are-people-self-hosting-it\",\"Wat Is n8n En Waarom Hosten Mensen Het Zelf?\"],[\"h-how-much-does-self-hosting-n8n-cost\",\"Wat Kost Het Zelf-Hosten Van n8n?\"],[\"h-what-server-specs-does-n8n-need\",\"Welke Server Specificaties Heeft n8n Nodig?\"],[\"h-which-vps-should-you-choose-for-self-hosted-n8n\",\"Welke VPS Moet Je Kiezen Voor Zelfgehoste n8n?\"],[\"h-how-do-you-set-up-n8n-on-a-vps\",\"Hoe Stel Je n8n In Op Een VPS?\"],[\"h-how-do-you-keep-a-self-hosted-n8n-instance-secure\",\"Hoe Houd Je Een Zelf-gehoste n8n-Instance Veilig?\"],[\"h-what-are-the-trade-offs-of-self-hosting-vs-n8n-cloud\",\"Wat Zijn De Afwegingen Tussen Zelf-Hosten En n8n Cloud?\"],[\"h-making-the-final-call\",\"De Definitieve Beslissing Nemen\"],[\"h-frequently-asked-questions-about-self-hosting-n8n\",\"Veelgestelde Vragen Over Het Zelf Hosten Van n8n\"]]","hide_toc":false,"show_updated_at":"0","footnotes":""},"categories":[14910,14936],"tags":[],"class_list":["post-82104","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-nl","category-vps-hosting-nl"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hoe n8n op Je Eigen Server te Gebruiken - DreamHost Blog<\/title>\n<meta name=\"description\" content=\"Zelf-hosting n8n kost $4\u201310\/maand voor onbeperkte workflow-uitvoeringen. Leer server specificaties, Docker Compose setup, beveiliging en wanneer zelf-gehost beter is dan n8n Cloud.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hoe n8n op Je Eigen Server te Gebruiken - DreamHost Blog\" \/>\n<meta property=\"og:description\" content=\"Zelf-hosting n8n kost $4\u201310\/maand voor onbeperkte workflow-uitvoeringen. Leer server specificaties, Docker Compose setup, beveiliging en wanneer zelf-gehost beter is dan n8n Cloud.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-18T15:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-04T20:45:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460_x_1095_blog_hero_self_host_n8n.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"1095\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Dallas Kashuba\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@http:\/\/twitter.com\/dallas\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dallas Kashuba\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hoe n8n op Je Eigen Server te Gebruiken - DreamHost Blog","description":"Zelf-hosting n8n kost $4\u201310\/maand voor onbeperkte workflow-uitvoeringen. Leer server specificaties, Docker Compose setup, beveiliging en wanneer zelf-gehost beter is dan n8n Cloud.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/","og_locale":"en_US","og_type":"article","og_title":"Hoe n8n op Je Eigen Server te Gebruiken - DreamHost Blog","og_description":"Zelf-hosting n8n kost $4\u201310\/maand voor onbeperkte workflow-uitvoeringen. Leer server specificaties, Docker Compose setup, beveiliging en wanneer zelf-gehost beter is dan n8n Cloud.","og_url":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2026-06-18T15:00:00+00:00","article_modified_time":"2026-07-04T20:45:34+00:00","og_image":[{"width":1460,"height":1095,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460_x_1095_blog_hero_self_host_n8n.webp","type":"image\/webp"}],"author":"Dallas Kashuba","twitter_card":"summary_large_image","twitter_creator":"@http:\/\/twitter.com\/dallas","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Dallas Kashuba","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/#article","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/"},"author":{"name":"Dallas Kashuba","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/418697d2a49f38f84e7051458118d483"},"headline":"Hoe n8n op Je Eigen Server te Gebruiken","datePublished":"2026-06-18T15:00:00+00:00","dateModified":"2026-07-04T20:45:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/"},"wordCount":5392,"publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460_x_1095_blog_hero_self_host_n8n.webp","articleSection":["AI","VPS Hosting"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/","url":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/","name":"Hoe n8n op Je Eigen Server te Gebruiken - DreamHost Blog","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/#primaryimage"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460_x_1095_blog_hero_self_host_n8n.webp","datePublished":"2026-06-18T15:00:00+00:00","dateModified":"2026-07-04T20:45:34+00:00","description":"Zelf-hosting n8n kost $4\u201310\/maand voor onbeperkte workflow-uitvoeringen. Leer server specificaties, Docker Compose setup, beveiliging en wanneer zelf-gehost beter is dan n8n Cloud.","breadcrumb":{"@id":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/#primaryimage","url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460_x_1095_blog_hero_self_host_n8n.webp","contentUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460_x_1095_blog_hero_self_host_n8n.webp","width":1460,"height":1095,"caption":"How To Run n8n on Your Own Server"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dreamhost.com\/blog\/nl\/hoe-n8n-op-je-eigen-server-te-gebruiken-nl\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dhblog2.dream.press\/blog\/"},{"@type":"ListItem","position":2,"name":"Hoe n8n op Je Eigen Server te Gebruiken"}]},{"@type":"WebSite","@id":"https:\/\/www.dreamhost.com\/blog\/#website","url":"https:\/\/www.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog2.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog2.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/418697d2a49f38f84e7051458118d483","name":"Dallas Kashuba","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/05ab6fb1606be97d16c74efb0fba01b3c11e91501dc5f9661bdfbb5c5b0cd113?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/05ab6fb1606be97d16c74efb0fba01b3c11e91501dc5f9661bdfbb5c5b0cd113?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/05ab6fb1606be97d16c74efb0fba01b3c11e91501dc5f9661bdfbb5c5b0cd113?s=96&d=mm&r=g","caption":"Dallas Kashuba"},"description":"Dallas Kashuba co-founded DreamHost while attending Harvey Mudd College and has spent nearly three decades building infrastructure at scale. Today he serves as an advisor, board member, and investor for various tech startups, with a consistent focus on user privacy, open source, and data portability. When he's not thinking about the Open Web, he's probably making music. Follow Dallas on X.","sameAs":["http:\/\/www.idallas.com\/","https:\/\/x.com\/http:\/\/twitter.com\/dallas"],"url":"https:\/\/www.dreamhost.com\/blog\/author\/dallas\/"}]}},"lang":"nl","translations":{"nl":82104,"en":83819,"es":82128,"pt":82098,"de":82110,"fr":82140,"it":82100},"pll_sync_post":{},"_links":{"self":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/82104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":0,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/82104\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/81962"}],"wp:attachment":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=82104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=82104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=82104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}