Перейти к основному контенту

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

Руководство по установке полностью автономной и приватной базы знаний BookStack на сервере Debian с помощью Docker Compose. Все данные (тексты, изображения и настройки) хранятся локально в папке проекта, что упрощает перенос и резервное копирование.


🚀 Быстрый запуск

  1. Создайте на сервере директорию для проекта и перейдите в неё:

    mkdir -p ~/bookstack && cd ~/bookstack
  2. Создайте подпапки для хранения базы данных и пользовательского контента:

    mkdir -p db_data app_config
  3. Создайте файл docker-compose.yml, вставьте в него код ниже, указав актуальный URL вашего сервера и надежные пароли.


📄 Файл конфигурации: docker-compose.yml

# ==============================================================================
# БАЗА ЗНАНИЙ: BOOKSTACK С ЛОКАЛЬНЫМ ХРАНЕНИЕМ ДАННЫХ
# ==============================================================================
version: "3"

services:
  # --- База данных MariaDB ---
  bookstack_db:
    image: lscr.io/linuxserver/mariadb:latest
    container_name: bookstack_db
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=root_password_change_me
      - MYSQL_DATABASE=bookstackapp
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=bookstack_db_pass_123
    volumes:
      # Локальное хранение базы данных в папке ./db_data
      - ./db_data:/config
    restart: always

  # --- Основное приложение BookStack ---
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    container_name: bookstack_app
    environment:
      - PUID=1000
      - PGID=1000
      # Укажите ваш IP или домен. Важно для корректной подгрузки стилей.
      - APP_URL=http://IP_сервера:6875
      - DB_HOST=bookstack_db
      - DB_USER=bookstack
      - DB_PASS=bookstack_db_pass_123
      - DB_DATABASE=bookstackapp
      # Настройки локализации
      - APP_LANG=ru
      - TZ=Asia/Yekaterinburg
    volumes:
      # Локальное хранение: картинки, настройки и кэш в ./app_config
      - ./app_config:/config
    ports:
      # Порт, на котором будет доступен интерфейс (http://IP_сервера:6875)
      - "6875:80"
    restart: always
    depends_on:
      - bookstack_db

⚙️ Запуск и обслуживание

  • Запуск контейнеров в фоновом режиме:

    docker compose up -d
  • Данные для первого входа (Default Credentials):
    Email: admin@admin.com
    Пароль: password
    (Сразу после входа измените эти данные в профиле пользователя!)

  • Просмотр логов:

    docker compose logs -f

💾 Резервное копирование и перенос

Все данные системы изолированы внутри директории ~/bookstack в папках ./db_data и ./app_config.

Для создания полной копии:

  1. Остановите контейнеры: docker compose down
  2. Скопируйте всю папку ~/bookstack на внешний носитель или в облако.
  3. Для восстановления на новом сервере просто выполните docker compose up -d в этой папке.

Приложение автоматически применит все необходимые обновления при запуске новой версии образа.