Coolify en Claude Code: implementeer een project op je eigen VPS
MarkdownPubliceer een project met Coolify en Claude Code op je VPS: GitHub koppelen, Next.js uitrollen, domein en HTTPS instellen en verbindingsproblemen oplossen.
Lees het volledige artikel
Ailoot-documentatie — naslagmateriaal voor het werken met de dienst.
Platformbeperkingen en betalingsvoorwaarden in 2026
Belangrijkste punt
Gratis abonnementen werken totdat je voor het eerst een limiet overschrijdt; daarna is een internationale kaart vereist. Heroku sloot zijn gratis abonnement in 2022 voor iedereen en ging in februari 2026 over op onderhoudsmodus. Met zelfgehost Coolify ben jij eigenaar van de server; er zijn geen kosten per gebruiker en geen vendor lock-in.
Een typisch scenario voor een vibe-coder in 2026: je bouwt in één avond een MVP in Cursor of Claude Code, zet die in een GitHub-repository, opent vercel.com → koppelt de repository → komt op het abonnementscherm → voert je kaartgegevens in → krijgt Transaction declined.
Dit is geen bug of tijdelijke storing.
Railway, Render, Heroku — het is overal hetzelfde verhaal. Heroku sloot zijn gratis abonnement in 2022 voor iedereen en het project ging in februari 2026 over op onderhoudsmodus — geen nieuwe functies en geen nieuwe Enterprise-contracten. Voor een gebruiker met een niet-ondersteunde kaart betekent dit: “de deur is dicht; neem een omweg via een tussenpersoon die 20% commissie rekent.”
Je kunt betalen via virtuele Visa-kaarten in Kazachstan of zakelijke betaaldiensten. Maar dat betekent +20% op de prijs, +30 minuten voor elke transactie en het risico dat je account wordt geblokkeerd wanneer de betalingsverwerker een landverschil ziet.
Het oorspronkelijke voorbeeld bevatte drie pogingen — op Vercel Pro, Railway en Render.
Wat is Coolify en hoe werkt een zelfgehost platform?
Belangrijkste punt
Coolify is een open-source, zelf te hosten PaaS en een direct alternatief voor Heroku, Vercel en Netlify. Het wordt met één curl-opdracht geïnstalleerd op elke VPS met Ubuntu. Onder de motorkap gebruikt het Docker + Traefik voor reverse proxying en Let's Encrypt voor HTTPS. Het ondersteunt GitHub-integratie, webhooks voor automatische implementaties, S3-back-ups en 280+ diensten die je met één klik kunt installeren (PostgreSQL, Redis, MinIO). De zelfgehoste versie is voor altijd gratis en kent geen limieten. Het heeft 55,800 sterren op GitHub en een Apache-2.0-licentie.
Coolify is een open-sourceproject gebouwd met Laravel + Docker dat elke lege VPS omtovert tot een platform voor het implementeren van applicaties. Installeer Coolify één keer en doe daarna alles via de webinterface: koppel GitHub, kies een repository en klik op Deploy.
De officiële documentatie zegt het kort en krachtig:
Coolify is een open-source en zelf te hosten alternatief voor Heroku / Netlify / Vercel, enzovoort.
Onder de motorkap bestaat Coolify uit vier onderdelen:
- Webinterface gebouwd met Laravel 12 + Livewire 3 + Tailwind v4 — een dashboard voor het beheren van je applicaties.
- Docker + Docker Compose — elke applicatie draait in een container, geïsoleerd van de andere.
- Reverse proxy (Traefik of Caddy) — ontvangt inkomend HTTP/HTTPS-verkeer en stuurt het door naar containers.
- Let's Encrypt-integratie — geeft automatisch SSL-certificaten uit en vernieuwt die voor alle domeinen.
Belangrijke functies die Coolify functioneel vergelijkbaar maken met Vercel:
| Functie | Vercel | Coolify |
|---|---|---|
| Automatische implementatie bij git push | ✅ | ✅ (via GitHub-webhook) |
| Gratis HTTPS | ✅ | ✅ (Let's Encrypt) |
| Preview-implementaties voor PR's | ✅ | ✅ (via GitHub App) |
| Interface voor omgevingsvariabelen | ✅ | ✅ |
| Back-ups van databases | ❌ (geen eigen databases) | ✅ (naar S3-compatibele opslag) |
| PostgreSQL / Redis / MongoDB | $20+/maand per stuk | ✅ Met één klik, gratis |
| Geplande taken (cron) | ❌ | ✅ (cron-syntaxis) |
| Facturering per gebruiker | $20/gebruiker/maand | Geen |
| Vendor lock-in | Hoog (Edge Functions, ISR) | Geen (je eigen Docker) |
| Globale CDN | ✅ | ❌ (alleen je eigen VPS) |
Een globale CDN is het enige dat Coolify niet standaard bevat. Dat is het eerlijke antwoord. Als je project een wereldwijd publiek heeft en je de latentie voor gebruikers in de VS en Europa wilt verlagen, zet Cloudflare ervoor; voor statische inhoud is het gratis.
Prijs: de zelfgehoste versie is voor altijd gratis, zonder limiet op het aantal applicaties, servers of implementaties. Coolify Cloud is beschikbaar voor $5/maand voor 2 servers + $3 voor elke extra server — maar de servers zelf blijven van jou; Coolify Cloud host alleen het dashboard.
De nieuwste release is v4.1.0 van 18 mei 2026. Nieuwe functies zijn onder meer de Railpack-buildpack in bèta, auditlogging, configuratieverschillen tussen implementaties en een native MCP-endpoint (alleen-lezen). Bron: GitHub-releases.
Welke VPS heb je in 2026 nodig voor Coolify?
Belangrijkste punt
Coolify vereist minimaal 2 vCPU, 2 GB RAM, 30 GB SSD en Ubuntu LTS (20.04, 22.04 of 24.04). Op zo'n VPS kunnen comfortabel 3–5 vibe-gecodeerde projecten tegelijk draaien.
De minimale vereisten van Coolify komen rechtstreeks uit de officiële documentatie:
| Parameter | Minimum | Aanbevolen |
|---|---|---|
| CPU | 2 cores | 2–4 cores |
| RAM | 2 GB | 4 GB (met ruimte voor builds) |
| Opslag | 30 GB | 50–80 GB (voor images + databases) |
| Architectuur | AMD64 of ARM64 (64-bit) | AMD64 |
| OS | Ubuntu LTS 20.04 / 22.04 / 24.04 | 22.04 LTS |
| Root | Vereist | Via SSH-sleutel, niet met een wachtwoord |
Het minimum — 2 GB RAM — is een harde ondergrens. Met 1 GB komt het installatieprogramma tot Docker, loopt het tegen OOM (out of memory) aan en blijft het hangen. Bezuinig niet op RAM.
Prijsbronnen: Timeweb Cloud, FirstVDS en Selectel.
Heb je meer vermogen nodig (een database van 100 GB, meerdere Postgres-instanties), neem dan Aeza Dedicated.
Wat je NIET moet nemen:
- Een gedeelde VPS met 512 MB–1 GB RAM — zelfs voor Coolify niet genoeg. Dit is voor statische sites op nginx, niet voor een PaaS.
Wil je niet alleen de implementatie instellen, maar ook een configuratie bouwen die Claude betrouwbaar maakt? Coolify is een uitvoeringshulpmiddel, maar zonder gestructureerde context (CLAUDE.md, een tweede brein en context engineering) zal Claude bij lange taken nog steeds hallucineren. De complete configuratie bevat alle drie: AI-kloon + Tweede Brein + Context Engineering — deze combinatie maakt van Claude een betrouwbaar hulpmiddel in plaats van “een assistent die hallucineert”.
Coolify installeren in 5 minuten
Belangrijkste punt
Installatie bestaat uit één curl-opdracht uit de documentatie. Zodra Coolify start, verschijnt er een webinterface op poort 8000. Daar maak je de eerste beheerdersgebruiker aan en zie je een leeg dashboard. De werkelijke tijd vanaf een lege Ubuntu-installatie tot een werkende Coolify is 5–7 minuten, waarvan 3–4 minuten opgaan aan apt-get install docker. Het script haalt de vereiste afhankelijkheden op en configureert Docker zelf; je hoeft alleen te wachten tot het klaar is.
Stap 1. Maak via SSH verbinding met de VPS.
Nadat je bij de provider een VPS hebt aangemaakt, verschijnen het IP-adres van de server en het root-wachtwoord in een e-mail of in het configuratiescherm. Maak vanaf je lokale computer verbinding:
ssh root@1.2.3.4
Als de provider je een SSH-sleutel in plaats van een wachtwoord heeft gegeven, maak dan verbinding met -i path/to/key. Vanaf hier gaan we uit van een schone Ubuntu 22.04- of 24.04 LTS-installatie.
Stap 2. Voer de Coolify-installatieopdracht uit.
Eén opdracht uit de officiële documentatie:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
Het script doet drie dingen:
- Controleert het systeem (Ubuntu LTS? root? AMD64?)
- Installeert Docker en Docker Compose als die nog niet geïnstalleerd zijn
- Downloadt de Coolify-images (
coolify/coolify,coolify/realtime,traefik) en start ze op de achtergrond via docker-compose
Dit duurt 3–5 minuten. Je ziet de apt-get-logregels voorbijscrollen, gevolgd door docker pull. Wanneer je Coolify v4.1.0 is now running ziet, ga je naar stap 3.
Stap 3. Open de webinterface.
Open dit in je browser:
http://1.2.3.4:8000
Coolify toont een installatiewizard — een formulier om de eerste gebruiker aan te maken. Voer een e-mailadres en wachtwoord in en sla ze op. Deze gebruiker wordt automatisch beheerder; je hebt nog geen andere gebruikers nodig.
Na het opslaan kom je op een leeg dashboard: links een zijbalk met Resources / Projects / Servers / Sources / Notifications / Settings en in het midden de prompt “Add your first resource”.
Stap 4. Open poorten in de firewall van de provider (niet in UFW).
Coolify draait al, maar van buitenaf is alleen poort 8000 (het dashboard) bereikbaar. Om gebruikers toegang te geven tot je applicaties, moet je poort 80 (HTTP) en 443 (HTTPS) openen:
| Poort | Doel |
|---|---|
| 22 | SSH-toegang tot de server |
| 80 | Ontvangt HTTP-verkeer; vereist voor validatie door Let's Encrypt |
| 443 | Ontvangt het HTTPS-verkeer van gebruikers |
| 8000 | Coolify-dashboard (we sluiten deze poort na het instellen van een eigen domein voor het dashboard) |
Een belangrijke valkuil uit de officiële documentatie:
Docker gebruikt op NAT gebaseerde iptables-regels die traditionele Linux-firewalls zoals UFW kunnen omzeilen.
Dat betekent dat Docker zijn containers via iptables blijft blootstellen, zelfs als je UFW inschakelt en alle poorten sluit. UFW is hier nutteloos. De oplossing is poorten openen en sluiten in het configuratiescherm van je provider, niet via UFW. Bij Timeweb / Selectel / Aeza doe je dit in het gedeelte “Network → Firewall” van de webconsole.
Stap 5 (optioneel). Koppel het dashboard aan je domein.
Als je https://coolify.example.com wilt bezoeken in plaats van http://1.2.3.4:8000, maak dan een DNS A-record coolify.example.com → 1.2.3.4, ga in Coolify naar Settings → Instance Settings → Instance Domain, voer je subdomein in en sla het op. Coolify vraagt een Let's Encrypt-certificaat aan en laadt het dashboard een minuut later opnieuw via HTTPS.
Daarna kun je poort 8000 in de firewall sluiten — het dashboard is dan via HTTPS beschikbaar op de standaardpoort 443.
GitHub koppelen: App of PAT?
Belangrijkste punt
Coolify ondersteunt twee manieren om verbinding te maken met GitHub: GitHub App (aanbevolen) en Personal Access Token (PAT). Gebruik GitHub App: de configuratie duurt 5 minuten met de wizard, PR-previews werken en de machtigingen kunnen nauwkeurig op repositoryniveau worden ingesteld. PAT is een verouderde optie voor situaties waarin compatibiliteit nodig is; er zijn geen preview-implementaties en het brengt het risico van wereldwijde toegang tot al je repositories met zich mee. De officiële documentatie zegt het rechtstreeks: “voor 95% van de gebruikers is GitHub App de juiste keuze.”
Ga in Coolify naar Sources → + Add → GitHub App. Coolify toont een wizard met drie schermen:
- Name & description — geef de bron een naam (voer
github-mainin) en voeg desgewenst een beschrijving toe. - Configure on GitHub — een knop die je naar GitHub.com brengt en automatisch een formulier opent om een GitHub App met de juiste machtigingen te maken.
- Confirm — klik na terugkeer van GitHub op “Save”.
In de tweede stap vraagt GitHub je de machtigingen te bevestigen die Coolify aanvraagt:
| Machtiging | Niveau | Doel |
|---|---|---|
| Contents | Alleen-lezen | De repository klonen |
| Pull Requests | Lezen en schrijven | Preview-implementaties maken en opmerkingen bij PR's plaatsen |
| Email addresses | Alleen-lezen | Commits identificeren |
| Metadata | Alleen-lezen | Repositories weergeven |
Dit zijn minimale machtigingen — de GitHub App kan je privésleutels niet zien, kan niet naar main schrijven en heeft geen toegang tot repositories die je niet expliciet hebt gekoppeld.
Uit de officiële documentatie:
Personal Access Token (PAT) is de oude methode; ik raad het gebruik ervan af. Nadelen:
- PAT geeft wereldwijde toegang tot al je repositories (ook private repositories)
- PR-previews werken niet — die functie is exclusief voor GitHub App
- Het token is lang geldig (90 dagen, een jaar of onbeperkt) — als het uitlekt, is dat een probleem
Gebruik PAT alleen als je werkt met een repository van een organisatie waarvan het beveiligingsbeleid GitHub Apps verbiedt en er geen alternatief is.
Na het opslaan van de bron in Coolify zie je de GitHub App in het dashboard, met een lijst van gekoppelde repositories. Wanneer je een nieuwe applicatie maakt, kun je er met één klik een selecteren.
Een Next.js-project vanuit Claude Code implementeren in 6 stappen
Belangrijkste punt
De volledige route van een lege Claude Code-configuratie naar een live website: 1) voer claude uit in een lege map, beschrijf het project en Claude genereert de code; 2) voer git init && git remote add uit (Claude kan dit zelf doen via een slash-opdracht); 3) push naar GitHub; 4) kies in Coolify “+ New Resource → Application” en selecteer de repository; 5) voeg omgevingsvariabelen toe; 6) klik op Deploy. Coolify herkent dat het om Next.js gaat, kiest de Nixpacks-buildpack, bouwt in 3–5 minuten een Docker-image en levert direct een tijdelijk domein met HTTPS.
Stap 1. Beschrijf het project aan Claude Code in een lege map.
mkdir my-vibe-app
cd my-vibe-app
git init
claude
In de sessie:
Bouw een Next.js 14-app-routerproject:
- een startpagina met een lijst gebruikers
- het /api/users-eindpunt retourneert een array uit de database
- Postgres via Prisma
- Tailwind voor de stijlen
- .env.example met DATABASE_URL
- README.md met instructies om het project uit te voeren
Claude genereert de bestandsstructuur, package.json, prisma/schema.prisma en .env.example. Vraag ook:
Maak een Dockerfile voor productiebuilds en een .dockerignore.
Dit is optioneel — Coolify bouwt ook zonder Dockerfile met Nixpacks. Een Dockerfile geeft je echter meer controle over het proces en werkt sneller voor grotere projecten.
Stap 2. Maak een GitHub-repository en push ernaartoe.
Je kunt dit handmatig doen via de GitHub-interface + git remote add origin ..., maar Claude Code kan het ook zelf:
/commit-push-pr Initial Next.js app generated with Claude Code
Of zeg gewoon: “Commit alles en push het naar een nieuwe repository my-vibe-app in mijn account.” Claude gebruikt de gh CLI om een private (of publieke) repository te maken en de eerste push uit te voeren. Bron: officiële Claude Code-opdracht.
Stap 3. Maak een Application in Coolify.
Klik in het Coolify-dashboard op + New → Application. Er verschijnt een formulier:
- Source — selecteer
github-main(de GitHub App die je in de vorige H2 hebt gekoppeld) - Repository — selecteer
my-vibe-appuit de lijst - Branch —
main - Build Pack — Coolify detecteert dit automatisch. Als er een Dockerfile is, gebruikt het
dockerfile. Anders gebruikt hetnixpacks. Je kunt dit handmatig wijzigen. - Domain — laat de voorgestelde tijdelijke domeinnaam voorlopig staan; die vervang je later door je eigen domein
- Port — standaard
3000voor Next.js
Sla op.
Stap 4. Voeg omgevingsvariabelen toe.
Open in de aangemaakte applicatie het tabblad Environment Variables. Voeg de variabelen één voor één toe:
DATABASE_URL=postgresql://user:pass@db-host:5432/mydb
NODE_ENV=production
ANTHROPIC_API_KEY=sk-ant-...
Als je geen database hebt, maak er dan rechtstreeks een in Coolify: + New → Database → PostgreSQL. Coolify start in 30 seconden een Postgres-container en geeft een interne DATABASE_URL in de vorm postgresql://postgres:pass@postgres-xyz:5432/postgres — vul die in bij je applicatie.
Alle variabelen worden versleuteld in de Coolify-database en zijn niet zichtbaar in buildlogs.
Stap 5. Klik op Deploy.
Rechtsboven staat een blauwe knop Deploy. Live logs verschijnen op het tabblad Logs:
[stage: clone] Cloning '<repository-url-from-github>'
[stage: build] Detected Next.js, using Nixpacks
[stage: build] Installing Node 20, npm 10
[stage: build] npm install (245s)
[stage: build] npm run build (87s)
[stage: deploy] Creating container my-vibe-app-xyz
[stage: deploy] Container started, health check passed
[stage: proxy] Traefik routing configured for temporary domain
[stage: ssl] Let's Encrypt cert issued for temporary domain
De eerste build duurt 3–5 minuten (de Node-basisimage wordt opgehaald en afhankelijkheden worden geïnstalleerd). Volgende builds duren 60–90 seconden dankzij caching van Docker-lagen.
Wanneer de status Running wordt, kopieer je de applicatie-URL uit het veld Domains in Coolify en open je precies die URL in je browser. Gebruik die waarde hieronder als <app-url-from-coolify>; het label tussen punthaken is een tijdelijke aanduiding, geen echt adres. Je startpagina hoort direct met HTTPS te verschijnen. Coolify gebruikt een gratis wildcard-DNS-dienst om tijdelijke domeinen te leveren, zodat je de site direct kunt openen zonder je eigen DNS te configureren.
Stap 6. Controleer of alles werkt.
Open de applicatie-URL uit de vorige stap met /api/users eraan toegevoegd, bijvoorbeeld <app-url-from-coolify>/api/users zonder dubbele schuine streep. Dit is het JSON-endpoint uit stap 1; de hoofd-URL van de applicatie is de startpagina. Bij een 500-fout zie je de stacktrace op het tabblad Logs. Het meest voorkomende probleem bij een eerste implementatie is dat DATABASE_URL verwijst naar een niet-bestaande database. Los dit op door een PostgreSQL-instantie in Coolify te maken (zie stap 4 hierboven) en DATABASE_URL te vervangen.
15 minuten, gerekend vanaf het moment waarop je de VPS bestelt. In het oorspronkelijke voorbeeld duurde deze workflow 12–18 minuten op een schone server.
Een aangepast domein en HTTPS configureren
Belangrijkste punt
Een aangepast domein koppel je in 3 stappen: maak een DNS A-record dat naar het IP-adres van de server verwijst, voer je domein in bij de configuratie van Coolify, schakel Automatic HTTPS in en klik op Redeploy. Zodra DNS is verspreid (meestal 5–30 minuten), geeft Let's Encrypt binnen 2–3 minuten automatisch een SSL-certificaat uit. De belangrijkste eis is dat DNS al wordt omgezet wanneer je op Redeploy klikt; anders mislukt de validatie door Let's Encrypt en moet je 12 minuten wachten voordat je het opnieuw kunt proberen.
Stap 1. Maak een DNS A-record aan in het configuratiescherm van je domeinregistrar.
De oorspronkelijke voorbeelden gebruiken domeinen die gehost worden bij Reg.ru, Beget of Timeweb. De procedure is hetzelfde:
| Recordtype | Naam | Waarde |
|---|---|---|
| A | app (of @ voor het hoofddomein) | 1.2.3.4 (server-IP) |
Sla het op, open een console en controleer:
dig app.example.com +short
# Moet 1.2.3.4 retourneren
Als er niets of een ander IP-adres wordt geretourneerd, is DNS nog niet verspreid. Wacht 5–30 minuten.
Stap 2. Voer je domein in bij Coolify.
Open in de applicatie het tabblad Configuration → General. Vervang in het veld Domains de uit Coolify gekopieerde tijdelijke applicatie-URL door https://app.example.com (met je eigen ingestelde domein). Schakel Automatic HTTPS in (dit staat meestal standaard aan).
Sla op en klik op Redeploy.
Stap 3. Wacht op het Let's Encrypt-certificaat.
De buildlogs tonen:
[stage: ssl] Requesting Let's Encrypt cert for app.example.com
[stage: ssl] HTTP challenge sent to /.well-known/acme-challenge/xxx
[stage: ssl] Validation passed, cert issued
[stage: ssl] Cert installed, HTTPS enabled
Na 2–3 minuten is je site bereikbaar op https://app.example.com, met een groen hangslot in de adresbalk.
Wat kan er misgaan met Let's Encrypt (de 3 belangrijkste problemen uit de officiële gids voor probleemoplossing):
- Poort 80 is gesloten in de firewall. Let's Encrypt valideert met een HTTP-challenge — het stuurt een verzoek naar
http://app.example.com/.well-known/acme-challenge/xxx. Zonder poort 80 lukt de validatie niet. Open deze poort in de firewall van je provider. - De Cloudflare-proxy is ingeschakeld (oranje wolk). Deze onderschept het Let's Encrypt-verzoek en retourneert een eigen placeholderpagina — de validatie mislukt. De oplossing is overschakelen naar “DNS only” (grijze wolk) of een DNS-01-challenge via de Cloudflare-API configureren.
- DNS is nog niet verspreid. Als je 30 seconden geleden een A-record hebt gemaakt en meteen op Redeploy hebt geklikt, ziet Let's Encrypt je domein nog niet. Wacht 5–30 minuten totdat DNS over de servers is verspreid.
Limiet van Let's Encrypt: 5 mislukte pogingen per uur voor één domein, met herstel van 1 poging per 12 minuten. Als je de limiet bereikt, klik dan niet 10 keer achter elkaar op Redeploy; controleer de logs, los het probleem op en probeer het na 12 minuten opnieuw.
Hoe beheert Claude Code Coolify via MCP?
Belangrijkste punt
Via het Model Context Protocol krijgt Claude Code rechtstreeks toegang tot de Coolify-API — je kunt zeggen “implementeer deze applicatie” om een build te starten, de status te controleren, logs te lezen of omgevingsvariabelen bij te werken. Er zijn drie opties: forsonny/Coolify-MCP-Server (basis, 7 categorieën bewerkingen), dazeb/coolify-mcp-enhanced (15+ extra tools, waaronder database-implementatie met één klik) en ajmcclary/Coolify-Manager (een Claude Skill op basis van de officiële CLI). Vanaf v4.1.0 (18 mei 2026) biedt Coolify een native MCP-endpoint zonder servers van derden — voorlopig alleen-lezen.
Model Context Protocol (MCP) is een standaard van Anthropic waarmee Claude Code met externe systemen kan communiceren (zie de gids voor MCP-servers voor meer informatie). Verbind een MCP-server en Claude krijgt een reeks tools die het kan aanroepen. Er zijn drie kant-en-klare servers voor Coolify, plus één native optie.
Optie 1. forsonny/Coolify-MCP-Server-for-Claude-Code — basis.
Wat het kan doen:
- Applicaties: maken, starten, stoppen, opnieuw starten
- Diensten: weergeven, maken, starten/stoppen/opnieuw starten
- Implementaties: actieve implementaties bekijken, opvragen via UUID
- Teams en leden: weergeven, informatie ophalen
- SSH-sleutels: weergeven, maken
- Omgevingsvariabelen: volledige CRUD voor apps en diensten
- Serverinzichten: domeinen per server, status, versie
Installatie:
git clone '<OFFICIAL_URL>'
cd Coolify-MCP-Server-for-Claude-Code
npm install
npm run build
# In .env:
# COOLIFY_BASE_URL=https://coolify.example.com
# COOLIFY_API_TOKEN=[uit Coolify Settings → API Tokens]
npm run setup # configureert Claude Code automatisch
Daarna kun je dit invoeren in Claude Code:
Toon de status van de my-vibe-app-applicatie in Coolify en de 3 nieuwste implementaties.
Claude retourneert een tabel.
Optie 2. dazeb/coolify-mcp-enhanced — uitgebreid (aanbevolen).
Wat het toevoegt aan de basisset:
- PostgreSQL / Redis / MinIO implementeren met één klik via AI — vraag “stel Postgres voor me in” en het maakt een container aan en retourneert DATABASE_URL
- Realtime monitoring + resourcegebruik — CPU/RAM voor elke applicatie in realtime
- Omgevingsconfiguraties in bulk bijwerken — 20 variabelen bijwerken met één opdracht
- Docker Compose-ondersteuning — applicaties met meerdere diensten implementeren
Configuratie voor Claude Code (.mcp.json in de projectroot):
{
"mcpServers": {
"coolify-enhanced": {
"command": "node",
"args": ["/path/to/coolify-mcp-enhanced/dist/index.js"],
"env": {
"COOLIFY_ACCESS_TOKEN": "your-token-here",
"COOLIFY_BASE_URL": "https://coolify.example.com"
}
}
}
}
Optie 3. ajmcclary/Coolify-Manager — een Claude Skill op basis van de CLI.
Dit is geen MCP-server, maar een Claude Code Skill die de officiële Coolify CLI omhult. Het bevat:
- Diagnostiek van de status van diensten en containers
- Diagnostiek van SSL-certificaten
- Ondersteuning voor meerdere instanties (als je meerdere Coolify-servers hebt)
- Recepten voor probleemoplossing
Installatie: download de skill en plaats deze in ~/.claude/skills/coolify-manager/. Claude Code detecteert de skill en biedt die aan voor relevante taken.
Optie 4 (nieuw in mei 2026). Native MCP in Coolify v4.1.0.
In het changelog van v4.1.0 van 18 mei 2026 staat:
Ondersteuning voor MCP op instantieniveau toegevoegd, met alleen-lezen-tools voor Coolify-resources en API/UI.
Coolify biedt nu een eigen MCP-endpoint — je kunt Claude Code rechtstreeks koppelen zonder servers van derden. Voorlopig is dit alleen-lezen (applicatielijsten, statussen, configuraties), zonder bewerkingen om iets te wijzigen. Maar dat volstaat voor de meeste taken zoals “vertel me iets over de infrastructuur”.
Verbind het via .mcp.json:
{
"mcpServers": {
"coolify-native": {
"url": "https://coolify.example.com/api/v1/mcp",
"headers": {
"Authorization": "Bearer <your-api-token>"
}
}
}
}
Wacht op volledige schrijfrechten voor native MCP in v4.2 of v4.3 — het Coolify-team heeft die vóór eind 2026 beloofd.
5 valkuilen bij je eerste implementatie — en hoe je ze voorkomt
Belangrijkste punt
De meest voorkomende fouten bij een eerste implementatie zijn te weinig RAM, een gesloten poort 80, een Cloudflare-proxy die Let's Encrypt verstoort, UFW dat Docker niet kan beveiligen en kiezen voor PAT in plaats van GitHub App. Ze worden allemaal behandeld in de officiële documentatie, maar zonder praktijkervaring loop je er makkelijk tegenaan. Hieronder staat een checklist met 5 punten op basis van de oorspronkelijke ervaring met het voor het eerst installeren van Coolify.
Valkuil 1: minder dan 2 GB RAM — installatie mislukt door OOM.
Symptoom: curl install.sh bereikt docker pull coolify/coolify, blijft hangen op 70% en het proces wordt beëindigd met Killed (signal 9). De logs van dmesg | tail tonen Out of memory: Killed process.
Oplossing:
# Maak een swapbestand van 4 GB om het probleem tijdelijk op te lossen
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Upgrade op de lange termijn naar 4 GB RAM. Coolify werkt met swap, maar builds van grote Next.js-projecten kunnen mislukken.
Valkuil 2: UFW is ingeschakeld, maar Docker opent nog steeds poorten.
Symptoom: je hebt UFW ingeschakeld en alle poorten behalve 22 gesloten, maar je applicatie is nog steeds vanaf internet bereikbaar op een willekeurige poort (zoals 3000).
De reden staat in de officiële documentatie:
Coolify draait op Docker, dat op NAT gebaseerde iptables-regels gebruikt en traditionele Linux-firewalls zoals UFW kan omzeilen.
Oplossing: gebruik de firewall in het configuratiescherm van je provider, niet UFW. Timeweb / Selectel / Aeza hebben een sectie “Firewall” of “Network → Firewall” waar je regels instelt op netwerkniveau — die worden toegepast voordat pakketten Docker bereiken.
Een alternatief is ufw-docker, een script dat UFW aanpast om compatibel te zijn met Docker. Maar dat is ingewikkelder dan een klik in het configuratiescherm.
Valkuil 3: Cloudflare-proxy (oranje wolk) verstoort Let's Encrypt.
Symptoom: na Redeploy tonen de logs Let's Encrypt validation failed - challenge returned 403.
Reden: Cloudflare proxyt het HTTP-verzoek van Let's Encrypt en retourneert zijn eigen pagina in plaats van je challengebestand.
Oplossing — kies een van de twee opties:
- Schakel over naar “DNS only” (de grijze wolk in Cloudflare). Nadeel: je verliest Cloudflare CDN en bescherming.
- Configureer een DNS-01-challenge via de Cloudflare-API. Ga in Coolify naar Settings → SSL Configuration, selecteer de Cloudflare-provider en voer een API-token in met machtigingen Zone:Read en DNS:Edit. Let's Encrypt valideert via een TXT-record in plaats van HTTP.
De tweede optie is ingewikkelder om in te stellen, maar behoudt de Cloudflare-proxy.
Valkuil 4: PAT in plaats van GitHub App — PR-previews werken niet.
Symptoom: je hebt GitHub gekoppeld met een Personal Access Token; alles werkt, maar er worden geen preview-implementaties gemaakt voor PR's. Je hebt een PR geopend in GitHub, maar er verscheen niets in Coolify.
Reden: PR-previews zijn exclusief voor GitHub App. PAT ontvangt via een webhook geen pull_request-gebeurtenissen.
Oplossing: koppel GitHub opnieuw via App. Sources → Add → GitHub App → rond de wizard af. Je kunt de oude PAT-bron verwijderen.
Valkuil 5: “Coolify == Vercel” klopt niet helemaal.
Wat Coolify niet standaard doet:
| Vercel | Coolify | Wat te doen |
|---|---|---|
| Globale CDN | Nee | Zet Cloudflare ervoor (gratis voor statische inhoud) |
| Incremental Static Regeneration | Nee | revalidatePath werkt alleen op je server |
| Afbeeldingsoptimalisatie | Nee | Gebruik next/image met een lokale loader of Cloudflare Images |
| Automatisch schalen tijdens pieken | Nee | Schaal handmatig op; upgrade je VPS |
| Edge Functions | Nee | Gebruik gewone API-routes |
Als je project een SaaS met veel verkeer is, een wereldwijd publiek heeft en overal ter wereld een latentie van < 100 ms vereist, is Coolify niet geschikt; kies dan Vercel Enterprise. Ben je een vibe-coder die een MVP met 100–1,000 gebruikers per dag test, dan biedt Coolify alles wat je nodig hebt.
Uit een eerlijke analyse van self-hosting:
De 15 minuten in de titel van deze gids verwijzen naar de ideale route voor de eerste implementatie van één project. Een complete infrastructuurconfiguratie met monitoring, back-ups en waarschuwingen kost een avond of twee. Wees eerlijk tegen jezelf.
Hoeveel bespaar je in een jaar vergeleken met Vercel?
De Vercel-bedragen hieronder zijn scenarioschattingen uit mei 2026, geen actuele prijsopgaven. Ze vormen slechts één kant van de vergelijking. Zelfgehoste Coolify heeft geen licentiekosten, maar VPS, back-ups, opslag, verkeer en beheer kosten wel geld. Vraag een prijsopgave die aan de bovenstaande eisen voldoet; voor deze scenario’s is geen numerieke VPS-prijs aangeleverd, dus een vaste besparing claimen zou ongegrond zijn.
Laat C de totale maandelijkse infrastructuurrekening zijn voor de gekozen VPS, back-upopslag, extra verkeer, monitoring en een eventuele betaalde dashboardoptie. Tel elke uitgave één keer. Laat r je uurkosten voor beheer zijn en gebruik overal dezelfde valuta. De tijdschatting van het artikel is aanvankelijk 5–10 uur plus 1–2 uur per maand: 17–34 uur in het eerste jaar en 12–24 uur in latere jaren.
| Scenario | Vercel-schatting/maand | Vercel/jaar | Coolify-infrastructuur/maand | Coolify-TCO eerste jaar inclusief arbeid | Besparing eerste jaar tegenover Vercel |
|---|---|---|---|---|---|
| Eén prototype, 100,000 bezoeken/maand | $20 basis + ~$5 bandbreedte = $25 | $300 | C | 12C + (17–34)r | $300 − 12C − (17–34)r |
| Vijf projecten op één VPS | $20 basis + $30 bandbreedte/functies = $50 | $600 | C | 12C + (17–34)r | $600 − 12C − (17–34)r |
| Drie ontwikkelaars, vijf projecten | $60 gebruikers + $30 bandbreedte = $90 | $1,080 | C | 12C + (17–34)r | $1,080 − 12C − (17–34)r |
Gebruik per scenario een aparte C als de werklast andere servergroottes vereist. Verdeel voor een maandvergelijking de eerste inrichting over 12 maanden: het maandequivalent van het eerste jaar is C + (17–34)r/12. TCO voor latere jaren is 12C + (12–24)r. Deze formules vergelijken de genoemde Vercel-schatting met zelfhostkosten; tel vergelijkbare beheerkosten ook aan de Vercel-kant mee. Een negatieve besparing betekent dat zelfhosten bij jouw invoer meer kost. Tel het volledige salaris van dezelfde engineer niet nog eens mee als r dat al bevat.
Vul vóór overstappen C in op basis van een echte providerprijsopgave en back-upplan, kies r en vergelijk daarna werkelijk gebruik gedurende een maand. Zonder die invoer ondersteunt het artikel een kostenmodel, geen besparingsbedrag.
Het grootste voordeel is niet het geld. Wanneer je overstapt op Coolify, verdwijnt de categorie “afhankelijk zijn van het betalingsbeleid van iemand anders”. Virtuele kaarten met 20% commissie zijn niet meer nodig.
Coolify is geen goedkopere Vercel. Het is een ander type product: je bent eigenaar van de infrastructuur, neemt er verantwoordelijkheid voor en bespaart geld door de complexiteit te accepteren.
Als het implementeren van een prototype je eerste taak na het genereren in Claude Code is, hoort het beheren van de omgeving (env, geheimen, geplande taken, back-ups) bij context engineering. Zonder structuur voor “waar alles staat” raakt Claude de weg kwijt en verlies jij bij elke wijziging tijd. De complete configuratie bevat: AI-kloon (Skills en Subagents afgestemd op jouw methodologie) + Tweede Brein (de kennisbank van het project) + Context Engineering (Plan Mode, /compact, uitvoeringsomgeving). Dit zijn de 3 pijlers zonder welke AI hallucineert.
Bronnen
- Officiële Coolify-documentatie: Introductie
- Coolify-installatiegids
- Overzicht van Coolify-buildpacks
- Coolify-kennisbank over firewalls
- Coolify: probleemoplossing voor Let's Encrypt
- Coolify-prijzen
- Coolify GitHub: releases v4.1.0
- Overzicht van Claude Code
- Timeweb Cloud VPS
- FirstVDS VPS
- Selectel VPS/VDS
- Vercel-prijzen
De complete contextworkflow: AI-kloon + Tweede Brein + Context Engineering.
Meer materiaal is beschikbaar op Ailoot.
Meer details
Vragen en antwoorden
Welke URL moet na implementatie JSON teruggeven?
Kopieer de applicatie-URL uit het veld Domains van Coolify en open het pad /api/users daarvan. De hoofd-URL is de startpagina; /api/users is het JSON-endpoint van het voorbeeldproject.
Hoe bereken ik of zelfhosten geld bespaart?
Tel maandelijkse kosten voor VPS, back-ups, opslag, verkeer, monitoring en optioneel dashboard op tot C. De zelfhost-TCO voor het eerste jaar is 12C plus 17–34 uur tegen je uurkosten; vergelijk met de jaarlijkse Vercel-schatting van het scenario en tel vergelijkbare beheerkosten aan beide kanten mee.