Ваша команда ведет документацию в Notion. Все работает отлично, пока не встает вопрос о том, где физически хранятся данные. Или пока вам на почту не падает счет за 25 пользователей.
Docmost – это self-hosted база знаний, которая решает обе проблемы. Это open-source проект, который запускается на вашем VPS через Docker Compose и включает в себя по-настоящему современный редактор для совместной работы в реальном времени. Ваши данные остаются на вашем сервере.
В этой статье мы расскажем, что такое Docmost, как он выглядит на фоне аналогов и как развернуть его на VPS, включая настройку бэкапов.
Docmost – это open-source платформа для ведения документации и корпоративной базы знаний, которую можно развернуть на собственных серверах (self-hosted). Проект стартовал в 2023 году и с тех пор собрал более 18 000 звезд на GitHub. Ядро распространяется по лицензии AGPL-3.0. Это по-настоящему открытый исходный код без каких-либо скрытых условий.
Редактор поддерживает совместную работу в реальном времени: несколько человек могут редактировать одну страницу одновременно без блокировки документа и риска затереть чужой текст. Встроена поддержка диаграмм: Mermaid, Draw.io и Excalidraw. Также есть вложенные страницы, комментарии к тексту, история изменений и полнотекстовый поиск.
Весь контент разбит на Пространства (Spaces). У каждого Пространства свой список участников и настройки доступа. Их можно создавать под конкретную команду, проект или любую другую структуру.
Бесплатная версия (Community) включает в себя все базовые функции для совместной работы, которых с головой хватит небольшой или средней команде для полноценной self-hosted wiki. Вот подробное сравнение:
|
Функция |
Community (бесплатно) |
Business / Enterprise |
|
Страницы, редактор, блоки форматирования |
ДА |
ДА |
|
Совместный редактор в реальном времени |
ДА |
ДА |
|
Пространства (безлимитно) |
ДА |
ДА |
|
Группы пользователей |
ДА |
ДА |
|
Комментарии и их закрытие (resolve) |
ДА |
ДА |
|
История страниц и восстановление |
ДА |
ДА |
|
Диаграммы (Mermaid, Draw.io, Excalidraw) |
ДА |
ДА |
|
Публичный доступ к страницам |
ДА |
ДА |
|
Импорт (Markdown, HTML, Notion, DOCX) |
ДА |
ДА |
|
Экспорт (Markdown, HTML) |
ДА |
ДА |
|
Полнотекстовый поиск (по страницам) |
ДА |
ДА |
|
Полнотекстовый поиск по вложениям (PDF, DOCX) |
НЕТ |
ДА |
|
Детальные настройки доступа на уровне страниц |
НЕТ |
ДА |
|
Единый вход (SSO: SAML 2.0 / OIDC / LDAP) |
НЕТ |
ДА |
|
Многофакторная аутентификация (MFA) |
НЕТ |
ДА |
|
ИИ-ответы и ИИ-помощник для текстов |
НЕТ |
ДА |
|
REST API и API-ключи |
НЕТ |
ДА |
|
Импорт из Confluence |
НЕТ |
ДА |
|
Журнал аудита (Audit log) |
НЕТ |
Enterprise |
|
SCIM (автоматическое управление пользователями) |
НЕТ |
Enterprise |
Тариф Business стоит $3.50 за пользователя в месяц при годовой оплате (минимум 10 рабочих мест). Для команды из 20 человек это выйдет в $840 в год. Для сравнения, подписка на Notion Business для такой же команды обойдется примерно в $4,800 в год, а Confluence Cloud Standard – около $1,536 в год.
Если вашей компании не обязательно нужен SSO (единый вход), то версия Community покроет все остальные нужды абсолютно бесплатно.
В бесплатной версии нет единого входа (SSO). Если ваша команда использует Okta, Entra ID или любую другую систему централизованной авторизации, вам потребуется тариф Business (обойти это ограничение никак не получится).
REST API доступен только на тарифах Business и Enterprise. В версии Community также нет документированных исходящих вебхуков. Технически автоматизацию можно настроить с помощью скриптов, которые напрямую отслеживают базу данных или файловое хранилище, но это неофициальный и довольно ненадежный способ, который может сломаться.
Кроме того, Docmost – это еще молодой проект. Он развивается очень быстро, но у него пока нет той огромной экосистемы плагинов и интеграций, которая годами выстраивалась вокруг Confluence. Впрочем, для большинства команд, которые впервые настраивают собственную (self-hosted) базу знаний, эта разница в повседневной работе будет совершенно незаметна.
Прежде чем окончательно выбрать self-hosted базу знаний, полезно понимать, для каких задач Docmost подходит идеально, а для каких – нет.
|
|
Docmost |
Notion |
Confluence |
Outline |
Affine |
|
Свой сервер (Self-hosted) |
ДА |
НЕТ |
Только DC |
ДА |
ДА |
|
Лицензия |
AGPL-3.0 |
Проприетарная |
Проприетарная |
BSL 1.1 |
MIT / проприетарный сервер |
|
Совместная работа онлайн |
ДА |
ДА |
ДА |
ДА |
ДА |
|
Встроенные диаграммы |
ДА |
Ограниченно |
Через плагины |
НЕТ |
ДА (интерактивная доска) |
|
SSO (Единый вход) |
Business+ |
Business+ |
DC |
Community+ |
Business+ |
|
Вход по email |
ДА (с паролем) |
ДА (с паролем) |
ДА (с паролем) |
Только magic link* |
ДА (с паролем) |
|
Импорт из Confluence |
Business+ |
НЕТ |
N/A |
НЕТ |
НЕТ |
|
Возраст проекта |
~2 года |
~10 лет |
~20 лет |
~5 лет |
~3 года |
*Outline поддерживает вход по email через magic link, но для создания первого аккаунта все равно требуется SSO/OIDC провайдер. Обычный вход по логину и паролю не поддерживается.
Notion работает только в облаке – установить его на свой сервер нельзя. Да, в корпоративных тарифах можно выбрать регион хранения данных (например, в ЕС), но это совсем не то же самое, что держать данные на собственном сервере. Если вам важен полный контроль над информацией, Docmost – единственный вариант из этих двух.
Коробочная версия Confluence Data Center (DC) все еще продается, но компания Atlassian уже озвучила четкий план по ее закрытию. Текущие клиенты могут продлевать лицензии до марта 2028 года, а к марту 2029 года приложения перейдут в режим «только чтение».
Всех новых клиентов направляют в облачный Confluence Cloud, который быстро становится очень дорогим по мере роста команды.
Если вы ищете альтернативу Confluence, но без ценников Atlassian, Docmost закрывает главные потребности: структурированная документация с тонкими настройками прав доступа, свой сервер и никакой привязки к конкретному поставщику.
Outline – это быстрый и отлично отполированный продукт. Но он распространяется по лицензии Business Source License (BSL 1.1), что делает его «продуктом с открытым исходным кодом» (source-available) лишь номинально, это не классический open-source.
Кроме того, Outline не поддерживает привычный вход по связке email + пароль. Пользователи авторизуются либо через SSO/OIDC, либо по «волшебной ссылке» на почту. Но нюанс в том, что для создания первого аккаунта вам все равно понадобится OIDC-провайдер. В Docmost обычная авторизация по паролю работает «из коробки», что сильно упрощает первоначальную настройку.
Affine – это инструмент совершенно другой категории. Он объединяет документы, интерактивные доски и управление задачами в единое локальное рабочее пространство.
С лицензированием там тоже смешанная картина: большая часть кода идет под свободной лицензией MIT, но на некоторые серверные компоненты действуют другие, закрытые условия. Если ваша главная цель – командная база знаний с «пространствами» и доступом по ролям, то Affine решает совсем другую задачу. А вот Docmost создан специально для этого.
ОС: Ubuntu 22.04 LTS или 24.04 LTS
Требования к ПО:
Сеть: откройте порт 3000 в вашем фаерволе. Этого достаточно для прямого доступа. Доменное имя необязательно. Без него Docmost будет доступен по адресу http://ВАШ_IP:3000 – это отлично подходит для внутреннего использования или тестирования. Шаги 5 и 6 в инструкции покажут, как настроить Nginx и Certbot, если у вас все же есть домен и нужен HTTPS.
Доступ: права root или пользователя с правами sudo на сервере.
В состоянии покоя три контейнера Docmost потребляют около 500–600 МБ оперативной памяти (RAM) и примерно 2–3 ГБ на диске при чистой установке. Обе эти цифры будут постепенно расти по мере того, как ваша команда будет создавать страницы и загружать файлы.
Тариф Start отлично подойдет для небольшой команды или тестирования продукта одним пользователем. Ресурсов хватит, чтобы запустить три контейнера без лишней нагрузки на систему. Для команды, которая работает с документацией каждый день, оптимальной базой станет тариф Medium. Его 4 ГБ оперативной памяти дадут комфортный запас для работы Docmost, Nginx и, например, будущего сервера автоматизации n8n, так что вам не придется постоянно мониторить потребление памяти.
Перейти с тарифа Start на Medium в будущем несложно, но перенос данных все равно потребует времени. Если вы уже знаете, что система сразу пойдет в полноценную работу (продакшн), лучше стартовать с Medium.
|
Тариф |
Процессор / Память / Диск |
Кому подойдет лучше всего |
|
Start – от $10.19/мес |
2 vCPU / 2 ГБ RAM / 30 ГБ NVMe |
Команды до 5 человек, минимум тяжелых файлов и вложений. |
|
Medium – от $21.24/мес |
3 vCPU / 4 ГБ RAM / 40 ГБ NVMe |
Команды от 5 до 20 человек, комфортный запас ресурсов, безлимитный трафик. |
|
Premium – от $31.99/мес |
4 vCPU / 8 ГБ RAM / 50 ГБ NVMe |
Команды от 20 человек, использование ИИ-функций (в версии Business), активная загрузка тяжелых файлов. |
Три контейнера. Сам Docmost, PostgreSQL для базы данных и Redis для кэширования и поддержания активных сессий. Все это собирается воедино с помощью одного файла Docker Compose.
# Добавляем официальный GPG-ключ и репозиторий Docker
sudo apt-get update -qqy
sudo apt-get install ca-certificates curl -qqy
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update -qqy
# Устанавливаем Docker Engine и плагин Compose
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -qqy
# Проверяем установку
docker --version
docker compose version
Ожидаемый результат:
Создайте рабочую директорию и скачайте официальный файл compose из репозитория Docmost на GitHub:
mkdir docmost && cd docmost
curl -O https://raw.githubusercontent.com/docmost/docmost/main/docker-compose.yml
Файл docker-compose.yml задает три сервиса (docmost, db, redis) с именованными томами (volumes) и внутренней сетью.
Откройте файл compose и отредактируйте переменные прямо в нем:
vi docker-compose.yml
Официальный шаблон docker-compose.yml выглядит так (уже с заполненными значениями):
services:
docmost:
image: docmost/docmost:latest
depends_on:
- db
- redis
environment:
APP_URL: "https://wiki.yourdomain.com"
APP_SECRET: "REPLACE_WITH_LONG_SECRET" # минимум 32 символа
DATABASE_URL: "postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost"
REDIS_URL: "redis://redis:6379"
ports:
- "3000:3000"
restart: unless-stopped
volumes:
- docmost:/app/data/storage
db:
image: postgres:18
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: STRONG_DB_PASSWORD
restart: unless-stopped
volumes:
- db_data:/var/lib/postgresql
redis:
image: redis:8
command: ["redis-server", "--appendonly", "yes", "--maxmemory-policy", "noeviction"]
restart: unless-stopped
volumes:
- redis_data:/data
volumes:
docmost:
db_data:
redis_data:
Перед сохранением файла сгенерируйте APP_SECRET:
openssl rand -hex 32
Ожидаемый результат:
Скопируйте полученный результат в поле APP_SECRET. Если оставить значение по умолчанию, Docmost просто не запустится – это сделано ради безопасности.
Чтобы отправлять пользователям приглашения по email, добавьте настройки почты. Оба варианта ниже шифруют соединение – просто делают это по-разному.
# Вариант А: STARTTLS на порту 587 (для большинства провайдеров: Gmail, SendGrid и т.д.)
MAIL_DRIVER=smtp
SMTP_HOST=smtp.yourmailprovider.com
SMTP_PORT=587
SMTP_SECURE=false # false = STARTTLS; соединение переключается на зашифрованное
SMTP_USERNAME=your@email.com
SMTP_PASSWORD=your_smtp_password
MAIL_FROM_ADDRESS=wiki@yourdomain.com
MAIL_FROM_NAME=Docmost
# Вариант Б: SSL/TLS на порту 465
SMTP_PORT=465
SMTP_SECURE=true # true = использование SSL с самого начала
cd ~/docmost
docker compose up -d
Docker скачает образы и запустит все три контейнера. Первый запуск займет 1-2 минуты. Проверьте статус:
docker compose ps
Все три контейнера должны быть запущены. Самая частая причина ошибок запуска – отсутствующий или не измененный APP_SECRET. Исправьте это и снова выполните docker compose up -d.
sudo apt install -y nginx
sudo nano /etc/nginx/sites-available/docmost
server {
listen 80;
server_name wiki.yourdomain.com;
client_max_body_size 100M;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
proxy_read_timeout 90;
}
}
Заголовки Upgrade и Connection обязательны для работы WebSocket-соединений Docmost. Без них совместное редактирование в реальном времени сломается.
sudo ln -s /etc/nginx/sites-available/docmost /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d wiki.yourdomain.com \
--non-interactive --agree-tos \
-m admin@yourdomain.com --redirect
Certbot автоматически изменит конфигурацию Nginx и настроит автопродление сертификата. Теперь откройте https://wiki.yourdomain.com – вы должны увидеть экран настройки рабочего пространства Docmost.
Сначала настройте структуру, а потом уже наполняйте ее контентом.
Создайте Пространство (Space) для каждой команды или проекта – например, для Разработки, Продукта и HR. В каждом Пространстве будет свое собственное дерево страниц и свои настройки доступа, изолированные от остальных. Затем, прежде чем кого-либо приглашать, настройте Группы (Groups). Группа позволяет выдать доступ к Пространству сразу нескольким людям за одно действие, вместо того чтобы настраивать права для каждого пользователя по отдельности.
Как только Группы настроены, перейдите в Настройки (Settings), откройте раздел Участники (Members) и разошлите приглашения по email. Если письма не приходят, проверьте настройки почты с помощью команды:
docker compose logs docmost | grep mail
Кликните на «General» и выберите новую страницу, чтобы создать новый документ.
Плагины в Docmost уже встроены и их не нужно устанавливать отдельно. Прямо на страницах можно создавать схемы в Draw.io, Excalidraw и Mermaid, а через команду /embed можно вставлять виджеты из Loom, Airtable, Miro и других сервисов.
Что касается ИИ-функций, пользователи тарифа Business могут подключить OpenAI, Google Gemini или локальный сервер Ollama. Опция с Ollama позволяет обрабатывать все локально, оставляя данные исключительно на вашем сервере:
AI_DRIVER=ollama
OLLAMA_API_URL=http://ollama:11434
AI_EMBEDDING_MODEL=nomic-embed-text
AI_COMPLETION_MODEL=qwen2.5:7b
Кстати, вот тут готовый VPS с уже предустановленным n8n.
Как именно вы будете автоматизировать связку n8n + Docmost, зависит от вашего тарифа. У пользователей Business и Enterprise есть полноценный REST API с персональными API-ключами. В системе n8n для этого используется нода HTTP Request, куда в заголовок Authorization добавляется ваш ключ. Полную документацию можно найти на docmost.com/api-docs.
В версии Community нет документированных вебхуков или API. Технически автоматизация возможна, если напрямую отслеживать изменения в базе данных PostgreSQL или файловом хранилище, но это неофициальный метод, который наверняка сломается при следующем обновлении.
Запускаете n8n на том же VPS? Оба сервиса могут общаться друг с другом по внутренней сети Docker без каких-либо дополнительных настроек. Подробности читайте в руководстве по запуску n8n на VPS.
n8n уже предустановлен, 40+ локаций и полный root-доступ для ваших self-hosted инструментов.
is*hosting предоставляет бесплатные еженедельные бэкапы на всех тарифах VPS.
Если вам нужны ежедневные бэкапы или больше места, можно подключить отдельный диск для резервных копий – доступные объемы и цены указаны на этой странице. Это решает вопрос бэкапов на уровне инфраструктуры.
Скрипты ниже делают бэкапы на уровне самого приложения. Они пригодятся, если вам нужно откатиться к конкретной точке во времени или если вы хотите хранить копии на стороннем сервере независимо от хостинг-провайдера.
Перед запуском любых команд для бэкапа проверьте реальные имена ваших контейнеров и томов – они зависят от имени проекта в Docker Compose, которое по умолчанию совпадает с названием вашей папки. Проверить это можно командами:
docker compose ps # показывает имена контейнеров
docker volume ls # показывает имена томов
Используйте команду docker compose exec, чтобы запустить утилиту pg_dump внутри работающего сервиса базы данных, независимо от того, как конкретно называется сам контейнер:
#!/bin/bash
# Запускайте из папки docmost/ (там, где лежит файл docker-compose.yml)
BACKUP_DIR="/var/backups/docmost"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p "$BACKUP_DIR"
# Делаем дамп базы через имя сервиса – сработает при любом имени контейнера
docker compose exec -T db pg_dump \
-U docmost -d docmost -F c \
> "${BACKUP_DIR}/docmost_db_${DATE}.dump"
# Оставляем копии только за последние 7 дней
find "$BACKUP_DIR" -name "*.dump" -mtime +7 -delete
echo "Бэкап БД готов: ${BACKUP_DIR}/docmost_db_${DATE}.dump"
Как восстановить базу:
# Сначала остановите приложение, чтобы избежать конфликтов при записи
docker compose stop docmost
docker compose exec -T db pg_restore \
-U docmost -d docmost --clean \
< /var/backups/docmost/docmost_db_YYYYMMDD_HHMMSS.dump
docker compose start docmost
Файлы вложений хранятся в Docker-томе Docmost. Сначала узнайте его реальный путь на сервере:
# Ищем точное имя тома (оно зависит от имени вашего проекта/папки)
docker volume ls | grep docmost
docker volume inspect <имя-тома> | grep Mountpoint
BACKUP_DIR="/var/backups/docmost"
DATE=$(date +%Y%m%d_%H%M%S)
VOLUME_PATH=$(docker volume inspect $(docker volume ls -q | grep docmost | grep -v db | grep -v redis) \
--format '')
tar -czf "${BACKUP_DIR}/docmost_files_${DATE}.tar.gz" "$VOLUME_PATH"
find "$BACKUP_DIR" -name "*.tar.gz" -mtime +7 -delete
Если нужно отправлять бэкапы Docmost на удаленный сервер (off-site), удобнее всего использовать rclone – он умеет синхронизировать данные с любым S3-совместимым хранилищем (AWS S3, Cloudflare R2, Backblaze B2). Просто добавьте его вторым шагом в тот же cron-скрипт, чтобы автоматически получать и локальные, и удаленные копии.
Теперь у вас есть собственная база знаний, работающая на вашем сервере, и полный контроль над корпоративными данными. Никакой привязки к облачным провайдерам, никаких ежемесячных счетов за базовый функционал на каждого сотрудника и никаких вопросов от службы безопасности о том, где физически лежат документы. Это закрывает главную потребность большинства команд, которые ищут замену Confluence.
Бесплатной версии Community хватит для команд до ~10 человек. Когда появится потребность в едином входе (SSO) или поиске по содержимому файлов, тариф Business за $840 в год на 20 человек все равно обойдется в разы дешевле подписок на Confluence или Notion. А для крупных корпоративных внедрений Docmost поддерживает горизонтальное масштабирование через Redis pub/sub – архитектура платформы не привязывает вас к одному единственному серверу.
Что касается хостинга, тариф VPS Medium – это правильный выбор по умолчанию для большинства команд. Он дает достаточно запаса ресурсов, чтобы комфортно крутить на одной машине Docmost, Nginx и, в перспективе, систему автоматизации n8n, не переживая о нехватке оперативной памяти.
Если вы присматриваетесь и к другим self-hosted инструментам, в нашем блоге есть отличные руководства по запуску локальной нейросети на VPS и настройке VPN через панель 3x-UI – оба эти решения можно развернуть прямо на том же сервере, который вы только что настроили.