Preview-domeinen
Gecontroleerde infrastructuur — 7 september 2026
Section titled “Gecontroleerde infrastructuur — 7 september 2026”- Registrar: Squarespace; authoritative DNS: Cloudflare, zone
okhema.studio. - Nameservers:
eva.ns.cloudflare.comenjason.ns.cloudflare.com. - DNSSEC actief bij Cloudflare na registratie van het nieuwe DS-record bij Squarespace.
- De 15 bestaande DNS-records zijn overgenomen, inclusief Squarespace HTTPS, Domain Connect en Resend. Proxy uit.
- Extra A-record:
*.preview.okhema.studio→88.99.184.55, TTL 300, DNS only. - Coolify 4.3.17, Traefik 3.6.8, Docker Compose 2.32.4 op de server via SSH-alias
coolify.
Certificaten
Section titled “Certificaten”De bestaande resolver letsencrypt blijft HTTP-01 gebruiken. De toegevoegde
resolver okhema-dns gebruikt Cloudflare DNS-01 met resolvers 1.1.1.1:53 en
8.8.8.8:53. Dit voorkomt dat certificaten voor andere domeinen afhankelijk
worden van een token dat uitsluitend toegang heeft tot okhema.studio.
Bestanden op de server:
/data/coolify/proxy/docker-compose.yml: statische proxyconfiguratie./data/coolify/proxy/cloudflare-dns-token: token, rechten 0600; nooit in git of logs opnemen./data/coolify/proxy/acme-okhema-dns.json: ACME-account en certificaten met privésleutels, rechten 0600./data/coolify/proxy/dynamic/okhema-preview-tls.yaml: router die de wildcarduitgifte aanvraagt.
Traefik leest het token via CF_DNS_API_TOKEN_FILE=/traefik/cloudflare-dns-token.
Het token heeft Zone Read en DNS Edit voor alleen deze zone. Behoud de
toevoegingen wanneer de proxyconfiguratie in Coolify wordt gewijzigd of gereset.
De router okhema-preview-certificate gebruikt
certificate.preview.okhema.studio, service noop@internal, resolver
okhema-dns en expliciete certificaatnamen preview.okhema.studio en
*.preview.okhema.studio. Dit is uitsluitend een certificaatrouter, geen
tenantwebsite. Reserveer daarom de tenantnaam certificate bij provisioning,
of verplaats deze router voordat die naam wordt gebruikt.
Bewezen: ACME-uitgifte geslaagd, certificaat opgeslagen en TLS-keten plus
hostname gevalideerd voor zowel certificate.preview.okhema.studio als
dns-check.preview.okhema.studio. Het eerste certificaat verloopt op
6 december 2026; Traefik verzorgt automatische vernieuwing zolang token,
DNS-toegang en persistente ACME-opslag beschikbaar blijven. Vernieuwing zelf
is nog niet door een volledige cyclus getest.
Na de proxyherstart was deze healthy. Publieke pilot en rbmedia bleven HTTP
200 geven; beide CMS-hosts en admin.nitpick.studio behielden HTTP 302 met
geldige HTTPS-verbindingen.
Resterend voor taak 2.6
Section titled “Resterend voor taak 2.6”Wildcard-DNS en TLS leveren nog geen tenantwebsite op. Provisioning (taak 2.5) moet de container maken en de concrete hostnames aan dezelfde container koppelen:
- Publiek:
<tenant>.preview.okhema.studio. - CMS conform het huidige contract:
admin.<tenant>.preview.okhema.studio. SITE_DOMAIN=<tenant>.preview.okhema.studio.
Het wildcardcertificaat dekt alleen de publieke hostname. Voor de dieper
gelegen CMS-host moet per tenant een certificaat worden aangevraagd, met
bijvoorbeeld de resolver okhema-dns. Hetzelfde geldt voor eventuele
www.<tenant>.preview.okhema.studio-redirects. Een certificaatwildcard dekt
precies één niveau, ook als wildcard-DNS meerdere niveaus kan beantwoorden.
Controleer DNS opnieuw als expliciete records op een tenantnaam worden toegevoegd.
Nog uitvoeren: tenantroutering, domeinregistratie in de master-database en een end-to-end-test van publieke preview, CMS-login en redirects. Cloudflare-proxy blijft uit voor deze diepe hostnames. Custom klantdomeinen zijn taak 2.7.
Pilot handmatig gekoppeld — 7 september 2026
Section titled “Pilot handmatig gekoppeld — 7 september 2026”Coolify-app ajr8ztdzur5wmlvr1k2r9nj2 heeft nu de drie domeinen
pilot.preview.okhema.studio, www.pilot.preview.okhema.studio en
admin.pilot.preview.okhema.studio, alle met HTTPS en poort 4321.
De drie oude pilot-hostnames zijn in deze appconfiguratie vervangen.
Runtime SITE_DOMAIN is pilot.preview.okhema.studio.
Extra bestand op de server:
/data/coolify/proxy/dynamic/okhema-pilot-preview-tls.yaml.
Dit vraagt via okhema-dns een certificaat voor de CMS- en www-host aan;
de door Coolify gegenereerde applicatierouters gebruiken het beschikbare
certificaat. De certificaatrouter matcht alleen de gereserveerde
certificate.preview.okhema.studio/__pilot-certificate-route.
Afwijking bij uitrol: Coolify’s Restart bouwde de huidige main-commit
66e64628d3889f907686887793a52a786f8f2992, maar die miste
PLATFORM_API_KEY en faalde op de healthcheck. Vervolgens is Git Source /
Commit SHA vastgezet op de daarvoor draaiende commit
bec3fb5afe6608b1d65f8214327edb2603beffc0. De uitrol daarvan is geslaagd
(deployment pizvzqxv2nb96ohjcmz4mta8). Deze tijdelijke pin is later dezelfde
dag opgeheven; zie hieronder.
Gecontroleerd na voltooide rolling update: publieke homepage 200, CMS-root
302 naar de nieuwe login, login 200, www 302 naar de publieke preview en
publiek /admin 302 naar de nieuwe CMS-root. Alle drie TLS-hostnames
valideren. De CMS-loginpagina is ook in de browser gecontroleerd; daadwerkelijk
inloggen met een gebruikersaccount is niet getest. RB-Media bleef 200 geven.
Deze handmatige pilotkoppeling rondt automatische provisioning niet af.
Pilot bijgewerkt naar main — 7 september 2026
Section titled “Pilot bijgewerkt naar main — 7 september 2026”PLATFORM_API_KEY en PLATFORM_WEBHOOK_SECRET zijn voor de pilot uniek
gegenereerd (elk 32 cryptografisch willekeurige bytes, hex-gecodeerd) en via
Coolify’s eigen EnvironmentVariable-model versleuteld opgeslagen. Beide zijn
runtime-only. Bestaande authenticatiesleutels zijn niet gewijzigd.
Git Source / Commit SHA staat weer op HEAD. Deployment
js0n73qmqclzae2spdiivzy1 is geslaagd met commit
66e64628d3889f907686887793a52a786f8f2992. De nieuwe container is healthy.
Publieke preview en CMS-login geven 200; www en publiek /admin geven de
verwachte 302-redirects. /api/platform/health geeft 401 zonder sleutel en
200 met de pilotsleutel, met status: ok en database: ok. RB-Media bleef 200.
Op deze server is geen draaiend Okhema-masterdashboard aangetroffen. Er is daarom geen webhookbestemming ingesteld en geen master-tenantregistratie gewijzigd. Bij een latere koppeling moeten de master en pilot dezelfde tenant-specifieke API- en webhooksecrets gebruiken. De afzonderlijke platform-API is nu getest; uitgaande webhooks zijn niet end-to-end getest.
Functionele acceptatie door gebruiker — 7 september 2026
Section titled “Functionele acceptatie door gebruiker — 7 september 2026”De gebruiker heeft bevestigd dat inloggen, publiceren en e-mail zijn getest en correct werken op de pilotpreview. Dit is een gebruikersbevestiging, aanvullend op de hierboven beschreven technische controles.
Nog niet bewezen: de master-dashboard/webhookkoppeling, automatische provisioning van een nieuwe tenant en een volledige certificaatvernieuwingscyclus.
Terugdraaien van de proxywijziging
Section titled “Terugdraaien van de proxywijziging”Backup vóór deze wijziging:
/data/coolify/proxy/docker-compose.yml.before-okhema-dns-20260907T144322Z.
Herstel die composeconfiguratie en haal okhema-preview-tls.yaml uit de
dynamic-map voordat je de proxy opnieuw aanmaakt. Verwijder ACME-opslag of
token niet als onderdeel van een gewone restart. Zodra andere wijzigingen
zijn toegevoegd, draai alleen de relevante toevoegingen terug in plaats van
blind deze oude backup te herstellen.