Installazione e Configurazione Base di Excalidraw su Ubuntu Server 26.04 con Docker Engine

di Raffaele Chiatto | Ott 5, 2026 | 0 commenti

Installazione e Configurazione Base di Excalidraw su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

 

Excalidraw è una lavagna virtuale open source, distribuita con licenza MIT, pensata per creare in modo rapido diagrammi, schizzi e wireframe con un caratteristico stile “disegnato a mano”.

A differenza degli strumenti di diagrammistica tradizionali, dove la precisione formale è spesso richiesta fin da subito, Excalidraw punta sull’informalità del tratto: questo lo rende particolarmente adatto alle fasi di brainstorming, alla progettazione rapida di flussi e architetture di sistema, o semplicemente a spiegare un’idea con pochi tratti essenziali, senza la rigidità di strumenti come UML o BPMN.

Il progetto, scritto in TypeScript e React, è sviluppato attivamente ed è oggi uno dei punti di riferimento tra le alternative open source a strumenti come Miro o FigJam.

Uno degli aspetti che rende Excalidraw interessante per un’organizzazione è proprio la possibilità di self-hosting: l’applicazione può essere eseguita interamente sui propri server tramite container Docker, mantenendo così pieno controllo sui dati e sui diagrammi prodotti, senza dipendere da un servizio cloud di terze parti né dover condividere contenuti potenzialmente sensibili (schemi di rete, architetture applicative, processi interni) al di fuori della propria infrastruttura.

Va però precisato un dettaglio tecnico non sempre evidente: l’immagine Docker ufficiale distribuita dal progetto fornisce solo l’editor client, mentre le funzionalità di collaborazione in tempo reale (più utenti che disegnano contemporaneamente sulla stessa lavagna) richiedono componenti aggiuntivi, come il servizio excalidraw-room per il canale WebSocket e un backend di storage per il salvataggio delle scene condivise.

Nella pratica, un self-hosting completo si realizza tipicamente componendo più container tramite Docker Compose.

In questo articolo vedremo come installare e configurare Excalidraw in versione base su un sistema Ubuntu Server 26.04, utilizzando Docker Engine per l’esecuzione dei container: dalla preparazione dell’ambiente Docker fino all’avvio della lavagna, con l’obiettivo di ottenere un’istanza funzionante e pronta all’uso.

 

PREREQUISITI

  • Server con Ubuntu Server 26.04 LTS appena installato, accesso sudo o root via SSH.
  • Risorse minime: 1 vCPU, 1 GB di RAM, 5 GB di spazio disco (l’app è molto leggera, ~40 MB l’immagine).
  • Un dominio che punti all’IP del server (consigliato: Excalidraw usa WebSocket per la collaborazione live, che funziona meglio dietro HTTPS).
  • Firewall con le porte 22 (SSH), 80 (HTTP) e 443 (HTTPS) raggiungibili.

 

AGGIORNAMENTO DEL SISTEMA

Aggiornare il sikstema con i seguenti comandi:

 

 

NOTA PRELIMINARE

Excalidraw non ha un metodo di installazione “tradizionale” (niente PHP/MySQL): il progetto distribuisce un’immagine Docker ufficiale ed è il modo supportato per self-hostarlo.

Questa guida usa Docker + Apache come reverse proxy HTTPS.

 

INSTALLAZIONE DI DOCKER ENGINE

Per l’installazione di Docker eseguire i comandi:

NOTA BENE: se sudo apt update restituisce un errore sul repository Docker (può succedere nei primi mesi dopo l’uscita di una nuova versione LTS, se Docker non ha ancora pubblicato i pacchetti per il codename “resolute”), sostituisci temporaneamente il valore di Suites con noble nel file /etc/apt/sources.list.d/docker.sources: i pacchetti di Ubuntu 24.04 sono compatibili.

 

AVVIO DEL CONTAINER EXCALIDRAW

Usare Docker Compose per gestire il servizio in modo ordinato:

Quindi copiare all’interno del file il seguente output:

NOTA BENE: Il container ascolta solo su localhost: sarà Apache a esporlo pubblicamente in HTTPS

Dovremmo visualizzare un output simile al seguente:

 

VERIFICA LOCALE

Fare una verifica con i seguenti comandi:

Il primo comando deve mostrare il container excalidraw in stato Up:

il secondo deve restituire HTTP/1.1 200 OK:

 

 

INSTALLAZIONE DI APACHE COME REVERSE PROXY

Installare Apache come Reverse Proxy con i seguenti comandi:

NOTA BENE: I moduli proxy_http e proxy_wstunnel sono necessari perché Excalidraw usa WebSocket per la modalità collaborativa.

 

VIRTUAL HOST DI APACHE

Configurare il Virtual Host di Apache editando il file con il comando:

Copiare il seguente output:

ATTENZIONE: Sostituire draw.tuodominio.org con il tuo dominio

Attivare il sito con i comandi:

 

 

HTTPS CON LET’S ENCRYPT

Attivare HTTPS con Let’s Encrypt con i seguenti comandi:

 

 

ACCESSO VIA WEB GUI

A questo punto è possibile richiamare da un qualsiasi browser il link http://draw.tuodominio.org

Installazione e Configurazione Base di Excalidraw su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Se è andato tutto a buon fine dovremmo visualizzare la lavagna virtuale come mostrato nell’immagine sovrastante

 

GESTIONE DEL CONTAINER

Alcuni comandi utili per la manutenzione ordinaria, da eseguire in /opt/excalidraw:

Grazie a restart: unless-stopped e a docker abilitato come servizio di sistema, il container riparte automaticamente anche dopo un riavvio del server.

 

COLLABORAZIONE IN TEMPO REALE (OPZIONALE-AVANZATO)

Va detto con chiarezza: l’immagine ufficiale excalidraw/excalidraw è una build statica che, per la funzione “Live collaboration”, punta al server pubblico gratuito di Excalidraw (oss-collab.excalidraw.com). Questo continua a funzionare anche su un’istanza self-hosted, e i dati della sessione restano comunque cifrati end-to-end lato client.

Se invece vuoi che tutto il traffico di collaborazione resti sul tuo server, serve affiancare il servizio ufficiale excalidraw/excalidraw-room e ricompilare il frontend da sorgente con la variabile VITE_APP_WS_SERVER_URL impostata sul tuo dominio: nell’immagine pre-costruita questo indirizzo è “congelato” nel bundle JavaScript in fase di build, non è configurabile a runtime con una semplice variabile d’ambiente.

Per questo motivo esula da una configurazione “base”: richiede una build Node.js personalizzata del frontend.

Se vuoi comunque provare il solo servizio di relay (utile se in futuro ricompili il frontend), il pezzo di configurazione è:

con un secondo Virtual Host Apache su un sottodominio dedicato (es. collab.tuodominio.org) che inoltra sia le richieste HTTP sia l’upgrade WebSocket verso 127.0.0.1:5001.

 

SALVATAGGIO E BACKUP

L’immagine base non include un database né uno storage lato server: ogni disegno viene salvato automaticamente solo nel localStorage del browser di chi lo sta usando.

Non c’è quindi nulla da backuppare sul server in questa configurazione base vale però la pena avvisare gli utenti di esportare periodicamente i lavori importanti da File → Esporta (formato .excalidraw o immagine), perché cancellare i dati del browser equivale a perdere il disegno.

 

PRO E CONTRO

PRO

  • Gratuito, open source e senza registrazione: licenza MIT, nessun costo di licenza né account da creare per iniziare a disegnare.
  • Interfaccia essenziale e curva di apprendimento minima: canvas pulito, tante scorciatoie da tastiera, adatto a chi vuole buttare giù un’idea senza distrazioni.
  • Stile “disegnato a mano” efficace per l’informalità: perfetto per brainstorming, wireframe rapidi e schemi di architettura da usare in fase di discussione, senza la rigidità di strumenti UML/BPMN.
  • Leggero ed embeddabile: distribuito anche come pacchetto React (@excalidraw/excalidraw), è integrabile in altre applicazioni ed esiste come plugin/estensione in strumenti come Obsidian e VS Code.
  • Controllo completo dei dati con il self-hosting: eseguendolo su propri container Docker, i diagrammi (anche quelli che rappresentano schemi di rete o architetture interne) restano sulla propria infrastruttura invece che su un servizio cloud di terze parti.
  • Esportazione flessibile: i lavori possono essere esportati in PNG, SVG o nel formato nativo .excalidraw per backup o condivisione manuale.

CONTRO

  • Non adatto a diagrammi formali complessi: manca di funzionalità per notazioni rigorose come UML, ER o BPMN, ed è meno indicato per presentazioni che richiedono un aspetto grafico curato e “pulito”.
  • Persistenza limitata nella versione self-hosted di base: senza un backend di storage dedicato, i disegni vengono salvati solo localmente nel browser (localStorage/IndexedDB); svuotando i dati del browser si perde tutto ciò che non è stato esportato manualmente.
  • Collaborazione in tempo reale non inclusa “di serie”: l’immagine Docker ufficiale fornisce solo l’editor; abilitare la collaborazione multi-utente richiede componenti aggiuntivi (excalidraw-room, backend di storage) e una configurazione più articolata via Docker Compose.
  • Nessuna condivisione tramite link diretto: a differenza della versione pubblica excalidraw.com, l’istanza self-hosted non genera link di condivisione: la distribuzione dei lavori avviene esportando e inviando manualmente i file.
  • Dipendenza da accesso HTTPS in uscita per le librerie della community: in ambienti isolati o air-gapped questa funzionalità non è disponibile senza interventi manuali.
  • Versionamento dell’immagine Docker poco strutturato: sono disponibili solo i tag latest o basati sull’hash del commit, senza versioning semantico, il che rende più delicata la gestione degli aggiornamenti in un ambiente di produzione.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Servizi ICT
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore
  • Angelo Lauria  Autore
  • Edoardo Prot  Autore
  • Davide D'Urso  Autore
Raffaele Chiatto

Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.

Categorie: Docker | Excalidraw | Ubuntu

Related Post

0 Commenti

Invia Un Commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione