Deze site draait nu thuis
Vannacht: peterreckers.nl van Railway gehaald en op een laptop in mijn meterkast gezet. Compleet met git, automatische deploys, een echt TLS-certificaat van Let’s Encrypt. Wat begon als “ff de website verhuizen” werd vier uur leuke ellende waar ik veel van geleerd heb.
De setup
De plot in twee zinnen. Je pushed naar GitLab op meterkast. Een webhook tikt Coolify aan, die trekt de repo en serveert de nieuwe versie achter Let’s Encrypt op peterreckers.nl. Geen Vercel, geen Netlify, geen Railway. Alleen mijn laptop in een meterkast en een glasvezelaansluiting.
Concreet:
- GitLab CE in een container via Coolify. Git-hosting en straks ook de CI-runners voor apps en agents die hier nog komen.
- Coolify als deploy-target. Pullt de repo, bouwt (in dit geval gewoon nginx + static files), en routeert traffic via Traefik.
- Twee Certificate Authorities naast elkaar. Voor publieke services Let’s Encrypt. Voor wat alleen via NetBird mesh draait (Stalwart mail, GitLab, toekomstige interne tools) een eigen step-ca. Eén keer de Root CA trusten op mijn devices en alle interne TLS is automatisch geldig.
Wat onderweg stuk ging
Coolify’s eigen Traefik weigerde de GitLab service te routeren. Bekende bug in Coolify v4, fix: skip Traefik voor GitLab en bind een directe hostport. Werkt prima.
Coolify’s build-container kon mijn GitLab niet bereiken via de mesh-URL. Container heeft geen NetBird-toegang. Fix: GitLab toegevoegd aan Coolify’s eigen Docker-network, zodat de twee elkaar via hostname vinden.
De webhook van GitLab naar Coolify gaf bij de eerste poging een 500 Internal Server Error (Coolify-handler crashte op de payload). Bij de tweede app, met een ander build pack, werkte het wel. Geen idee waarom.
En ik ontdekte ergens halverwege dat mijn modem als open DNS-resolver op het publieke internet stond. Stuk firmware-design van Odido waar ik niets aan kan doen vanuit de UI. Heb het meeste dichtgezet (HTTP-admin, SSH, alternate poorten) maar de DNS-poort houdt Odido eigenwijs open. Bel ze maar.
Wat dit waard is
Niet veel, gemeten in geld. Een gratis Netlify-account had dit ook gehost. Maar het verschil zit in waar mijn data leeft en wie er bij kan. Mijn mail, mijn agenda, mijn website, straks ook mijn AI-agents en wat verder volgt: het draait allemaal op één laptop die ik kan optillen. Geen vendor die opeens TOS verandert, geen subscription die verdubbelt, geen “we have updated our privacy policy” mailtje.
Het kost meer tijd om iets te bouwen. Maar het is van mij.