Установка BookStack в Docker Compose: гайд для новичков
Зачем компании своя Википедия?
Когда в компании растет штат, инструкции начинают теряться в чатах и Google Документах. Для порядка создают локальную Вики — например, BookStack. Она проста, структурирована по книгам и главам, а запуск в Docker занимает 5 минут.
Сравнение популярных Wiki-движков
| Параметр | BookStack | DokuWiki |
|---|---|---|
| Формат хранения | База данных MySQL | Текстовые файлы (Plain Text) |
| Интерфейс | Современный (WYSIWYG/Markdown) | Классический Wiki |
| Сложность развертывания | Очень легко через Docker | Очень легко (1 контейнер) |
Пошаговое развертывание BookStack
Для запуска нам понадобится установленный Docker и Docker Compose. Создадим отдельную изолированную папку для базы знаний.
- Создаем рабочую директорию:
mkdir -p /opt/bookstack && cd /opt/bookstack - Создаем файл конфигурации docker-compose.yml:
nano docker-compose.yml - Вставляем готовый конфиг:
version: "3" services: bookstack: image: lscr.io/linuxserver/bookstack:latest container_name: bookstack environment: - PUID=1000 - PGID=1000 - APP_URL=http://IP_ВАШЕГО_СЕРВЕРА:6875 - DB_HOST=bookstack_db - DB_USER=bookstack - DB_PASS=StrongPassword123 - DB_DATABASE=bookstackapp volumes: - ./config:/config ports: - 6875:80 restart: unless-stopped depends_on: - bookstack_db bookstack_db: image: lscr.io/linuxserver/mariadb:latest container_name: bookstack_db environment: - PUID=1000 - PGID=1000 - MYSQL_ROOT_PASSWORD=RootSecretPass123 - MYSQL_DATABASE=bookstackapp - MYSQL_USER=bookstack - MYSQL_PASSWORD=StrongPassword123 volumes: - ./db_data:/config restart: unless-stopped - Запускаем проект в фоновом режиме:
docker compose up -d
Стандартные данные для первого входа: Логин: admin@admin.com, Пароль: password. Сразу же смените пароль в профиле администратора!
Частые вопросы (FAQ)
Как открыть BookStack в браузере?
Перейдите по адресу http://IP_СЕРВЕРА:6875. Убедитесь, что порт 6875 не заблокирован фаерволом.
Как сделать резервную копию базы знаний?
Достаточно скопировать директории ./config и ./db_data, предварительно остановив контейнеры командой docker compose down.
Как подключить домен и SSL-сертификат?
Установите Nginx в качестве Reverse Proxy перед контейнером и настройте бесплатный сертификат через Certbot.
Что делать, если картинки не загружаются?
Проверьте параметр APP_URL в docker-compose.yml: он должен в точности совпадать с адресом, по которому вы открываете сайт в браузере.