BookStackv26.09.1
Внутренняя база знаний компании: полки, книги и главы, визуальный редактор, права доступа до отдельной страницы - замена Confluence.
BookStack - внутренняя база знаний компании на своем сервере. Регламенты, инструкции и онбординг пишут HR, бухгалтерия и поддержка: редактор обычный, без Markdown, обучение не нужно. Права настраиваются до отдельной страницы, единый вход и двухфакторная аутентификация входят в единственную бесплатную сборку - платить за пользователей не надо.
После создания сервера все разворачивается само за 5-15 минут: три контейнера (BookStack на PHP/Laravel, MariaDB и Caddy для TLS), в простое стек занимает около 116 МиБ памяти. Ставится версия 26.09.1, образы закреплены тегами. Пока готовится база и проходят около 140 миграций, сервер может пару минут отвечать 502 - это нормально, дождитесь 200/302. Адрес с валидным HTTPS выдается сразу, вручную настраивать нечего. Интерфейс на русском (APP_LANG=ru).
Что внутри
- BookStack
version-v26.09.1(образghcr.io/linuxserver/bookstack) - PHP/Laravel-приложение со встроенным веб-сервером, слушает только внутреннюю docker-сеть.
- MariaDB 11.4 LTS (образ
ghcr.io/linuxserver/mariadb) - хранилище книг, страниц, пользователей и прав.
- Caddy 2
- обратный прокси и автоматический TLS-сертификат (Let's Encrypt), единственные публичные порты
80/443.
Итого три контейнера: приложение, база и прокси. Фоновых воркеров нет, очередь для писем включается отдельной настройкой.
Безопасность
- fail2ban на SSHбанит адрес после серии неудачных входов, чтобы перебор пароля по SSH не шел бесконечно.
- Администратор без заводского пароляучетная запись заводится установкой, пароль равен паролю сервера; общеизвестного
passwordна машине не остается. - Пароли базы и ключ приложениягенерируются на сервере при установке, дефолтных значений из примеров в поставке нет.
- Регистрация закрытааккаунты сотрудников заводит администратор приглашениями, посторонний сам не зарегистрируется.
- Наружу смотрит только проксиприложение слушает
127.0.0.1:6875, база портов наружу не отдает.
Как войти
Адрес формируется из публичного IP сервера: замените точки на дефисы и добавьте
.fatmetal.net. Пример: IP45.15.159.124->https://45-15-159-124.fatmetal.net.Логин -
admin@admin.com, пароль - тот же, что для входа по SSH: клиент видит его в панели заказа.Смените пароль сразу после первого входа: аватар ->
Моя учетная запись->Доступ и безопасность.Создайте первую книгу кнопкой
Создать книгуи заведите в ней главы и страницы - это и есть структура вашей базы знаний.
Важно
BookStack не заменяет Notion целиком: баз данных, канбанов и совместного редактирования в реальном времени здесь нет, это база знаний с правами до страницы.
Для писем (приглашения сотрудников и сброс пароля) нужен свой SMTP-сервер: добавьте в /opt/bookstack/compose.yml переменные MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD и выполните docker compose up -d в каталоге проекта. Без них приглашения не уходят.
Обновляется только свежая версия: раз в месяц-полтора меняйте тег образа в /opt/bookstack/compose.yml и выполняйте docker compose pull && docker compose up -d. Перед обновлением делайте копии базы и тома с файлами.
Лицензия
MIT: коммерческое использование разрешено, платных модулей, лимита пользователей и платной версии нет. Необязательная поддержка мейнтейнера - отдельная услуга вендора, она не нужна для работы.
Свой домен
- Направьте
A-запись своего домена на публичный IP сервера (он указан в панели заказа) и дождитесь, покаping ваш-доменпокажет этот адрес. DNS обновляется от нескольких минут до часа. - Впишите домен в
/etc/bookstack-mp/params.envстрокойDOMAIN=ваш-домен. - Выполните
bash /opt/bookstack-mp/install.sh- сертификат перевыпустится под новый домен, база, файлы и пароль останутся на месте. - Откройте
https://ваш-домени входите теми же данными:admin@admin.comи пароль сервера.
Требования
Стек из трех контейнеров: в простое около 116 МиБ RAM, пик на выгрузке книги в PDF - около 84 МиБ, образы занимают около 1,2 ГБ на диске. Тариф CPU2-RAM4-DISK50.