---
title: "Excalidraw con Docker Compose y hosting en un clic"
description: "Excalidraw es una pizarra de código abierto para diagramas y bocetos a mano, colaborativa en tiempo real. Una alternativa a Miro que autoalojas en un clic."
---

[← Todas las plantillas](https://pethost.dev/es/templates/) · [Productividad](https://pethost.dev/es/templates/productivity/)

# Despliega Excalidraw en un clic

Una pizarra para diagramas y bocetos dibujados a mano, con colaboración en tiempo real

Una alternativa autoalojada a Miro, FigJam y Lucidchart.

[Desplegar en Pethost](https://console.pethost.dev/?template=excalidraw)

## ¿Qué es Excalidraw?

Excalidraw es una pizarra virtual de código abierto cuyas formas, flechas y textos parecen dibujados a mano. La gente esboza en ella diagramas de arquitectura, diagramas de flujo y wireframes, en reuniones o para la documentación, donde otros abrirían Miro o Lucidchart. Tiene un lienzo infinito, marcos, imágenes, puntero láser y modo oscuro. Mermaid a Excalidraw convierte código Mermaid en formas que puedes editar, y un dibujo se exporta como imagen PNG o SVG o se guarda como archivo .excalidraw para abrirlo de nuevo. Las bibliotecas públicas de formas listas para usar, desde iconos de nube hasta kits de UI, se agregan con un clic.

Esta plantilla ejecuta la propia imagen de Excalidraw junto con su servidor de colaboración, para que varias personas puedan dibujar a la vez en un mismo lienzo. “Compartir” y luego “Iniciar sesión” dan un enlace que contiene la clave de la sesión, y los navegadores cifran cada cambio antes de que llegue al servidor. No hay cuentas y el servidor no guarda ningún dibujo: el lienzo de cada persona se queda en su navegador, y la app sigue funcionando sin conexión una vez cargada. La plantilla también deja fuera el script de Simple Analytics que carga la página de la imagen.

Los inconvenientes: cualquiera que tenga la dirección puede usarlo. Los enlaces de solo lectura (“Exportar a Link”) y las herramientas de IA, “Texto a diagrama” y “Esquema a código”, solo funcionan en excalidraw.com, cuyos servidores rechazan otros sitios. La escena y las imágenes de una sesión también se guardan, cifradas, en el Firebase de excalidraw.com, que es lo que permite que su enlace la vuelva a abrir más tarde, y las páginas cargan sus fuentes desde el CDN de Excalidraw.

## Hosting de Excalidraw en Pethost

1. Inicias sesión en Pethost con una passkey, GitHub o Google. ¿Aún no tienes máquina? Eliges un plan, y el enlace espera hasta que esté lista.
2. Nuevo proyecto se abre en Excalidraw, y haces clic en Crear proyecto.
3. En un par de minutos Excalidraw está en marcha en su propia dirección con HTTPS. Sus secretos se generan al azar, y sus datos entran en el backup de cada noche.
4. Es un proyecto como cualquier otro: tú o tu agente lo pueden cambiar, volver a una versión anterior o restaurar.

## Preguntas sobre Excalidraw

**¿Excalidraw es gratis y de código abierto?**

Sí. Excalidraw está bajo la licencia MIT, con su código en GitHub. Excalidraw+, del mismo equipo, es una versión alojada que cuesta 6 USD por usuario al mes y agrega almacenamiento en la nube, escenas y carpetas ilimitadas, permisos de acceso, presentaciones y comentarios.

**¿Dónde guarda Excalidraw mis dibujos?**

En tu navegador. Excalidraw guarda el lienzo mientras dibujas, en el almacenamiento local del navegador, y nada llega al servidor. En otro navegador o dispositivo el lienzo empieza vacío, y al borrar los datos del sitio se elimina el dibujo, así que conserva lo importante con Guardar en... → Guardar en archivo: “Abrir” vuelve a cargar el archivo .excalidraw.

**¿Varias personas pueden dibujar juntas en un Excalidraw autoalojado?**

Sí, con esta plantilla. Haz clic en “Compartir”, luego en “Iniciar sesión”, y envía el enlace: todos los que lo abran dibujan en el mismo lienzo y ven los punteros de los demás. La sesión está cifrada de extremo a extremo, con su clave en la parte del enlace que va después de #, que un navegador nunca envía a un servidor. La imagen de Docker de Excalidraw no puede hacerlo sola, así que la plantilla agrega el servidor de colaboración de Excalidraw y hace que las páginas apunten a él.

**¿Por qué falla “Exportar a Link” en un Excalidraw autoalojado?**

Los enlaces de solo lectura los guarda el servidor de excalidraw.com, que solo los acepta desde excalidraw.com, así que aquí el botón muestra un error. En su lugar, comparte una sesión en tiempo real o el archivo .excalidraw.

**¿Excalidraw puede convertir código Mermaid en un diagrama?**

Sí. Más herramientas → Mermaid a Excalidraw toma código Mermaid y lo inserta como formas y flechas que puedes editar. Se convierten los diagramas de flujo, de secuencia, de clases y de entidad-relación; los demás tipos entran como imagen. Funciona en el navegador, a diferencia de “Texto a diagrama”, la herramienta de IA, que solo funciona en excalidraw.com.

**¿Excalidraw funciona sin conexión?**

Sí. Una vez cargada la página, su service worker guarda la app, así que se abre y se puede dibujar sin conexión, y Chrome o Edge pueden instalarla como app. Una sesión en tiempo real necesita la conexión.

**¿Cuánta memoria y disco necesita Excalidraw?**

Excalidraw es muy ligero: unos 40 MB de memoria con su servidor de colaboración, y no guarda nada, porque los dibujos quedan en los navegadores. En Pethost le basta el plan Starter, y queda sitio para otras apps a su lado.

## El archivo Docker Compose de Excalidraw

La plantilla es este compose.yaml y las variables que se escriben en el .env del proyecto al crearlo. Pethost ejecuta el archivo tal como está escrito.

**Contenedores:** excalidraw (excalidraw/excalidraw@sha256:f7ee194addd607bf831d2af0f0a34463dd4225e426cf35199ef0b12a803398e9), room (excalidraw/excalidraw-room:sha-03ff435).

```
services:
  excalidraw:
    # Excalidraw publishes its image only as latest, built from its release branch, so the digest
    # pins one build of it: that of 2026-05-06. The app is pages for the browser, which keeps the
    # drawings: nothing of them is stored here.
    image: excalidraw/excalidraw@sha256:f7ee194addd607bf831d2af0f0a34463dd4225e426cf35199ef0b12a803398e9
    restart: unless-stopped
    # The pages are built to collaborate through excalidraw.com's server, which refuses any other
    # site's visitors: they are pointed at this address instead, whose /socket.io/ is the room.
    # Excalidraw's docs say the image has no analytics, though its page loads Simple Analytics'
    # script: the script is given no address.
    entrypoint:
      - sh
      - -c
      - |
        cd /usr/share/nginx/html
        sed -i 's#"https://oss-collab.excalidraw.com"#location.origin#g' assets/index-*.js
        sed -i 's#https://scripts.simpleanalyticscdn.com/latest.js##' index.html
        exec /docker-entrypoint.sh nginx -g 'daemon off;'
    configs:
      - source: nginx
        target: /etc/nginx/conf.d/default.conf
    # The image's own check asks localhost, which is ::1 first, where nginx listens only with the
    # file it was packaged with.
    healthcheck:
      test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1"]
    depends_on:
      - room

  # Excalidraw's collaboration server: it relays a session's changes, encrypted in the browsers
  # with the key in the link's #, which never reaches it, and keeps nothing.
  room:
    image: excalidraw/excalidraw-room:sha-03ff435
    restart: unless-stopped

configs:
  nginx:
    content: |
      server {
        listen 80;
        root /usr/share/nginx/html;

        location /socket.io/ {
          proxy_pass http://room;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $$http_upgrade;
          proxy_set_header Connection "upgrade";
          proxy_set_header Host $$host;
          proxy_read_timeout 1h;
        }
      }
```

[compose.yaml](https://pethost.dev/templates/excalidraw/compose.yaml)[Verla en GitHub](https://github.com/pethost-dev/templates/tree/main/excalidraw)

## [Más en Productividad](https://pethost.dev/es/templates/productivity/)

- [**Mealie**Un administrador de recetas y planificador de comidas](https://pethost.dev/es/templates/mealie/)
- [**Ryot**Seguimiento de películas, series, libros, juegos y entrenamientos](https://pethost.dev/es/templates/ryot/)
- [**Vikunja**Listas de tareas y proyectos, con vistas kanban y Gantt](https://pethost.dev/es/templates/vikunja/)
- [**NocoDB**Una base de datos sin código: tablas como hojas de cálculo, formularios, tableros kanban y calendarios, con API](https://pethost.dev/es/templates/nocodb/)
- [**Odoo**Aplicaciones empresariales en una sola suite: CRM, ventas, facturación, inventario, sitio web, proyectos y más](https://pethost.dev/es/templates/odoo/)
- [**PLANKA**Tableros kanban para proyectos y equipos, actualizados para todos en tiempo real](https://pethost.dev/es/templates/planka/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Plantillas](https://pethost.dev/es/templates/)
- [Sobre nosotros](https://pethost.dev/about/)
- [Docs](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/es/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Términos](https://pethost.dev/terms/)
- [Privacidad](https://pethost.dev/privacy/)
- [Reembolsos](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bases de datos

- [Postgres](https://pethost.dev/es/postgres/)

Comparativas

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/es/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/es/blog/coolify-cloud-vs-dokploy-cloud/)
- [Precios de Railway vs Render vs Fly.io](https://pethost.dev/es/blog/railway-vs-render-vs-fly-io-pricing/)
- [Hosting gestionado para Docker Compose](https://pethost.dev/es/blog/managed-docker-compose-hosting/)

Alternativas

- [Alternativas a Railway](https://pethost.dev/es/blog/railway-alternatives/)
- [Alternativas a Heroku](https://pethost.dev/es/blog/heroku-alternatives/)
- [Alternativas a Dokploy](https://pethost.dev/es/blog/dokploy-alternatives/)
- [Alternativas a Coolify](https://pethost.dev/es/blog/coolify-alternatives/)
- [Alternativas a Render](https://pethost.dev/es/blog/render-alternatives/)
- [Alternativas a Sliplane](https://pethost.dev/es/blog/sliplane-alternatives/)
