BookStack
Внутренняя база знаний компании на своем сервере вместо Confluence и Notion: регламенты и инструкции пишут HR, бухгалтерия и поддержка - без Markdown. Развернули 26.09.1 на Fatmetal Cloud Server и посчитали, во что это выходит против Confluence на 25 и 50 человек.
Вердикт
- HR, руководителю и поддержке: регламенты пишут без Markdown
- тем, кому нужны права до страницы, SSO и MFA без платы за пользователя
- тем, кто уходит с Confluence или Notion: оба закрыты для России, а здесь фиксированные 500 ₽/мес за сервер вместо подписки за каждого участника
- тем, кому нужен Notion целиком: баз данных и канбанов здесь нет
- тем, кто хочет вики-плагины и готовую тему: системы плагинов нет
- тем, кто не готов обновлять: поддерживается только последняя версия
Что это и какую задачу решает
BookStack - внутренняя база знаний компании на своем сервере вместо Confluence и Notion. Материалы разложены по полкам, книгам, главам и страницам, а редактор по умолчанию визуальный: чтобы писать, Markdown знать не нужно.
Бухгалтер, HR и первая линия поддержки пишут регламенты в редакторе, похожем на текстовый процессор, а инженеры получают поиск, историю правок, REST API и вебхуки.
Права доходят до отдельной страницы: видно, кто редактирует, кто только читает, а кто не должен видеть раздел вовсе. Для отдела кадров или финансов это решающая деталь.
Полки, книги, главы, страницы: как устроена база знаний
Структура жесткая, как в книге: страница живет в главе или в книге, книга - на полке. Свободно раскидать файлы по папкам, как в файловой помойке, здесь не получится, и это осознанное решение автора.
Для читателя жесткая иерархия - плюс: он всегда видит оглавление книги и понимает, где находится. Внутри страницы работает визуальный редактор, а Markdown можно включить режимом, если сотрудник к нему привык.
Чем отличается от Confluence и Notion
Сравнение по тому, что влияет на выбор: цена, доступность в России и глубина прав.
| Параметр | BookStack | Confluence / Notion |
|---|---|---|
| Модель цены | Бесплатно (MIT), платите только за сервер | За пользователя в месяц |
| Доступность в РФ | Ставится на свой сервер, вопрос снят | Confluence и Notion закрыты для РФ |
| Где данные | На вашем сервере, включая вложения | В облаке вендора |
| Права и вход | До страницы, SSO, MFA - в бесплатной сборке | Часть возможностей - на платных тарифах |
| Базы и канбаны | Нет и не будет | Есть в Notion |
Главное отличие - в тарифной модели. У BookStack нет платной версии вообще: одна MIT-сборка для всех, платных модулей и облака вендора не существует. Дополнительно можно купить только поддержку мейнтейнера.
Во что обходится своя база знаний
Confluence считает по головам, сервер - фиксированной суммой.
| Команда | Confluence Cloud Standard | BookStack на Fatmetal |
|---|---|---|
| 25 человек | ≈ $136/мес за пользователей | 500 ₽/мес - CPU2-RAM4-DISK50 |
| 50 человек | ≈ $271/мес за пользователей | 500 ₽/мес |
Цены Confluence - по странице вендора на 10 октября 2026: Standard стоит $5,42 за пользователя в месяц, отсюда и суммы в таблице (25 × $5,42 и 50 × $5,42). В России его не купить: Atlassian остановил продажи в 2022 году и продление лицензий с 31 октября 2022.
Считайте так: фиксированные 500 ₽/мес заменяют подписку за каждого участника и от размера команды не зависят - платите за сервер, а не за место.
Что изменилось с версии 26.05
На прошлом разборе стояла 26.05.4. За лето вышли security-патч 26.05.5 и фичерелиз 26.09, сейчас актуален 26.09.1 от 29 сентября. Установка и требования не поменялись.
Главное в 26.09 - настройка интерфейса. В «Моей учетной записи» появился раздел Interface Preferences: язык, темная тема и раскладка. Блоки можно перетаскивать между колонками или убирать в «неиспользуемые».
Два изменения важны технически. Во-первых, APP_KEY теперь обязателен: без него приложение не стартует, а не подставляет значение по умолчанию. Во-вторых, PDF-экспорт перешел на встроенный движок и больше не требует отдельной программы.
Перевод отстал. Заголовки нового раздела остаются английскими («Interface Preferences», «Edit Layout»), хотя остальной интерфейс и письма на русском. Для команды это не помеха, но знать заранее полезно.
Тех-стек и архитектура
BookStack - монолит на Laravel. Рядом MariaDB, а TLS терминирует Caddy. Фоновых воркеров нет: синхронная отправка писем и вебхуков работает из коробки, очередь включается отдельной переменной.
Официального Docker-образа у проекта нет. В документации первым назван образ LinuxServer.io, а compose для него лежит в официальном репозитории проекта, поэтому ставим его: версия закреплена тегом, обновление - сменой тега.
Приложение слушает только 127.0.0.1:6875, база данных наружу не смотрит вовсе. Наружу открыт только Caddy с сертификатом Let's Encrypt.
Минимальная конфигурация
Официальных цифр по памяти апстрим не публикует - только фразу про «VPS за £2.50».
| Требования апстрима | PHP ≥ 8.2, MariaDB ≥ 10.6 |
| Официальный минимум RAM | не заявлен |
| Реально в простое | ~116 МиБ (3 контейнера) |
| Пик на PDF-экспорте книги | ~84 МиБ у приложения |
| Рекомендуем тариф | CPU2-RAM4-DISK50 |
| Тариф Fatmetal | CPU2-RAM4-DISK50 - 500 ₽/мес |
Запас есть. Даже 60 страниц и PDF-экспорт всей книги не подняли приложение выше 84 МиБ. Тарифа CPU2-RAM4-DISK50 хватит с большим запасом, старший брать незачем.
В маркетплейсе Fatmetal
Не хотите ставить руками?
Этот стек есть в маркетплейсе Fatmetal - можно не повторять установку из этого разбора вручную. Заказываете сервер, за пару минут получаете рабочий сервис на своем домене, валидный TLS и файл с доступами.
Рекомендуемая конфигурация:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe от 450 ₽/мес
Развертывание на Fatmetal
Cloud Server + Ubuntu 24.04 + Docker. Путь, который прошел на стенде, с командами.
Создайте сервер и поставьте Docker
Тариф CPU2-RAM4-DISK50, Ubuntu 24.04 LTS. Пропишите A-запись домена на IP сервера и откройте 80 и 443: порт 80 нужен Caddy для выпуска сертификата.
ssh root@ваш-домен sudo apt-get update && sudo apt-get install -y ca-certificates curl 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=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/docker.list >/dev/null sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginСгенерируйте секреты
В примере апстрима ключ приложения и пароли захардкожены - меняем все три. Ключ генерирует штатный хелпер образа.
mkdir -p ~/bookstack && cd ~/bookstack sudo docker run --rm --entrypoint /bin/bash ghcr.io/linuxserver/bookstack:version-v26.09.1 appkey openssl rand -hex 16 openssl rand -hex 16Первая строка с
openssl- пароль базы, вторая - пароль root-пользователя MariaDB.Опишите стек
Создайте
~/bookstack/compose.yml. Теги закреплены на конкретные версии,APP_URL- сразу реальный внешний адрес с https: ссылки хранятся абсолютными, и с localhost за прокси ломаются редиректы.services: bookstack: image: ghcr.io/linuxserver/bookstack:version-v26.09.1 container_name: bookstack environment: APP_URL: https://ваш-домен APP_KEY: "base64:вывод_команды_appkey" APP_LANG: ru DB_HOST: db DB_DATABASE: bookstackapp DB_USERNAME: bookstack DB_PASSWORD: "первый_openssl_rand" volumes: [ ./app_data:/config ] ports: [ "127.0.0.1:6875:80" ] depends_on: [ db ] restart: unless-stopped db: image: ghcr.io/linuxserver/mariadb:version-11.4.12-r0 container_name: bookstack_db environment: MYSQL_ROOT_PASSWORD: "второй_openssl_rand" MYSQL_DATABASE: bookstackapp MYSQL_USER: bookstack MYSQL_PASSWORD: "первый_openssl_rand" volumes: [ ./db_data:/config ] restart: unless-stopped caddy: image: caddy:2 container_name: bookstack_caddy ports: [ "80:80", "443:443" ] volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./caddy_data:/data - ./caddy_config:/config depends_on: [ bookstack ] restart: unless-stoppedНастройте TLS
Caddy сам получит сертификат Let's Encrypt, если домен уже указывает на сервер.
cat > ~/bookstack/Caddyfile <<'EOF' ваш-домен { reverse_proxy bookstack:80 } EOFПоднимите стек
Образы примерно 1,2 ГБ. Сразу после запуска Caddy отдает 502: MariaDB готовит базу, а BookStack прогоняет около 140 миграций. До страницы входа проходит около двух минут.
cd ~/bookstack && sudo docker compose up -d sudo docker compose psСмените пароль администратора
Первая миграция создает учетку admin@admin.com с паролем password. Docker-путь сам пароль не меняет, поэтому смените его сразу - до того, как откроете сайт наружу.
sudo docker exec bookstack php /app/www/artisan tinker --execute="\$u = \BookStack\Users\Models\User::where('email','admin@admin.com')->first(); \$u->forceFill(['password' => \Illuminate\Support\Facades\Hash::make('ваш-пароль')])->save();"Проверьте вход
Страница входа должна ответить 200, а логин с новым паролем - пустить в вики.
curl -s -o /dev/null -w '%{http_code}\n' https://ваш-домен/login
Что измерили после запуска
Цифры со стенда: три контейнера на CPU2-RAM4-DISK50.
| Старт до страницы входа | ~2 мин (около 105 с) |
| Перезапуск стека (теплый) | 9 с |
| Ответ страницы входа | 0,07-0,15 с |
| RAM в простое | ~116 МиБ (база 87 / приложение 17 / прокси 12) |
| Образы на диске | ~1,2 ГБ |
| Экспорт книги в PDF | 12,6 с, пик 84 МиБ у приложения |
Проверил и рост. Добавил книгу, 60 страниц с текстом и 5 картинок: база выросла с 2,1 до 5,2 МБ, том с файлами - с 0,5 до 5,1 МБ. Память почти не изменилась, так что запас тарифа не съедается страницами.
Проверено на версии v26.09.1, октябрь 2026. На новых версиях результаты могут отличаться.
Где может сломаться
Грабли, на которые наткнулся при запуске.
Причина. Это не поломка: MariaDB готовит базу, BookStack прогоняет около 140 миграций.
Решение. Подождите около двух минут и проверьте docker compose ps и curl -s -o /dev/null -w '%{http_code}' localhost:6875.
Причина. С версии 26.09 ключ приложения обязателен, значения по умолчанию больше нет.
Решение. Добавьте APP_KEY в compose, сгенерировав его хелпером docker run --rm --entrypoint /bin/bash ghcr.io/linuxserver/bookstack:version-v26.09.1 appkey, и перезапустите стек.
Тихая дыра. Пока пароль администратора не сменен, в вики можно войти как admin@admin.com / password. Не открывайте сайт наружу раньше, чем смените его.
Безопасность и обновления
В 26.05.5 закрыли критичную уязвимость в социальном входе, а 26.09.1 усилил проверку размера при импорте архивов. Обновляйтесь только на свежую версию: старые релизы апстрим не патчит.
Обновление - смена тега образа и перезапуск. Перед ним сделайте копии, а после проверьте вход.
sed -i 's/bookstack:version-v26.09.1/bookstack:version-v26.09.2/' ~/bookstack/compose.yml
cd ~/bookstack && sudo docker compose pull && sudo docker compose up -d
Бэкапить нужно два места: базу данных и том приложения с загруженными файлами.
cd ~/bookstack
DB_PASSWORD=$(sudo grep -oP 'DB_PASSWORD: "\K[^"]+' compose.yml | head -1)
sudo docker exec bookstack_db mariadb-dump -ubookstack -p"$DB_PASSWORD" --single-transaction --routines bookstackapp > db-backup.sql
tar czf app-data-backup.tar.gz -C ~/bookstack app_data
tar czf db-data-backup.tar.gz -C ~/bookstack db_data
Перед продом закройте четыре пункта: TLS выпущен, пароль администратора сменен, SMTP настроен, бэкапы куда-то уезжают. Порт 6875 наружу не открывайте - его закрывает Caddy.
Связь с другими стеками
- Вход через компанию - OIDC, SAML2 и LDAP включаются в бесплатной сборке; MFA можно сделать обязательной по роли.
- Почта - SMTP для приглашений и сброса пароля. Проверено: письмо о сбросе приходит за секунды.
- Внешние системы - REST API и вебхуки; готовых интеграций в ядре не будет.
- Бэкапы и мониторинг - два тома в архив, метрики хоста снимаются любым агентом.
Когда это НЕ ваш выбор
Вам нужен Notion, а не вики
В BookStack нет баз данных, канбанов, календарей и совместного редактирования в реальном времени. Если документация живет в таблицах и на досках, это не тот инструмент.
Нужна публичная база знаний с витриной
Публичные книги есть, но продукт заточен под внутренние документы: SEO-витрину и лендинг проще собрать на GitBook или статическом генераторе.
Нет времени на обновления
Апстрим патчит только последнюю версию. Поставили и забыли на год - не сюда: раз в месяц-полтора нужно менять тег образа и перезапускать стек.
Нужны плагины и маркетплейс расширений
Системы плагинов нет и не планируется: только темы и API. Все нужное автор держит в ядре, но поставить сторонний модуль не получится.
Частые вопросы
Сколько памяти нужно на самом деле?
Около 116 МиБ на три контейнера в простое и до 84 МиБ у приложения на PDF-экспорте. Хватает тарифа CPU2-RAM4-DISK50.
Можно поставить без Docker?
Да, у апстрима есть ручная установка и скрипт для чистой Ubuntu. Но официального образа нет, а пример compose для LinuxServer.io - самый короткий путь, он и проверен здесь.
Что будет, когда страниц станет много?
Проверил ростом: 60 страниц с текстом и пять картинок подняли базу с 2,1 до 5,2 МБ, а том с файлами - с 0,5 до 5,1 МБ. Память почти не изменилась: 17 → 19 МиБ у приложения и 87 → 90 МиБ у базы. Контент ест диск, а не память.
Как обновлять?
Сменить тег образа в compose.yml и выполнить docker compose pull && docker compose up -d. Перед этим - бэкап базы и тома приложения.
Что бэкапить?
Дамп базы (mariadb-dump) и каталог app_data с загруженными файлами. Восстановление - импорт дампа и распаковка архива на новую машину.
Есть ли русский интерфейс?
Да, APP_LANG=ru включает перевод, письма тоже приходят по-русски. Заголовки нового раздела 26.09 еще не переведены и остаются английскими.
Какие ограничения у лицензии?
MIT без ограничений: коммерческое использование разрешено, платных модулей нет. Платна только необязательная поддержка мейнтейнера - £450 или £4 500 в год.
Итог
BookStack - самый короткий путь к внутренней базе знаний без платы за пользователя: три контейнера, около 116 МиБ памяти и тариф CPU2-RAM4-DISK50 за 500 ₽/мес. Права до страницы, SSO и MFA входят в бесплатную сборку, данные остаются у компании, а Confluence и Notion заменяются без переезда в чужое облако. Главное - смените пароль администратора сразу и обновляйтесь: проект ведет один человек и патчит только свежие версии.
Рекомендуемая конфигурация для установки:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe
Не хотите устанавливать вручную?
Запустите BookStack на этой конфигурации автоматически - от 450 ₽/мес.
Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли баг в гайде - напишите, поправим в течение дня.