Project: EmDash

Hoe ik Cloudflare, EmDash CMS en deze website vanaf nul heb opgezet op 1 juni 2026 — het volledige verhaal in een bericht.

Wat dit project is

Deze website — greefhorst.net — is zelf het verhaal. Op 1 juni 2026 heb ik Cloudflare vanaf nul opgezet: een D1-database aangemaakt, een EmDash CMS-project opgezet, DNS geconfigureerd en een meertalige blog live gedeployed. Elke stap is in realtime gedocumenteerd en de zeven oorspronkelijke artikelen over die reis zijn samengevoegd in dit ene bericht.

De opbouw, stap voor stap

Stap 1: Cloudflare API-toegang geverifieerd. Stap 2: de D1-database aangemaakt. Stap 3: het EmDash-project opgezet, een op Astro gebaseerd CMS. Stap 4: afhankelijkheden geinstalleerd. Stap 5: de worker gedeployed — de site ging voor het eerst live. Stap 6: greefhorst.net gekoppeld via DNS. Stap 7: de taalschakelaar aangesloten (EN | NL | FR), een Cloudflare Workers-validatiefout opgelost en de sed-fix toegepast die elke deploy laat slagen.

Wat ik heb geleerd

Astro 6.4.2 sluit file:///workspace/hermes-emdash/-paden in de build in. Cloudflare Workers weigert new URL('file:///...'). De oplossing — een sed-vervanging naar https://0.0.0.0/hermes/ — is nu onderdeel van elke deploy. Node.js 22 is vereist. npm cache clean --force lost het @@ASTRO_MANIFEST_REPLACE@@-probleem op.