1. Home
  2. Blog
  3. Self-hosting

Come ospitare un editor Markdown su hosting condiviso, Docker o nginx

Ospita il tuo editor Markdown con anteprima in pochi minuti. Guida passo passo per hosting condiviso (cPanel), Docker, nginx e Caddy, senza database.

Un editor Markdown self-hosted offre al tuo team un unico strumento familiare sul tuo dominio: niente account, niente abbonamenti e nessuna dipendenza da un servizio altrui che deve restare online. Se l’editor è un’app web statica, ospitarlo è semplice come ospitare qualche file HTML: nessun database da gestire, nessun codice lato server da aggiornare e un carico quasi nullo sul server.

Questa guida usa Markdown Preview Editor come esempio. È gratuito e open source (MIT) e gli stessi passaggi valgono per qualsiasi applicazione web statica.

Perché ospitare un editor Markdown in proprio?

  • Il tuo dominio, le tue regole. L’editor è disponibile a un indirizzo che controlli tu, per esempio markdown.your-company.com, e funziona allo stesso modo per chiunque lo usi.
  • Nessuna manutenzione. Un sito statico non ha backend, quindi niente patch di sicurezza per il codice lato server e niente backup del database.
  • I documenti restano in locale. Markdown Preview Editor elabora tutto nel browser del visitatore. Il server consegna solo i file dell’app e non riceve mai i documenti.
  • Non costa nulla farlo girare. Basta un qualsiasi piano di hosting condiviso, un piccolo VPS o una piattaforma per container.

Cosa ti serve

Un qualsiasi server web in grado di servire file statici via HTTPS:

  • un hosting condiviso con cPanel, Plesk o DirectAdmin (Apache o LiteSpeed),
  • un server con Docker,
  • nginx o Caddy su un VPS,
  • o anche il tuo computer, per l’uso in locale.

Sul server non servono PHP, Node.js né database.

Opzione 1: hosting condiviso (cPanel e simili)

È la strada più rapida e non richiede la riga di comando.

  1. Scarica l’archivio del sito. Prendi markdown-preview-editor-site.zip dall’ultima versione. Contiene il sito web già pronto.
  2. Scegli l’indirizzo. Usa il dominio principale oppure crea un sottodominio come markdown.example.com nel pannello di controllo dell’hosting. Annota la cartella document root del sottodominio.
  3. Attiva HTTPS. La maggior parte degli hosting emette certificati gratuiti automaticamente (AutoSSL o Let’s Encrypt). Verifica che il certificato sia attivo per il dominio o il sottodominio.
  4. Carica ed estrai. Apri il File Manager, vai nella document root, carica il file zip e scegli Extract (Estrai). I file, compreso un .htaccess nascosto, devono trovarsi direttamente nella document root, non in una sottocartella.
  5. Apri il tuo dominio. L’editor è pronto.

Il file .htaccess incluso reindirizza HTTP su HTTPS, imposta gli header di sicurezza e configura la cache sui server Apache e LiteSpeed.

Suggerimento

Se lo scanner degli upload del tuo hosting rifiuta gli archivi zip che contengono file JavaScript (un falso positivo noto di alcune regole antivirus), usa l’archivio .tar.gz della stessa versione oppure carica i file via FTP.

Opzione 2: Docker

Se usi i container, clona il repository e avvia il file Compose incluso:

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

Apri http://localhost:8080, o la porta che hai scelto. L’immagine compila il sito e lo serve con nginx e gli stessi header di sicurezza. Per un dominio pubblico, metti il container dietro il tuo solito reverse proxy con HTTPS.

Opzione 3: nginx

Compila il sito (o estrai l’archivio della versione) e copia i file nella web root:

bashnpm ci && npm run build
sudo cp -r dist/* /var/www/markdown/

Il repository contiene una configurazione pronta in deploy/nginx.conf con gli header di sicurezza e le regole di cache. Il nucleo della configurazione di un sito statico è breve:

nginxserver {
    listen 443 ssl;
    server_name markdown.example.com;
    # qui vanno le righe ssl_certificate e ssl_certificate_key

    root /var/www/markdown;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

Ricarica nginx con sudo nginx -s reload e apri il dominio.

Opzione 4: Caddy

Caddy ottiene automaticamente i certificati HTTPS, il che lo rende l’opzione più semplice per un VPS:

bashSITE_ADDRESS=markdown.example.com caddy run --config deploy/Caddyfile

Prima copia i file compilati in /srv; il Caddyfile incluso li serve con gli stessi header delle altre opzioni.

Opzione 5: eseguirlo in locale

Per l’uso personale non ti serve affatto un server:

bashnpm ci
npm run dev

Apri nel browser l’indirizzo locale mostrato nel terminale.

Tenerlo aggiornato

Aggiornare un sito statico significa sostituirne i file. Scarica l’archivio della nuova versione, estrailo sopra i vecchi file e ricarica la pagina. Poiché i nomi dei file dell’app includono hash del contenuto, i browser caricano la nuova versione senza cache obsolete. Segui il repository GitHub (Watch → Custom → Releases) per ricevere una notifica sulle nuove versioni.

Checklist dopo il deploy

  • Il sito si apre via https:// e http:// reindirizza lì.
  • Trascina un file Markdown sull’editor: si apre in una nuova scheda.
  • Cambia tema e lingua nelle impostazioni.
  • Esporta un documento di prova in HTML per verificare che i download funzionino.

Quando il tuo editor è online, condividi con il team il cheat sheet Markdown e salva nei preferiti le nostre guide su anteprima Markdown ed esportazione in HTML e PDF.

Domande frequenti

Posso ospitare un editor Markdown su un hosting condiviso?

Sì. Un editor Markdown statico come Markdown Preview Editor è fatto solo di file HTML, CSS e JavaScript. Carica ed estrai l’archivio della versione nella document root del tuo dominio o sottodominio: non servono database né linguaggi lato server.

L’editor self-hosted invia i documenti al mio server?

No. Il server consegna solo i file dell’applicazione. I documenti vengono aperti e visualizzati nel browser di ciascun visitatore e non vengono caricati.

Posso ospitarlo in una sottocartella invece che in un sottodominio?

Sì, l’app funziona anche da una sottocartella come example.com/markdown/. Tuttavia è consigliato un sottodominio separato, perché isola l’archivio del browser dell’editor dalle altre app sullo stesso dominio.

Di quante risorse server ha bisogno?

Quasi nessuna. Il server invia i file statici una sola volta per visitatore; poi vengono memorizzati nella cache del browser. Tutto il lavoro avviene sul dispositivo del visitatore.