Terug naar Build Log
    AI Infrastructure

    DocuSeal self-host: digitaal ondertekenen op eigen infra

    Open-source e-signing op een eigen subdomein, draaiend op de Mac Mini achter een Cloudflare Tunnel. Geen SaaS-abonnement, geen externe partij die mijn contracten ziet.

    In het kort

    Digitaal ondertekenen van offertes en contracten doe ik nu zelf, op mijn eigen server thuis. Geen maandabonnement bij een grote partij, en de ondertekende documenten blijven onder mijn eigen dak. De webpagina waar mensen tekenen ziet eruit zoals je van DocuSign of HelloSign gewend bent, alleen draait de techniek op een klein Mac-computertje bij mij in de kast.

    Waarom dit telt: hoe kleiner het aantal partijen dat klantcontracten kan zien, hoe minder risico. En de setup is een dagdeel werk en kost daarna niets meer per ondertekening.

    Onder de motorkap

    Het probleem

    Offertes, NDA's en contracten lopen bij een consultancy snel op. SaaS-oplossingen voor e-signing zijn pakkend, maar ze kosten geld per envelope en alle ondertekende documenten staan op een server waar ik geen controle over heb. Voor vertrouwelijke stukken wil ik dat anders.

    Wat ik gebouwd heb

    Een self-hosted DocuSeal instance op de Mac Mini, publiek bereikbaar via een eigen subdomein:

    Container stack: docuseal/docuseal:latest + Postgres 16 via colima, geen Docker Desktop license

    Reverse proxy: Cloudflare Tunnel met eigen LaunchAgent, auto-start bij login

    Mail: transactionele SMTP via Resend voor uitnodigingen en getekende-document mails

    Backups: dagelijks pg_dump + tar van de data folder naar Nextcloud, 14 dagen retentie

    Secrets: .env met chmod 600, tunnel credentials los van app-secrets

    De gotcha

    Op één Mac Mini draaien meerdere Cloudflare-tunnels naast elkaar. cloudflared tunnel route dns met de tunnel-naam routeerde stilletjes naar de verkeerde tunnel. Workaround: altijd de tunnel-UUID gebruiken, nooit de naam. Per tunnel een eigen config-{name}.yml en een eigen LaunchAgent, nooit één multi-tunnel config.

    Wat ik geleerd heb

    Self-hosten van AGPL-tools op een Mac Mini achter Cloudflare Tunnel is voor solo-tooling productie-rijp, mits backups goed staan

    Voor een solo-consultancy is data-soevereiniteit voor contracten meer waard dan de uren die ik in de setup stopte

    Bewust niet automatiseren: geen koppeling met administratie of dashboard, geen skill. Het huidige volume rechtvaardigt die complexiteit niet

    Resultaat

    Alle ondertekening loopt nu via eigen infra, zonder abonnementskosten en zonder dat contracten op een externe SaaS-server staan. Setup tot live in een dagdeel, daily backups draaien, en de eerste documenten zijn ondertekend.

    Mission Relearn

    Bouwen is leren.

    © 2026 Mission Relearn. Made with in the Netherlands.