Cómo instalar Excalidraw en Docker - Pizarra blanca colaborativa autohospedada en Docker

Excalidraw | Whiteboard | Docker

Excalidraw: Pizarra blanca colaborativa autohospedada en Docker

Dibuja diagramas con estética hand-drawn. Esquemas, wireframes, arquitectura. Todo en el navegador. Sin servidor backend. Privado 100%. Open source. Raspberry Pi.

¿Qué es Excalidraw?


Excalidraw es una pizarra blanca virtual para dibujar diagramas con un estilo hand-drawn (dibujado a mano) completamente open source y autohospedable. A diferencia de draw.io (formal, estructurado), Miro (SaaS, caro), o Lucidchart (cloud cerrado), Excalidraw ofrece una alternativa simple, privada, y enfocada en sketches informales.

Arquitectura única: El servidor solo entrega archivos estáticos (Nginx). Todos los diagramas viven en el navegador del usuario via localStorage e IndexedDB. El servidor nunca ve tus diagramas. Esto significa: cero base de datos, cero backend stateful, cero overhead de servidor, privacidad total.

Características principales: Editor de dibujo intuitivo con herramientas para rectángulos, círculos, líneas, flechas, texto. Estética hand-drawn estilo bosquejo. Biblioteca de 10,000+ shapes y elementos de comunidad. Exporta a PNG, SVG, PDF, .excalidraw (formato nativo). Temas claro/oscuro. Multi-idioma (70+ idiomas). Acceso offline (funciona sin internet). Libre de analytics y tracking. Open source MIT. Ultra-ligero (Raspberry Pi soportado).

Para arquitectos, diseñadores, engineers: Dibuja rápidamente arquitecturas, wireframes, diagramas de flujo. Sin fricción. Sin backend pesado. Solo tú y tu navegador.

Demostración en vídeo

Características principales

Editor hand-drawn

Estética de bosquejo. Diagramas que no parecen "corporativos". Amigable.

Herramientas completas

Rectángulos, círculos, líneas, flechas, texto, imágenes. Todo lo necesario.

10,000+ shapes

Biblioteca comunitaria. Íconos, wireframe elements, AWS diagrams, etc.

Exporta múltiples formatos

PNG, SVG, PDF, .excalidraw (nativo). Mantén tus dibujos.

Tema claro/oscuro

Cambia entre temas. Personalizable. Sigue preferencias sistema.

Offline-first

Funciona sin internet. Dibuja offline. Synca cuando vuelve conexión.

100% privado

Datos solo en el navegador. Server no ve nada. Cero tracking.

Open source MIT

Código abierto. Customizable. Contribuye al proyecto.

Ultra-ligero

Solo Nginx. Raspberry Pi lo soporta. Bytes, no gigabytes.

70+ idiomas

UI multilingüe. Soporta prácticamente cualquier idioma.

Sin dependencias

Cero database, cero cache, cero backend state. Docker simple.

Hospedaje gratuito oficial

Usa excalidraw.com gratis (official). O auto-hospédate.

Consideraciones importantes

Atención: La versión self-hosted básica NO soporta colaboración en tiempo real ni persistencia en servidor. Los diagramas se guardan solo en el navegador del usuario. Para colaboración, requiere configuración adicional con excalidraw-room (ver sección avanzada).

Requisitos del sistema

  • Docker & Docker Compose
  • RAM mínima: 256 MB (Nginx es ultra-ligero)
  • CPU: Cualquiera (no hay procesamiento backend)
  • Almacenamiento: 500 MB - 1 GB (imagen Docker)
  • Puerto: 5000 (configurable, puede ser 80/443)
  • Navegadores soportados: Cualquier navegador moderno
Extremadamente ligero: Excalidraw corre en Raspberry Pi Zero, VPS de $2.50/mes, cualquier servidor legacy. El overhead de servidor es prácticamente cero.

Instalación con Docker Compose

Opción 1: Docker Compose simple (localhost)

mkdir excalidraw && cd excalidraw cat > docker-compose.yml << 'EOF' version: '3.8' services: excalidraw: image: excalidraw/excalidraw:latest container_name: excalidraw-app restart: unless-stopped ports: - "5000:80" EOF docker compose up -d

Opción 2: Docker Compose con variables de entorno

cat > docker-compose.yml << 'EOF' version: '3.8' services: excalidraw: image: excalidraw/excalidraw:latest container_name: excalidraw restart: unless-stopped ports: - "5000:80" environment: # REACT_APP_* variables para personalizar - REACT_APP_TITLE=Mi Pizarra Privada # Idioma por defecto - REACT_APP_DEFAULT_LANGUAGE=es EOF docker compose up -d

Opción 3: Docker run simple

docker run -d \ --name excalidraw \ -p 5000:80 \ --restart unless-stopped \ excalidraw/excalidraw:latest

Acceder

http://localhost:5000 - Excalidraw editor

Primeros pasos

1. Abrir editor

  1. Abre http://localhost:5000 en navegador
  2. Canvas blanco aparece inmediatamente
  3. Editor listo para dibujar

2. Dibujar tu primer diagrama

  1. Left sidebar: selecciona rectángulo
  2. Click y arrastra en canvas para dibujar
  3. Doble click para agregar texto
  4. Usa flechas para conectar elementos

3. Exportar diagrama

  1. Hamburger menu (arriba derecha) → Export
  2. Elige formato: PNG, SVG, PDF, o .excalidraw
  3. Click "Export" para descargar

4. Guardar y compartir

  1. Diagram se guarda automáticamente en localStorage
  2. Actualiza página: diagram sigue allí
  3. Para compartir: debe exportar (.excalidraw)
  4. Otros importan archivo: File → Open para cargar

5. Personalizar tema

  1. Click en "u" (usuario) abajo derecha
  2. Settings → Theme
  3. Elige Light, Dark, o Auto

6. Cambiar idioma

  1. Settings → Language
  2. Selecciona español u otro idioma
  3. UI se actualiza inmediatamente

Casos de uso

  • Arquitectura de sistemas: Dibuja arquitecturas cloud, microservicios, infraestructura.
  • Wireframes: Diseño UI/UX rápido sin herramientas pesadas.
  • Flowcharts: Diagramas de flujo, procesos, decisiones.
  • Brainstorming: Sesiones rápidas de ideación sin estructura rígida.
  • Documentación técnica: Diagramas para READMEs, blogs, documentación.
  • Sketching durante reuniones: Toma notas visuales en tiempo real.
  • Mind maps: Mapas mentales, conexiones conceptuales.

Configuración avanzada

Agregar collaboracion (excalidraw-room)

Para colaboración en tiempo real, requiere servidor excalidraw-room adicional (Socket.io). Ver: https://github.com/excalidraw/excalidraw-room

Personalizar configuración con docker-compose

environment: REACT_APP_TITLE: Tu título REACT_APP_DEFAULT_LANGUAGE: es REACT_APP_THEME: dark # dark o light

Volumen persistente (opcional, aunque no es necesario)

volumes: - /var/www/excalidraw:/usr/share/nginx/html

Nginx personalizado

Crea tu propio Dockerfile para Nginx custom config si necesitas headers especiales o cache control.

HTTPS con Caddy (producción)

Caddyfile

excalidraw.tudominio.com { reverse_proxy localhost:5000 }

Acceso remoto seguro

https://excalidraw.tudominio.com con HTTPS automático de Caddy

Gestión y mantenimiento

Ver logs

docker logs -f excalidraw

Reiniciar

docker compose restart excalidraw

Actualizar a versión más reciente

docker compose pull docker compose up -d

Ver consumo de recursos

docker stats excalidraw # Verás que usa muy poco CPU, RAM, network

Backup (no necesario, pero...)

Como no hay data en servidor, backups son opcionales. Los usuarios guardan sus propios diagramas exportados.

Comparativa con alternativas

vs Draw.io (diagrams.net)

Excalidraw gana: Estética más casual, más simple, más rápido para sketches. Draw.io gana: Más completo, UML, wireframes profesionales.

vs Miro

Excalidraw gana: Self-hosted, gratis, privado, simple. Miro gana: Colaboración real-time, más features, más integraciones.

vs Lucidchart

Excalidraw gana: Self-hosted, open source, sin suscripción. Lucidchart gana: Enterprise, más professional.

vs Penpot

Excalidraw gana: Más simple, más ligero, mejor para sketches. Penpot gana: Diseño profesional, prototipos, colaboración.

Mejor para: Quien necesite pizarra simple, rápida, privada, y sin fricción. Sketches sobre UML formal. Self-hosted sin overhead.

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.