DocPlatform Community Edition
DocPlatform — это самостоятельно размещаемая платформа документации, которая сочетает функциональный веб-редактор с двунаправленной синхронизацией git, упакованная в единый бинарный файл без внешних зависимостей.
Пишите в браузере. Отправляйте из IDE. Все остается синхронизированным.
Почему DocPlatform
Платформы документации заставляют выбирать: красивый веб-редактор с привязкой к вендору или файлы в git без инструментов для совместной работы. DocPlatform устраняет этот компромисс.
| Что вы получаете | Как это работает |
|---|---|
| Единый бинарный файл, ноль зависимостей | Один бинарный файл на Go включает редактор, базу данных, поисковый движок и git-движок. Не нужен Node.js, Postgres или Elasticsearch. |
Каждая страница — файл .md |
Контент хранится в виде Markdown-файлов в реальном git-репозитории. Никаких проприетарных форматов. Экспорт не требуется. |
| Двунаправленная синхронизация git | Редактируете в браузере — изменения автоматически коммитятся и пушатся. Пушите из IDE — веб-интерфейс обновляется автоматически. |
| Красивая опубликованная документация | Один клик для публикации сайта документации с темной темой, подсветкой синтаксиса и 7 встроенными компонентами. |
| Командная работа | 6-уровневая иерархия ролей, приглашения в workspace, индикаторы присутствия в реальном времени и полный журнал аудита. |
| Полнотекстовый поиск | Встроенный поисковый движок с мгновенными результатами. Не нужно настраивать внешний сервис. |
Для кого предназначен
DocPlatform Community Edition создан для:
- Мейнтейнеров open-source проектов, которые хранят документацию в репозитории, но хотят более удобный UX редактирования, чем работа с Markdown напрямую в GitHub
- Внутренних платформенных / DevEx команд, которым нужен docs-as-code с контролем доступа и веб-редактором — а не что-то одно из двух
- Небольших агентств разработки, управляющих документацией нескольких клиентов с git-бэкапом и без доступной self-hosted альтернативы
- Технических писателей, которым нужен качественный инструмент для написания документации с контролем версий
- Индивидуальных разработчиков, которые хотят личную базу знаний с публичной публикацией — без подписки
Не для: крупных предприятий с требованиями compliance, требующих SAML/SCIM (см. будущую Enterprise Edition), или нетехнических контент-команд без опыта работы с git.
Как это работает
┌──────────────────────────────────────────────────┐
│ DocPlatform (single binary) │
│ │
│ ┌────────────┐ ┌──────────┐ ┌────────────┐ │
│ │ Web Editor │ │ SQLite │ │ Bleve │ │
│ │ (Next.js) │ │ Database │ │ Search │ │
│ └──────┬──────┘ └────┬─────┘ └──────┬─────┘ │
│ │ │ │ │
│ └──────┬───────┴───────┬───────┘ │
│ │ │ │
│ ┌──────▼──────┐ ┌─────▼──────┐ │
│ │ Content │ │ Git │ │
│ │ Ledger │ │ Engine │ │
│ └──────┬──────┘ └─────┬──────┘ │
│ │ │ │
└─────────────────┼──────────────┼─────────────────┘
│ │
┌──────▼──────┐ ┌────▼──────┐
│ Filesystem │ │ Remote │
│ (.md files) │ │ Git Repo │
└─────────────┘ └───────────┘
Каждое изменение контента — будь то из веб-редактора, git push или API-вызова — проходит через Content Ledger, единый конвейер, который поддерживает идеальную синхронизацию между файловой системой, базой данных и поисковым индексом.
Быстрый старт
Запустите DocPlatform менее чем за 5 минут:
# Download the binary (recommended — auto-detects platform)
curl -fsSL https://valoryx.org/install.sh | sh
# Initialize a workspace
docplatform init --workspace-name "My Docs" --slug my-docs
# Start the server
docplatform serve
Откройте http://localhost:3000 и зарегистрируйте первого пользователя — он автоматически станет Super Admin.
Полное руководство смотрите в разделе Начало работы.
Обзор возможностей
Основная платформа
- Функциональный веб-редактор — редактор на базе Tiptap с формой frontmatter, переключением в режим Markdown и автосохранением
- Двунаправленная синхронизация git — Web -> git commit -> push; CLI push -> polling -> обновление в вебе
- Обнаружение конфликтов — оптимистичная конкурентность на основе хешей с возможностью скачать diff при коллизии
- Полнотекстовый поиск — встроенный движок Bleve с фильтрацией результатов по правам доступа и сочетанием Cmd+K
- RBAC-права — 5 ролей: Super Admin, Admin, Editor, Commenter, Viewer
- Аутентификация — локальная (argon2id) + опциональный Google/GitHub OIDC
- Модель workspace — Org -> Workspace -> Pages иерархия с приглашениями в команду
- Журнал аудита — каждая мутация логируется с указанием пользователя, временной метки и типа операции
Опубликованная документация
- Публичный сайт — документация доступна по адресу
/p/{workspace-slug}/{page-path} - Темная тема — автоматическая светлая/темная тема с ручным переключением
- 7 встроенных компонентов — Callout, Code (200+ языков), Tabs, Accordion, Cards, Steps, API Block
- Готовность к SEO — теги OpenGraph, канонические URL, sitemap.xml, robots.txt
Эксплуатация
- Диагностика — 9-точечная команда
doctorпроверяет консистентность FS/DB, работу поиска, битые ссылки - Ежедневные резервные копии — автоматическое резервное копирование SQLite с настраиваемым сроком хранения
- Корректное завершение работы — обработка сигналов для обновлений без простоя
- Структурированное логирование — JSON-логи с идентификаторами запросов для наблюдаемости
Системные требования
| Требование | Минимум | Рекомендуется |
|---|---|---|
| ОС | Linux (amd64/arm64), macOS (amd64/arm64) | Linux amd64 |
| Память | 128 МБ | 512 МБ |
| Диск | 200 МБ (бинарный файл + данные) | 1 ГБ |
| Git | Опционально (для удаленной синхронизации) | Git 2.30+ |
| Сеть | Не требуется (работает офлайн) | Открытый порт 3000 |
Что дальше
| Руководство | Описание |
|---|---|
| Начало работы | Установка, настройка и создание первого workspace |
| Руководства пользователя | Редактор, синхронизация git, публикация и поиск |
| Конфигурация | Переменные окружения, аутентификация, права доступа и настройки workspace |
| Развертывание | Промышленное развертывание с бинарным файлом, Docker или контейнерами |
| Справочник CLI | Полный справочник команд |
| Справочник API | REST API endpoints и примеры |
| Устранение неполадок | Распространенные проблемы и способы их решения |
Производительность
Измерено на Apple M2, NVMe SSD, workspace с 1 000 страниц:
| Операция | Задержка |
|---|---|
| Сохранение страницы (sync core) | < 30 мс |
| Рендеринг страницы (API response) | < 50 мс p99 |
| Полнотекстовый поиск | < 8 мс p99 |
| Проверка прав доступа | < 0.1 мс |
| Пакетная проверка прав (100 страниц) | < 1 мс |
| Холодный старт сервера | < 1 секунды |
| Полная реконсиляция (1 000 файлов) | < 5 секунд |
| Git commit (одиночный файл) | < 2 секунд |
| Память (в простое) | < 80 МБ |
| Память (10 одновременных пользователей) | < 200 МБ |
| Размер бинарного файла | ~120 МБ |
Сравнение DocPlatform
| Возможность | DocPlatform | GitBook | Notion | Docusaurus | Confluence | Wiki.js |
|---|---|---|---|---|---|---|
| Self-hosted | Да | Нет | Нет | Да | Нет | Да |
| Git-backed | Да | Частично | Нет | Да | Нет | Нет |
| Веб-редактор | Да | Да | Да | Нет | Да | Да |
| Двунаправленная синхронизация git | Да | Нет | Нет | Н/Д | Нет | Нет |
| Единый бинарный файл (ноль зависимостей) | Да | Н/Д | Н/Д | Нет (Node.js) | Н/Д | Docker |
| Встроенный RBAC | Да | Платно | Платно | Нет | Да | Да |
| Публикация документации | Да | Да | Да | Да | Да | Да |
| Бесплатная версия | Да | Нет | Нет | Да | Нет | Да |
| Работа офлайн | Да | Нет | Нет | Да | Нет | Нет |
Ограничения Community Edition
Community Edition — это полнофункциональное, самостоятельно размещаемое ядро DocPlatform. Оно включает все, что описано на этом сайте, со следующими ограничениями:
| Ресурс | Community Edition |
|---|---|
| Редакторы (пользователи, которые могут создавать/редактировать страницы) | До 5 |
| Workspaces | До 3 |
| Зрители и комментаторы | Без ограничений (не учитываются) |
| Страниц на workspace | Без ограничений |
| Опубликованная документация | Без ограничений |
Эти ограничения покрывают потребности большинства малых и средних команд. Будущая Enterprise Edition предложит неограниченное количество редакторов и workspaces, SAML/SSO, поддержку PostgreSQL и расширенный поиск через Meilisearch — но Community Edition всегда останется полноценной, самостоятельно размещаемой основой.