Edytor Markdown na własnym serwerze daje zespołowi jedno, dobrze znane narzędzie we własnej domenie — bez kont, bez subskrypcji i bez uzależnienia od tego, czy cudza usługa nadal działa. Jeśli edytor jest statyczną aplikacją internetową, jego hostowanie jest tak proste jak hostowanie kilku plików HTML: nie ma bazy danych do utrzymania, kodu po stronie serwera do aktualizowania i praktycznie żadnego obciążenia serwera.
W tym poradniku przykładem jest Markdown Preview Editor. Jest darmowy i open source (MIT), a te same kroki sprawdzą się przy każdej statycznej aplikacji internetowej.
Po co hostować edytor Markdown samodzielnie?
- Twoja domena, Twoje zasady. Edytor jest dostępny pod adresem, który kontrolujesz, na przykład
markdown.your-company.com, i działa tak samo dla wszystkich, którzy z niego korzystają. - Nic do utrzymywania. Strona statyczna nie ma backendu, więc nie ma poprawek bezpieczeństwa kodu serwerowego ani kopii zapasowych bazy danych.
- Dokumenty pozostają lokalne. Markdown Preview Editor renderuje wszystko w przeglądarce odwiedzającego. Serwer tylko dostarcza pliki aplikacji — nigdy nie otrzymuje dokumentów.
- Utrzymanie nic nie kosztuje. Wystarczy dowolny hosting współdzielony, mały VPS lub platforma kontenerowa.
Czego potrzebujesz
Dowolnego serwera WWW, który potrafi serwować pliki statyczne przez HTTPS:
- hostingu współdzielonego z cPanel, Plesk lub DirectAdmin (Apache lub LiteSpeed),
- serwera z Docker,
- nginx lub Caddy na VPS,
- a nawet własnego komputera do użytku lokalnego.
Na serwerze nie jest potrzebny PHP, Node.js ani baza danych.
Opcja 1: Hosting współdzielony (cPanel i podobne)
To najszybsza droga, która nie wymaga wiersza poleceń.
- Pobierz archiwum strony. Pobierz
markdown-preview-editor-site.zipz najnowszego wydania. Zawiera gotową, zbudowaną stronę. - Wybierz adres. Użyj głównej domeny lub utwórz w panelu hostingu subdomenę, taką jak
markdown.example.com. Zanotuj folder główny subdomeny (document root). - Włącz HTTPS. Większość hostingów automatycznie wystawia darmowe certyfikaty (AutoSSL lub Let’s Encrypt). Upewnij się, że certyfikat jest aktywny dla domeny lub subdomeny.
- Wgraj i rozpakuj. Otwórz Menedżer plików, przejdź do folderu głównego, wgraj plik zip i wybierz Rozpakuj. Pliki — w tym ukryty
.htaccess— muszą znaleźć się bezpośrednio w folderze głównym, a nie w podfolderze. - Otwórz swoją domenę. Edytor jest gotowy.
Dołączony plik .htaccess przekierowuje HTTP na HTTPS, ustawia nagłówki bezpieczeństwa i konfiguruje pamięć podręczną na serwerach Apache i LiteSpeed.
Wskazówka
Jeśli skaner plików Twojego hostingu odrzuca archiwa zip zawierające pliki JavaScript — to znany fałszywy alarm niektórych reguł antywirusowych — użyj archiwum .tar.gz z tego samego wydania lub wgraj pliki przez FTP.
Opcja 2: Docker
Jeśli korzystasz z kontenerów, sklonuj repozytorium i uruchom dołączony plik Compose:
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
Otwórz http://localhost:8080 — lub port, który wybrałeś. Obraz buduje stronę i serwuje ją przez nginx z tymi samymi nagłówkami bezpieczeństwa. W przypadku publicznej domeny umieść kontener za swoim zwykłym reverse proxy z HTTPS.
Opcja 3: nginx
Zbuduj stronę (lub rozpakuj archiwum z wydania) i skopiuj pliki do katalogu głównego serwera WWW:
bashnpm ci && npm run build
sudo cp -r dist/* /var/www/markdown/
Repozytorium zawiera gotową konfigurację w deploy/nginx.conf z nagłówkami bezpieczeństwa i regułami pamięci podręcznej. Rdzeń konfiguracji strony statycznej jest krótki:
nginxserver {
listen 443 ssl;
server_name markdown.example.com;
# tutaj wstaw wiersze ssl_certificate i ssl_certificate_key
root /var/www/markdown;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Przeładuj nginx poleceniem sudo nginx -s reload i otwórz domenę.
Opcja 4: Caddy
Caddy automatycznie uzyskuje certyfikaty HTTPS, co czyni go najprostszą opcją na VPS:
bashSITE_ADDRESS=markdown.example.com caddy run --config deploy/Caddyfile
Najpierw skopiuj zbudowane pliki do /srv; dołączony Caddyfile serwuje je z tymi samymi nagłówkami co pozostałe opcje.
Opcja 5: Uruchomienie lokalne
Do użytku osobistego w ogóle nie potrzebujesz serwera:
bashnpm ci
npm run dev
Otwórz w przeglądarce wyświetlony adres lokalny.
Aktualizacje
Aktualizacja strony statycznej polega na podmianie jej plików. Pobierz archiwum nowego wydania, rozpakuj je na stare pliki i przeładuj stronę. Ponieważ nazwy plików aplikacji zawierają skróty (hashe) zawartości, przeglądarki pobierają nową wersję bez problemów z nieaktualną pamięcią podręczną. Obserwuj repozytorium na GitHub (Watch → Custom → Releases), aby otrzymywać powiadomienia o nowych wersjach.
Lista kontrolna po wdrożeniu
- Strona otwiera się przez
https://, ahttp://przekierowuje na HTTPS. - Przeciągnij plik Markdown na edytor — otworzy się w nowej karcie.
- Zmień motyw i język w ustawieniach.
- Wyeksportuj dokument testowy do HTML, aby sprawdzić, czy pobieranie działa.
Gdy Twój edytor już działa, udostępnij zespołowi ściągawkę Markdown i dodaj do zakładek nasze poradniki o podglądzie Markdown oraz eksporcie do HTML i PDF.
Najczęściej zadawane pytania
Czy mogę hostować edytor Markdown na hostingu współdzielonym?
Tak. Statyczny edytor Markdown, taki jak Markdown Preview Editor, to po prostu pliki HTML, CSS i JavaScript. Wgraj i rozpakuj archiwum wydania do folderu głównego domeny lub subdomeny — nie potrzebujesz bazy danych ani języka po stronie serwera.
Czy edytor na własnym serwerze wysyła dokumenty na mój serwer?
Nie. Serwer tylko dostarcza pliki aplikacji. Dokumenty są otwierane i renderowane w przeglądarce każdego odwiedzającego i nie są nigdzie wysyłane.
Czy mogę umieścić go w podfolderze zamiast w subdomenie?
Tak, aplikacja działa w podfolderze, takim jak example.com/markdown/. Zalecamy jednak osobną subdomenę, ponieważ oddziela ona magazyn przeglądarki edytora od innych aplikacji w tej samej domenie.
Ile zasobów serwera potrzebuje?
Prawie żadnych. Serwer wysyła pliki statyczne tylko raz na odwiedzającego; potem są one przechowywane w pamięci podręcznej przeglądarki. Cała praca odbywa się na urządzeniu odwiedzającego.