Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted
Обновлено 10 октября 2026 г.
Базы знаний и wiki

BookStack

Внутренняя база знаний компании на своем сервере вместо Confluence и Notion: регламенты и инструкции пишут HR, бухгалтерия и поддержка - без Markdown. Развернули 26.09.1 на Fatmetal Cloud Server и посчитали, во что это выходит против Confluence на 25 и 50 человек.

Проверено на версии v26.09.1, 10 октября 2026 ~11 минут чтения Fatmetal Team
Базы знаний и wiki Лицензия: MIT Статус: запущен у нас, v26.09.1

Вердикт

Подходит
  • HR, руководителю и поддержке: регламенты пишут без Markdown
  • тем, кому нужны права до страницы, SSO и MFA без платы за пользователя
  • тем, кто уходит с Confluence или Notion: оба закрыты для России, а здесь фиксированные 500 ₽/мес за сервер вместо подписки за каждого участника
Не подходит
  • тем, кому нужен Notion целиком: баз данных и канбанов здесь нет
  • тем, кто хочет вики-плагины и готовую тему: системы плагинов нет
  • тем, кто не готов обновлять: поддерживается только последняя версия
Мин. тариф: CPU2-RAM4-DISK50 Рекомендуем: CPU2-RAM4-DISK50 Сложность: easy Время запуска: ~2 мин RAM в простое: ~116 МиБ (3 контейнера) Главный риск: учетка admin@admin.com/password создается миграцией - смените до открытия сайта Прод-готовность: да, с TLS и бэкапом двух томов
Что это

Что это и какую задачу решает

BookStack - внутренняя база знаний компании на своем сервере вместо Confluence и Notion. Материалы разложены по полкам, книгам, главам и страницам, а редактор по умолчанию визуальный: чтобы писать, Markdown знать не нужно.

Бухгалтер, HR и первая линия поддержки пишут регламенты в редакторе, похожем на текстовый процессор, а инженеры получают поиск, историю правок, REST API и вебхуки.

Права доходят до отдельной страницы: видно, кто редактирует, кто только читает, а кто не должен видеть раздел вовсе. Для отдела кадров или финансов это решающая деталь.

PHP 8LaravelMariaDBDocker ComposeMIT
Структура

Полки, книги, главы, страницы: как устроена база знаний

Структура жесткая, как в книге: страница живет в главе или в книге, книга - на полке. Свободно раскидать файлы по папкам, как в файловой помойке, здесь не получится, и это осознанное решение автора.

Для читателя жесткая иерархия - плюс: он всегда видит оглавление книги и понимает, где находится. Внутри страницы работает визуальный редактор, а Markdown можно включить режимом, если сотрудник к нему привык.

Книга с главой и страницами в BookStack
Книга «Регламенты компании»: глава «Онбординг» и страницы внутри нее. v26.09.1, тариф CPU2-RAM4-DISK50.
Сравнение

Чем отличается от Confluence и Notion

Сравнение по тому, что влияет на выбор: цена, доступность в России и глубина прав.

ПараметрBookStackConfluence / Notion
Модель ценыБесплатно (MIT), платите только за серверЗа пользователя в месяц
Доступность в РФСтавится на свой сервер, вопрос снятConfluence и Notion закрыты для РФ
Где данныеНа вашем сервере, включая вложенияВ облаке вендора
Права и входДо страницы, SSO, MFA - в бесплатной сборкеЧасть возможностей - на платных тарифах
Базы и канбаныНет и не будетЕсть в Notion

Главное отличие - в тарифной модели. У BookStack нет платной версии вообще: одна MIT-сборка для всех, платных модулей и облака вендора не существует. Дополнительно можно купить только поддержку мейнтейнера.

Деньги

Во что обходится своя база знаний

Confluence считает по головам, сервер - фиксированной суммой.

КомандаConfluence Cloud StandardBookStack на 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: язык, темная тема и раскладка. Блоки можно перетаскивать между колонками или убирать в «неиспользуемые».

Раздел Interface Preferences в BookStack
Interface Preferences: язык, темный режим и список раскладок. Новая фича 26.09.
Редактор раскладки интерфейса BookStack
Редактор раскладки: блоки главной переносятся между колонками. v26.09.1.

Два изменения важны технически. Во-первых, APP_KEY теперь обязателен: без него приложение не стартует, а не подставляет значение по умолчанию. Во-вторых, PDF-экспорт перешел на встроенный движок и больше не требует отдельной программы.

i

Перевод отстал. Заголовки нового раздела остаются английскими («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
Тариф FatmetalCPU2-RAM4-DISK50 - 500 ₽/мес
i

Запас есть. Даже 60 страниц и PDF-экспорт всей книги не подняли приложение выше 84 МиБ. Тарифа CPU2-RAM4-DISK50 хватит с большим запасом, старший брать незачем.

В маркетплейсе Fatmetal

Не хотите ставить руками?

Этот стек есть в маркетплейсе Fatmetal - можно не повторять установку из этого разбора вручную. Заказываете сервер, за пару минут получаете рабочий сервис на своем домене, валидный TLS и файл с доступами.

Рекомендуемая конфигурация:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe от 450 ₽/мес

Развернуть в 1 клик →
Развертывание

Развертывание на Fatmetal

Cloud Server + Ubuntu 24.04 + Docker. Путь, который прошел на стенде, с командами.

  1. Создайте сервер и поставьте 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
  2. Сгенерируйте секреты

    В примере апстрима ключ приложения и пароли захардкожены - меняем все три. Ключ генерирует штатный хелпер образа.

    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.

  3. Опишите стек

    Создайте ~/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
  4. Настройте TLS

    Caddy сам получит сертификат Let's Encrypt, если домен уже указывает на сервер.

    cat > ~/bookstack/Caddyfile <<'EOF'
    ваш-домен {
      reverse_proxy bookstack:80
    }
    EOF
  5. Поднимите стек

    Образы примерно 1,2 ГБ. Сразу после запуска Caddy отдает 502: MariaDB готовит базу, а BookStack прогоняет около 140 миграций. До страницы входа проходит около двух минут.

    cd ~/bookstack && sudo docker compose up -d
    sudo docker compose ps
  6. Смените пароль администратора

    Первая миграция создает учетку 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();"
  7. Проверьте вход

    Страница входа должна ответить 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 ГБ
Экспорт книги в PDF12,6 с, пик 84 МиБ у приложения

Проверил и рост. Добавил книгу, 60 страниц с текстом и 5 картинок: база выросла с 2,1 до 5,2 МБ, том с файлами - с 0,5 до 5,1 МБ. Память почти не изменилась, так что запас тарифа не съедается страницами.

Главная страница BookStack после входа
Главная после входа: недавние страницы и история действий. v26.09.1, тариф CPU2-RAM4-DISK50.

Проверено на версии v26.09.1, октябрь 2026. На новых версиях результаты могут отличаться.

Подводные камни

Где может сломаться

Грабли, на которые наткнулся при запуске.

502 Bad Gateway сразу после docker compose up -d

Причина. Это не поломка: MariaDB готовит базу, BookStack прогоняет около 140 миграций.

Решение. Подождите около двух минут и проверьте docker compose ps и curl -s -o /dev/null -w '%{http_code}' localhost:6875.

An APP_KEY value must be set / приложение не стартует после обновления

Причина. С версии 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. Все нужное автор держит в ядре, но поставить сторонний модуль не получится.

FAQ

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

Сколько памяти нужно на самом деле?

Около 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 ₽/мес.

Запустить BookStack →
Анонсы новых разборов в Telegram-канале Новые гайды и карточки в маркетплейсе первыми @fatmetal_channel →

Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли баг в гайде - напишите, поправим в течение дня.