Een zelf gehoste Markdown-editor geeft je team één vertrouwde tool op je eigen domein — zonder accounts, zonder abonnementen en zonder afhankelijk te zijn van de dienst van een ander die online moet blijven. Is de editor een statische webapp, dan is hosten net zo eenvoudig als een paar HTML-bestanden hosten: er is geen database om te onderhouden, geen servercode om bij te werken en vrijwel geen belasting voor de server.
Deze handleiding gebruikt Markdown Preview Editor als voorbeeld. Het is gratis en open source (MIT), en dezelfde stappen gelden voor elke statische webapplicatie.
Waarom een Markdown-editor zelf hosten?
- Jouw domein, jouw regels. De editor staat op een adres dat jij beheert, bijvoorbeeld
markdown.your-company.com, en werkt voor iedereen die hem gebruikt hetzelfde. - Niets te onderhouden. Een statische site heeft geen backend, dus geen beveiligingspatches voor servercode en geen databaseback-ups.
- Documenten blijven lokaal. Markdown Preview Editor geeft alles weer in de browser van de bezoeker. De server levert alleen de bestanden van de app — hij ontvangt nooit de documenten.
- Gratis te draaien. Elk shared-hostingpakket, een kleine VPS of een containerplatform is genoeg.
Wat je nodig hebt
Een webserver die statische bestanden via HTTPS kan aanbieden:
- shared hosting met cPanel, Plesk of DirectAdmin (Apache of LiteSpeed),
- een server met Docker,
- nginx of Caddy op een VPS,
- of zelfs je eigen computer voor lokaal gebruik.
Op de server zijn geen PHP, Node.js of database nodig.
Optie 1: shared hosting (cPanel en vergelijkbaar)
Dit is de snelste route en je hebt geen opdrachtregel nodig.
- Download het sitearchief. Haal
markdown-preview-editor-site.zipuit de nieuwste release. Het bevat de kant-en-klaar gebouwde website. - Kies het adres. Gebruik je hoofddomein, of maak in het configuratiescherm van je hosting een subdomein aan, zoals
markdown.example.com. Noteer de map die als document root van het subdomein dient. - Schakel HTTPS in. De meeste hostingpartijen geven automatisch gratis certificaten uit (AutoSSL of Let’s Encrypt). Controleer of het certificaat actief is voor het domein of subdomein.
- Upload en pak uit. Open Bestandsbeheer (File Manager), ga naar de document root, upload het zipbestand en kies Uitpakken (Extract). De bestanden — inclusief een verborgen
.htaccess— moeten direct in de document root staan, niet in een submap. - Open je domein. De editor is klaar voor gebruik.
Het meegeleverde .htaccess stuurt HTTP door naar HTTPS, stelt beveiligingsheaders in en regelt caching op Apache- en LiteSpeed-servers.
Tip
Weigert de uploadscanner van je hostingpartij zipbestanden met JavaScript-bestanden erin — een bekende vals-positieve melding bij sommige antivirusregels — gebruik dan het .tar.gz-archief uit dezelfde release of upload de bestanden via FTP.
Optie 2: Docker
Werk je met containers, kloon dan de repository en start het meegeleverde Compose-bestand:
bashgit clone https://github.com/ovasendin/markdown_preview_editor.git
cd markdown_preview_editor
PORT=8080 docker compose -f deploy/docker-compose.yml up -d --build
Open http://localhost:8080 — of de poort die je hebt gekozen. De image bouwt de site en serveert die met nginx en dezelfde beveiligingsheaders. Voor een openbaar domein zet je de container achter je gebruikelijke reverse proxy met HTTPS.
Optie 3: nginx
Bouw de site (of pak het releasearchief uit) en kopieer de bestanden naar je webroot:
bashnpm ci && npm run build
sudo cp -r dist/* /var/www/markdown/
De repository bevat een kant-en-klare configuratie in deploy/nginx.conf met de beveiligingsheaders en cacheregels. De kern van een configuratie voor een statische site is kort:
nginxserver {
listen 443 ssl;
server_name markdown.example.com;
# ssl_certificate and ssl_certificate_key lines go here
root /var/www/markdown;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Herlaad nginx met sudo nginx -s reload en open het domein.
Optie 4: Caddy
Caddy haalt HTTPS-certificaten automatisch op, waardoor het de eenvoudigste optie is voor een VPS:
bashSITE_ADDRESS=markdown.example.com caddy run --config deploy/Caddyfile
Kopieer eerst de gebouwde bestanden naar /srv; de meegeleverde Caddyfile serveert ze met dezelfde headers als de andere opties.
Optie 5: lokaal draaien
Voor persoonlijk gebruik heb je helemaal geen server nodig:
bashnpm ci
npm run dev
Open het lokale adres dat wordt getoond in je browser.
Up-to-date blijven
Een statische site bijwerken betekent de bestanden vervangen. Download het nieuwe releasearchief, pak het uit over de oude bestanden en herlaad de pagina. Omdat de bestandsnamen van de app content-hashes bevatten, laden browsers de nieuwe versie zonder verouderde cache. Volg de GitHub-repository (Watch → Custom → Releases) om een melding te krijgen over nieuwe versies.
Checklist na de installatie
- De site opent via
https://enhttp://wordt daarnaar doorgestuurd. - Sleep een Markdown-bestand naar de editor — het opent in een nieuw tabblad.
- Wissel van thema en taal in de instellingen.
- Exporteer een testdocument naar HTML om te controleren of downloads werken.
Staat je editor online, deel dan de Markdown cheat sheet met je team en bewaar onze handleidingen over Markdown bekijken en exporteren naar HTML en pdf.
Veelgestelde vragen
Kan ik een Markdown-editor hosten op shared hosting?
Ja. Een statische Markdown-editor zoals Markdown Preview Editor bestaat alleen uit HTML-, CSS- en JavaScript-bestanden. Upload het releasearchief en pak het uit in de document root van je domein of subdomein — een database of serverside programmeertaal is niet nodig.
Stuurt de zelf gehoste editor documenten naar mijn server?
Nee. De server levert alleen de applicatiebestanden. Documenten worden in de browser van elke bezoeker geopend en weergegeven en worden niet geüpload.
Kan ik hem in een submap hosten in plaats van op een subdomein?
Ja, de app werkt ook vanuit een submap zoals example.com/markdown/. Een apart subdomein is wel aan te raden, omdat het de browseropslag van de editor scheidt van andere apps op hetzelfde domein.
Hoeveel serverbronnen heeft hij nodig?
Vrijwel geen. De server stuurt de statische bestanden één keer per bezoeker; daarna worden ze door de browser in de cache bewaard. Al het werk gebeurt op het apparaat van de bezoeker.