VPSРейтинг
Self-hosted4 марта 2026 · 13 мин чтения

Docmost на VPS: командная wiki вместо Notion

Docmost — современная альтернатива Notion и Confluence с совместным редактированием в реальном времени. Ставится через Docker Compose за 10 минут. Никаких лимитов на пользователей, никаких $16/месяц за каждого члена команды.

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. Требования к серверу

ПараметрМинимумКомфортно
RAM1 ГБ2 ГБ (рекомендуется)
CPU1 vCPU2 vCPU
Диск10 ГБ SSD20+ ГБ (файлы вложений)
ОСUbuntu 22.04 LTSUbuntu 22.04 / 24.04 LTS
Docker24.0+Последняя стабильная версия

Docmost запускает три контейнера: само приложение на Node.js, PostgreSQL и Redis. На 1 ГБ RAM всё умещается, но останется мало запаса. Если на этом же сервере работают другие сервисы — берите 2 ГБ.

3. Установка через Docker Compose

Если Docker ещё не установлен, поставим его. Затем создадим папку для Docmost и конфигурационные файлы.

Установка Docker

Установка Docker на Ubuntu 22.04/24.04
curl -fsSL https://get.docker.com | sh

Создание директории и файлов

Создать папку для Docmost
mkdir -p /opt/docmost && cd /opt/docmost

Сгенерируйте секретный ключ — он нужен для подписи сессий. Приложение не запустится, если в APP_SECRET стоит заглушка.

Сгенерировать APP_SECRET — скопируйте результат
openssl rand -hex 32

Создайте файл .env с настройками. Замените значения на свои:

/opt/docmost/.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:

/opt/docmost/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. Это правильная и безопасная схема.

Запустите контейнеры:

Запуск Docmost
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-запись у вашего регистратора:

DNS у регистратора домена
wiki.ваш-домен.ru  →  A  →  IP_ВАШЕГО_VPS

Конфиг Nginx

Создайте файл конфигурации:

Создать /etc/nginx/sites-available/docmost
nano /etc/nginx/sites-available/docmost
/etc/nginx/sites-available/docmost — вставить это содержимое
server {
    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-сертификат:

Включить сайт в Nginx
ln -s /etc/nginx/sites-available/docmost /etc/nginx/sites-enabled/
nginx -t
Открыть порты 80 и 443 в UFW (нужно для certbot)
ufw allow 80/tcp
ufw allow 443/tcp
ufw reload
Получить SSL-сертификат (certbot)
# Если certbot не установлен:
apt install -y certbot python3-certbot-nginx

certbot --nginx -d wiki.ваш-домен.ru
Перезапустить Nginx
systemctl reload nginx

Проверьте WebSocket

После настройки Nginx откройте страницу в Docmost и попробуйте что-нибудь написать. Если текст вводится — WebSocket работает. Если редактор читает только — проверьте конфиг Nginx: строки Upgrade и Connection должны быть на месте.

5. Первый запуск и создание workspace

Откройте https://wiki.ваш-домен.ru в браузере. Первый человек, который зарегистрируется, автоматически становится администратором. Никаких дополнительных команд не нужно.

  1. 1Введите имя, email и пароль → нажмите Create account. Первый аккаунт — всегда администратор.
  2. 2Создайте первое пространство (Space) — например, «Документация проекта» или «Общая база знаний».
  3. 3Вы окажетесь в пустом пространстве. В левой панели нажмите New page — создаётся первая страница.
  4. 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 и напишите:

Пример flowchart в Mermaid
graph TD
    A[Пользователь] --> B{Авторизован?}
    B -- Да --> C[Показать wiki]
    B -- Нет --> D[Форма входа]
    D --> B

Docmost отрисует схему прямо в странице. Код и картинка хранятся вместе — при изменении кода схема обновляется автоматически.

7. Пространства и права доступа

Пространства — основной инструмент организации доступа. Каждому пространству можно назначить участников с разными ролями.

РольЧто может делать
Admin (пространства)Всё: управлять участниками, настраивать пространство, удалять
EditorСоздавать, редактировать, удалять страницы
ViewerТолько читать страницы

Создать новое пространство

  1. 1В левой панели нажмите на иконку + рядом с «Spaces» (или кнопку «Create Space»).
  2. 2Введите название и (опционально) описание пространства.
  3. 3Выберите видимость: Private (только приглашённые) или Public (все могут читать без входа).
  4. 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). При пересоздании контейнера они не теряются — обновление безопасно.

Обновить Docmost до последней версии
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).sql
Восстановить базу из дампа
docker 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. Как временное решение — попросите коллегу зарегистрироваться самостоятельно через форму на сайте.

11. Частые вопросы

Нужен VPS для Docmost и других self-hosted сервисов?

VPS для Docker-проектов →

Смотрите также