1. Что такое Docmost и зачем он нужен
Команде нужно где-то хранить знания: документацию проекта, инструкции для новых людей, заметки по задачам, решения по архитектуре. Notion и Confluence справляются, но стоят денег — и немалых. Notion: от $16 за человека в месяц. Confluence: от $5.75, но растёт быстро. Если в команде 10 человек — это $60–160/месяц только за wiki.
Docmost — open-source аналог. Ставится на свой VPS, и тогда количество пользователей и страниц ничем не ограничено. Месячные расходы — только стоимость VPS.
✏️ Совместное редактирование
Несколько человек правят одну страницу одновременно — видны курсоры и изменения коллег в реальном времени, как в Google Docs.
📁 Пространства
Разделяйте знания по командам или проектам: «Разработка», «Маркетинг», «HR». У каждого пространства свои участники и права.
🔀 История изменений
Каждая правка сохраняется. Можно посмотреть что изменилось и восстановить любую версию страницы.
🗂️ Вложенные страницы
Страница может содержать любое количество подстраниц — никакой жёсткой иерархии как в BookStack.
📐 Диаграммы прямо в тексте
Mermaid (схемы, UML, flowchart), Draw.io, Excalidraw — вставляются как блоки в текст страницы.
🔍 Полнотекстовый поиск
Поиск работает по содержимому всех страниц через PostgreSQL. Результаты появляются мгновенно.
💬 Комментарии к страницам
Можно обсуждать страницу в комментариях, упоминать коллег через @имя — они получат уведомление.
🌐 Публичные страницы
Отдельные пространства можно открыть для всех — удобно для публичной документации продукта.
Docmost v0.70 — что нового
В марте 2026 вышел v0.70 с уведомлениями о комментариях и упоминаниях, инлайн-статусом страницы (/status) и многоколончатым лэйаутом. Проект активно развивается — обновления выходят несколько раз в месяц.
2. Требования к серверу
| Параметр | Минимум | Комфортно |
|---|---|---|
| RAM | 1 ГБ | 2 ГБ (рекомендуется) |
| CPU | 1 vCPU | 2 vCPU |
| Диск | 10 ГБ SSD | 20+ ГБ (файлы вложений) |
| ОС | Ubuntu 22.04 LTS | Ubuntu 22.04 / 24.04 LTS |
| Docker | 24.0+ | Последняя стабильная версия |
Docmost запускает три контейнера: само приложение на Node.js, PostgreSQL и Redis. На 1 ГБ RAM всё умещается, но останется мало запаса. Если на этом же сервере работают другие сервисы — берите 2 ГБ.
3. Установка через Docker Compose
Если Docker ещё не установлен, поставим его. Затем создадим папку для Docmost и конфигурационные файлы.
Установка Docker
curl -fsSL https://get.docker.com | shСоздание директории и файлов
mkdir -p /opt/docmost && cd /opt/docmostСгенерируйте секретный ключ — он нужен для подписи сессий. Приложение не запустится, если в APP_SECRET стоит заглушка.
openssl rand -hex 32Создайте файл .env с настройками. Замените значения на свои:
APP_URL=https://wiki.ваш-домен.ru
APP_SECRET=ВСТАВЬТЕ_СГЕНЕРИРОВАННЫЙ_СЕКРЕТ
DATABASE_URL=postgresql://docmost:StrongPass123@db:5432/docmost
REDIS_URL=redis://redis:6379
# Отключить анонимную телеметрию (опционально)
DISABLE_TELEMETRY=true
# SMTP для приглашений (заполните, если хотите приглашать по email)
# MAIL_DRIVER=smtp
# SMTP_HOST=smtp.gmail.com
# SMTP_PORT=587
# SMTP_USERNAME=you@gmail.com
# SMTP_PASSWORD=app-password
# MAIL_FROM_ADDRESS=you@gmail.com
# MAIL_FROM_NAME=DocmostВажно: пароль в двух местах
Пароль базы данных задаётся и в DATABASE_URL, и в POSTGRES_PASSWORD в docker-compose.yml. Они должны совпадать. Если поменяете в одном месте — поменяйте в обоих.
Создайте файл docker-compose.yml:
services:
docmost:
image: docmost/docmost:latest
depends_on:
- db
- redis
env_file: .env
ports:
- "127.0.0.1:3000:3000"
restart: unless-stopped
volumes:
- docmost_storage:/app/data/storage
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: StrongPass123
restart: unless-stopped
volumes:
- db_data:/var/lib/postgresql/data
redis:
image: redis:7-alpine
command: ["redis-server", "--appendonly", "yes", "--maxmemory-policy", "noeviction"]
restart: unless-stopped
volumes:
- redis_data:/data
volumes:
docmost_storage:
db_data:
redis_data:Почему 127.0.0.1:3000, а не 0.0.0.0:3000?
Порт 127.0.0.1:3000 слушает только на локальном интерфейсе — Docmost не будет доступен напрямую из интернета. Запросы идут через Nginx (настроим ниже), который занимается SSL и проксирует на 3000. Это правильная и безопасная схема.
Запустите контейнеры:
cd /opt/docmost
docker compose up -dПроверьте, что все три контейнера запустились:
docker compose psВсе три контейнера (docmost, db, redis) должны быть в статусе Up. Если какой-то упал — смотрите логи: docker compose logs docmost.
4. Nginx и SSL
Docmost требует WebSocket для работы совместного редактирования. Если Nginx не настроен правильно, редактор будет в режиме «только чтение» — это самая частая проблема. Обязательно добавьте три строки с WebSocket-заголовками.
Сначала настройте DNS
Добавьте A-запись у вашего регистратора:
wiki.ваш-домен.ru → A → IP_ВАШЕГО_VPSКонфиг Nginx
Создайте файл конфигурации:
nano /etc/nginx/sites-available/docmostserver {
listen 80;
server_name wiki.ваш-домен.ru;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name wiki.ваш-домен.ru;
ssl_certificate /etc/letsencrypt/live/wiki.ваш-домен.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wiki.ваш-домен.ru/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
client_max_body_size 100m;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Обязательно для совместного редактирования (WebSocket)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}Включите конфиг и получите SSL-сертификат:
ln -s /etc/nginx/sites-available/docmost /etc/nginx/sites-enabled/
nginx -tufw allow 80/tcp
ufw allow 443/tcp
ufw reload# Если certbot не установлен:
apt install -y certbot python3-certbot-nginx
certbot --nginx -d wiki.ваш-домен.rusystemctl reload nginxПроверьте WebSocket
После настройки Nginx откройте страницу в Docmost и попробуйте что-нибудь написать. Если текст вводится — WebSocket работает. Если редактор читает только — проверьте конфиг Nginx: строки Upgrade и Connection должны быть на месте.
5. Первый запуск и создание workspace
Откройте https://wiki.ваш-домен.ru в браузере. Первый человек, который зарегистрируется, автоматически становится администратором. Никаких дополнительных команд не нужно.
- 1Введите имя, email и пароль → нажмите Create account. Первый аккаунт — всегда администратор.
- 2Создайте первое пространство (Space) — например, «Документация проекта» или «Общая база знаний».
- 3Вы окажетесь в пустом пространстве. В левой панели нажмите New page — создаётся первая страница.
- 4Напишите заголовок и начните вводить текст. Нажмите
/для меню блоков: заголовки, таблицы, код, изображения, диаграммы.
Что такое пространство (Space)?
Пространство — это изолированный раздел wiki со своими участниками и правами. Например: «Разработка» (только для разработчиков), «HR» (для HR-команды), «Общее» (для всех). Страницы одного пространства не видны участникам другого, если им не дать доступ.
6. Возможности редактора
Редактор Docmost работает на блоках — как Notion. Нажмите / в любом месте страницы и выберите нужный тип:
/h1, /h2, /h3Заголовки трёх уровней/tableТаблица с сортировкой колонок/codeБлок кода с подсветкой синтаксиса (50+ языков)/imageЗагрузить изображение или вставить по URL/calloutБлок-выноска (инфо, предупреждение, опасность)/mermaidДиаграммы: flowchart, sequenceDiagram, ER-диаграмма, Gantt/drawioDraw.io прямо в странице — схемы, BPMN, UML/excalidrawРисование от руки — схемы и скетчи/tabsВкладки внутри страницы — несколько кодовых примеров/tocАвтоматическое оглавление по заголовкам страницыПример Mermaid-диаграммы
Вставьте блок /mermaid и напишите:
graph TD
A[Пользователь] --> B{Авторизован?}
B -- Да --> C[Показать wiki]
B -- Нет --> D[Форма входа]
D --> BDocmost отрисует схему прямо в странице. Код и картинка хранятся вместе — при изменении кода схема обновляется автоматически.
7. Пространства и права доступа
Пространства — основной инструмент организации доступа. Каждому пространству можно назначить участников с разными ролями.
| Роль | Что может делать |
|---|---|
| Admin (пространства) | Всё: управлять участниками, настраивать пространство, удалять |
| Editor | Создавать, редактировать, удалять страницы |
| Viewer | Только читать страницы |
Создать новое пространство
- 1В левой панели нажмите на иконку + рядом с «Spaces» (или кнопку «Create Space»).
- 2Введите название и (опционально) описание пространства.
- 3Выберите видимость: Private (только приглашённые) или Public (все могут читать без входа).
- 4Добавьте участников через Members → выберите роль для каждого.
8. Приглашение команды
Есть два способа добавить новых пользователей.
Через приглашение на email
Требуется настроенный SMTP. Перейдите в Settings → Members → Invite member, введите email — человек получит письмо со ссылкой.
SMTP настраивается в .env: раскомментируйте строки SMTP_* и перезапустите контейнер.
Через самостоятельную регистрацию
Просто дайте коллеге ссылку на сайт и скажите зарегистрироваться. Любой, кто откроет форму, может создать аккаунт. Потом в Settings → Members назначьте ему роль и добавьте в нужные пространства.
Ограничить регистрацию
Если wiki только для вашей команды и вы не хотите, чтобы посторонние регистрировались — в Settings → Security отключите открытую регистрацию. После этого новых пользователей можно добавлять только через приглашение по email.
9. Обновление и бэкап
Обновление Docmost
Данные хранятся в Docker-volumes (PostgreSQL и файловый storage). При пересоздании контейнера они не теряются — обновление безопасно.
cd /opt/docmost
docker compose pull
docker compose up -dБэкап базы данных
Перед обновлением или на регулярной основе делайте резервную копию PostgreSQL.
docker compose exec db pg_dump -U docmost docmost > backup-$(date +%Y%m%d).sqldocker compose exec -T db psql -U docmost docmost < backup-20260313.sqlАвтоматические бэкапы
Для автоматических бэкапов в облако подойдёт Restic + Rclone — мы разбирали это в статье «Бэкап VPS с Restic и Rclone». Добавьте папку /opt/docmost и дамп базы в список backup-путей.
10. Частые проблемы
❗ Редактор в режиме «только чтение» — ничего не печатается
Проблема с WebSocket. Проверьте конфиг Nginx: там должны быть строки proxy_http_version 1.1, proxy_set_header Upgrade $http_upgrade и proxy_set_header Connection "upgrade". Без них браузер не устанавливает WebSocket-соединение. После добавления строк перезапустите Nginx: systemctl reload nginx.
❗ Контейнер docmost падает при старте с ошибкой про APP_SECRET
Вы не заменили APP_SECRET в .env — там осталась заглушка. Сгенерируйте настоящий секрет и пропишите его:
openssl rand -hex 32
# Скопируйте результат в .env → APP_SECRET=...
docker compose up -d❗ Приглашение на email не приходит
Не настроен SMTP. В .env раскомментируйте переменные SMTP_HOST, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD, MAIL_FROM_ADDRESS. Перезапустите контейнер: docker compose up -d. Для проверки используйте Gmail с паролем приложения или сервис Brevo/Mailgun. Как временное решение — попросите коллегу зарегистрироваться самостоятельно через форму на сайте.