---
title: "Excalidraw: Docker Compose і хостинг в один клік"
description: "Excalidraw — онлайн-дошка з відкритим кодом для діаграм і ескізів від руки зі спільною роботою наживо. Self-hosted альтернатива Miro в один клік."
---

[← Усі шаблони](https://pethost.dev/uk/templates/) · [Продуктивність](https://pethost.dev/uk/templates/productivity/)

# Задеплойте Excalidraw в один клік

Дошка для діаграм і ескізів від руки зі спільною роботою наживо

Альтернатива Miro, FigJam і Lucidchart на вашій машині.

[Задеплоїти на Pethost](https://console.pethost.dev/?template=excalidraw)

## Що таке Excalidraw?

Excalidraw — віртуальна дошка з відкритим кодом, на якій фігури, стрілки й текст виглядають намальованими від руки. На ній накидають схеми архітектури, блок-схеми й вайрфрейми на зустрічах чи для документації — там, де інші відкрили б Miro або Lucidchart. У ній є нескінченне полотно, фрейми, зображення, лазерний вказівник і темна тема. «Mermaid у Excalidraw» перетворює код Mermaid на фігури, які можна редагувати, а малюнок експортується як зображення PNG або SVG чи зберігається у файл .excalidraw, щоб відкрити його знову. Публічні бібліотеки готових фігур, від іконок хмарних сервісів до UI-кітів, додаються одним кліком.

Цей шаблон запускає образ самого Excalidraw разом із його сервером спільної роботи, тож на одному полотні можуть малювати кілька людей одночасно. «Поділитися», а потім «Почати сесію» дають посилання, у якому міститься ключ сесії, а браузери шифрують кожну зміну, перш ніж вона дійде до сервера. Акаунтів немає, і сервер не зберігає малюнків: полотно кожної людини лишається в її браузері, а щойно застосунок завантажився, він працює й офлайн. Крім того, шаблон прибирає скрипт Simple Analytics, який завантажує сторінка з образу.

Підводні камені: користуватися ним може будь-хто, у кого є адреса. Посилання тільки для читання («Експортувати у посилання») та інструменти ШІ, «Діаграма з тексту» і «Перетворити у код», працюють лише на excalidraw.com: його сервери відмовляють іншим сайтам. Сцена й зображення сесії також зберігаються, зашифровані, у Firebase сайту excalidraw.com, завдяки чому посилання сесії згодом відкриває її знову, а шрифти сторінки завантажуються з CDN Excalidraw.

## Хостинг Excalidraw на Pethost

1. Ви входите в Pethost — з ключем доступу, через GitHub або Google. Машини ще немає? Ви обираєте тариф, і посилання чекає, доки машина не буде готова.
2. Вікно «Новий проєкт» відкривається на застосунку Excalidraw, і ви натискаєте «Створити проєкт».
3. За хвилину-дві Excalidraw працює за власною адресою з HTTPS. Секрети створюються випадково, а дані потрапляють у щонічний бекап.
4. Це проєкт як будь-який інший: ви або ваш агент можете його змінити, відкотити або відновити.

## Питання про Excalidraw

**Чи Excalidraw безкоштовний і з відкритим кодом?**

Так. Excalidraw поширюється за ліцензією MIT, а його код лежить на GitHub. Excalidraw+ від тієї ж команди — це версія на їхньому хостингу за 6 $ на місяць за кожного користувача: вона додає хмарне сховище, необмежену кількість сцен і папок, права доступу, презентації та коментарі.

**Де Excalidraw зберігає мої малюнки?**

У вашому браузері. Excalidraw зберігає полотно просто під час малювання, у локальному сховищі браузера, і на сервер нічого не потрапляє. В іншому браузері чи на іншому пристрої полотно буде порожнім, а очищення даних сайту видаляє малюнок, тож зберігайте важливе через «Зберегти як...» → «Зберегти до файлу»: «Відкрити» знову завантажує файл .excalidraw.

**Чи можуть кілька людей малювати разом у self-hosted Excalidraw?**

Так, із цим шаблоном. Натисніть «Поділитися», потім «Почати сесію» й надішліть посилання: кожен, хто його відкриє, малює на тому самому полотні й бачить курсори інших. Сесія наскрізно зашифрована, а її ключ лежить у частині посилання після #, яку браузер ніколи не надсилає на сервер. Docker-образ Excalidraw сам цього не вміє, тож шаблон додає сервер спільної роботи Excalidraw і спрямовує на нього сторінки.

**Чому «Експортувати у посилання» не спрацьовує в self-hosted Excalidraw?**

Посилання тільки для читання зберігає сервер excalidraw.com, а він приймає їх лише з excalidraw.com, тож тут кнопка показує помилку. Натомість поділіться сесією наживо або файлом .excalidraw.

**Чи вміє Excalidraw перетворювати код Mermaid на діаграму?**

Так. «Інші інструменти» → «Mermaid у Excalidraw» бере код Mermaid і вставляє його як фігури й стрілки, які можна редагувати. Перетворюються блок-схеми, діаграми послідовностей і класів та ER-діаграми; решта видів вставляється як зображення. Це працює в браузері, на відміну від інструмента ШІ «Діаграма з тексту», який працює лише на excalidraw.com.

**Чи працює Excalidraw офлайн?**

Так. Щойно сторінка завантажилася, її сервіс-воркер зберігає застосунок, тож той відкривається й дає малювати без з’єднання, а Chrome чи Edge можуть встановити його як застосунок. А от для сесії наживо з’єднання потрібне.

**Скільки пам’яті й диска потрібно Excalidraw?**

Excalidraw дуже легкий: близько 40 MB пам’яті разом із сервером спільної роботи, а даних він не зберігає зовсім, бо малюнки лишаються в браузерах. На Pethost йому вистачить тарифу Starter, і поруч залишиться місце для інших застосунків.

## Excalidraw: файл Docker Compose

Шаблон — це цей compose.yaml і змінні, які записуються в .env проєкту під час його створення. Pethost запускає файл так, як його написано.

**Контейнери:** 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)[Відкрити на GitHub](https://github.com/pethost-dev/templates/tree/main/excalidraw)

## [Ще в категорії «Продуктивність»](https://pethost.dev/uk/templates/productivity/)

- [**Mealie**Менеджер рецептів і планувальник харчування](https://pethost.dev/uk/templates/mealie/)
- [**Ryot**Трекер фільмів, серіалів, книжок, ігор і тренувань](https://pethost.dev/uk/templates/ryot/)
- [**Vikunja**Списки завдань і проєкти, з канбаном і діаграмою Ганта](https://pethost.dev/uk/templates/vikunja/)
- [**NocoDB**No-code база даних: таблиці у вигляді електронних таблиць, форми, канбан-дошки й календарі, з API](https://pethost.dev/uk/templates/nocodb/)
- [**Odoo**Бізнес-застосунки в одному: CRM, продажі, рахунки, склад, вебсайт, проєкти та інше](https://pethost.dev/uk/templates/odoo/)
- [**PLANKA**Канбан-дошки для проєктів і команд, що оновлюються для всіх у реальному часі](https://pethost.dev/uk/templates/planka/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблони](https://pethost.dev/uk/templates/)
- [Про нас](https://pethost.dev/about/)
- [Документація](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/uk/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Плагін](https://github.com/pethost-dev/plugin)
- [Умови](https://pethost.dev/terms/)
- [Конфіденційність](https://pethost.dev/privacy/)
- [Повернення коштів](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Бази даних

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

Порівняння

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/uk/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/uk/blog/coolify-cloud-vs-dokploy-cloud/)
- [Ціни Railway vs Render vs Fly.io](https://pethost.dev/uk/blog/railway-vs-render-vs-fly-io-pricing/)
- [Керований хостинг Docker Compose](https://pethost.dev/uk/blog/managed-docker-compose-hosting/)

Альтернативи

- [Альтернативи Railway](https://pethost.dev/uk/blog/railway-alternatives/)
- [Альтернативи Heroku](https://pethost.dev/uk/blog/heroku-alternatives/)
- [Альтернативи Dokploy](https://pethost.dev/uk/blog/dokploy-alternatives/)
- [Альтернативи Coolify](https://pethost.dev/uk/blog/coolify-alternatives/)
- [Альтернативи Render](https://pethost.dev/uk/blog/render-alternatives/)
- [Альтернативи Sliplane](https://pethost.dev/uk/blog/sliplane-alternatives/)
