Самостоятельное управление знаниями: руководство по Siyuan

Установите и настройте Siyuan — приватное ПО для управления знаниями в хомелабе. Полное руководство с Docker, настройками и советами по безопасности.

Не указано
Алексей Кузнецов
Алексей Кузнецов
Системный администратор15 января 2026 г.

Подготовка окружения

Обновите системные пакеты и установите Docker с Docker Compose. Убедитесь, что служба Docker запущена.

sudo apt update && sudo apt upgrade -y
sudo apt install docker.io docker-compose -y
sudo systemctl enable --now docker
docker --version
docker-compose --version

Создание директории для данных

Создайте папку для хранения данных Siyuan и перейдите в неё. Измените права доступа, чтобы текущий пользователь мог записывать данные.

sudo mkdir -p /opt/siyuan
sudo chown -R $(whoami):$(whoami) /opt/siyuan
cd /opt/siyuan

Создание файла docker-compose.yml

Создайте файл docker-compose.yml в директории /opt/siyuan. В этом файле укажите образ контейнера, порты и путь к volume для хранения данных.

version: '3.8'

services:
  siyuan:
    image: siyuan-note/siyuan:latest
    container_name: siyuan
    restart: unless-stopped
    ports:
      - "6806:6806"
    volumes:
      - ./data:/home/siyuan/Documents/siyuan
    environment:
      - SIYUAN_WORKSPACE=/home/siyuan/Documents/siyuan
    networks:
      - siyuan_net

networks:
  siyuan_net:
    driver: bridge

Запуск контейнера Siyuan

Запустите контейнер в фоновом режиме с помощью Docker Compose и проверьте его статус.

docker-compose up -d
docker-compose ps

Настройка брандмауэра

Если на сервере активен брандмауэр UFW, разрешите входящие соединения на порту 6806.

sudo ufw allow 6806/tcp
sudo ufw reload

Первоначальная настройка через веб-интерфейс

Откройте браузер и перейдите по адресу http://<ваш-ip>:6806. Установите пароль администратора и создайте первый блокнот (Workspace).

Настройка шифрования и синхронизации

Для защиты данных в разделе настроек блокнота (Workspace Settings) включите шифрование и задайте пароль. Для синхронизации между устройствами настройте внешний сервис (например, WebDAV) или локальную синхронизацию.

Настройка обратного прокси (Nginx) для HTTPS

Для безопасного доступа настройте Nginx как reverse proxy. Создайте конфигурационный файл для вашего домена и настройте SSL сертификат (например, через Let's Encrypt).

server {
    listen 80;
    server_name siyuan.example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name siyuan.example.com;

    ssl_certificate /etc/letsencrypt/live/siyuan.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/siyuan.example.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:6806;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

# Применение конфигурации
sudo systemctl reload nginx

Создание скрипта резервного копирования

Создайте bash-скрипт для автоматического бэкапа данных в архив с указанием даты и удалением старых бэкапов (старше 30 дней).

#!/bin/bash
DATE=$(date +%Y-%m-%d_%H-%M)
BACKUP_DIR="/backup/siyuan"
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/siyuan_data_$DATE.tar.gz -C /opt/siyuan data/
# Удаляем бэкапы старше 30 дней
find $BACKUP_DIR -name "siyuan_data_*.tar.gz" -mtime +30 -delete

Настройка автоматического бэкапа через Cron

Сделайте скрипт бэкапа исполняемым и добавьте задание в планировщик задач (cron) для выполнения раз в день.

chmod +x /opt/siyuan/backup.sh
sudo crontab -e
# Добавить строку:
0 3 * * * /opt/siyuan/backup.sh

Как самостоятельно развернуть Siyuan — приватную, полностью открытую систему управления личными знаниями

Введение

Управление личными знаниями — ключевая задача для тех, кто работает с информацией. Хостинг собственных данных гарантирует конфиденциальность, контроль и независимость от коммерческих облачных сервисов. Siyuan — это современная, функциональная и полностью открытая система для управления знаниями (вроде Notion или Obsidian), которую можно развернуть на собственном сервере. В этом гайде подробно рассмотрим установку Siyuan через Docker, настройку и резервное копирование.

Обзор Siyuan: Основные возможности и преимущества

Siyuan (思源笔记) — это многофункциональный блокнот для интеллектуальной работы с информацией.

Ключевые возможности:

  • Дерево блоков: каждый абзац, заголовок, изображение — отдельный блок, который можно легко перемещать и связывать.
  • WYSIWYG-редактор: интуитивное редактирование Markdown и визуального форматирования.
  • Связи и граф знаний: автоматическое построение графа связей между документами.
  • Плагины: расширенная система плагинов для интеграций и кастомизации.
  • Синхронизация между устройствами: поддержка пира-пира и облачного синхронизации (локальная или внешняя).
  • Полностью локальное хранение: данные хранятся в структуре файлов, что упрощает бэкапы и миграцию.

Преимущества для self-hosted развертывания:

  • Полная конфиденциальность — данные не покидают ваш сервер.
  • Нет зависимости от поставщика облачных услуг.
  • Гибкая настройка под свои нужды (веб-интерфейс, HTTPS, reverse proxy).
  • Открытый исходный код (лицензия AGPL-3.0).

Требования к системе и подготовка окружения

Для развертывания Siyuan на собственном сервере (например, VPS, выделенный сервер или домашний сервер в homelab) необходимы следующие ресурсы:

Минимальные требования:

  • Операционная система: Linux (Ubuntu/Debian предпочтительны), macOS или Windows (для Docker).
  • Ресурсы:
    • 2 ядра CPU.
    • 2 ГБ RAM (для работы с небольшими базами знаний).
    • 10 ГБ свободного места на диске (минимум, рекомендуется больше для роста).
  • Docker и Docker Compose: должны быть установлены.
  • Сеть: статический IP-адрес (желательно) и открытый порт (по умолчанию 6806).

Подготовка окружения:

  1. Обновите систему:
    sudo apt update && sudo apt upgrade -y
    
  2. Установите Docker и Docker Compose:
    sudo apt install docker.io docker-compose -y
    sudo systemctl enable --now docker
    
  3. Проверьте, что Docker работает:
    docker --version
    docker-compose --version
    
  4. Если у вас есть домен (необязательно, но рекомендуется для HTTPS), настройте DNS-запись на ваш IP.

Пошаговая установка Siyuan с использованием Docker

Siyuan официально поддерживает развертывание через Docker, что упрощает развертывание и обновление.

1. Создайте директорию для Siyuan

Выберите путь для хранения данных (например, /opt/siyuan). Данные будут храниться внутри этой папки, поэтому важно настроить бэкап.

sudo mkdir -p /opt/siyuan
sudo chown -R $(whoami):$(whoami) /opt/siyuan
cd /opt/siyuan

2. Создайте файл docker-compose.yml

Создайте файл docker-compose.yml в /opt/siyuan:

version: '3.8'

services:
  siyuan:
    image: siyuan-note/siyuan:latest
    container_name: siyuan
    restart: unless-stopped
    ports:
      - "6806:6806"
    volumes:
      - ./data:/home/siyuan/Documents/siyuan
    environment:
      - SIYUAN_WORKSPACE=/home/siyuan/Documents/siyuan
    networks:
      - siyuan_net

networks:
  siyuan_net:
    driver: bridge

Примечания:

  • Порт 6806:6806 — внешний порт: внутренний. Если порт 6806 занят, измените внешний (например, 6807:6806).
  • Объём ./data:/home/siyuan/Documents/siyuan — здесь хранятся все ваши блокноты и настройки.
  • Сеть siyuan_net создается отдельно для изоляции (опционально, но рекомендуется).

3. Запустите контейнер

Из папки /opt/siyuan выполните:

docker-compose up -d

Проверьте статус контейнера:

docker-compose ps

Должно показать, что контейнер siyuan в состоянии Up.

4. Настройте брандмауэр (если необходимо)

Если сервер имеет включенный брандмауэр, откройте порт:

sudo ufw allow 6806/tcp
sudo ufw reload

5. Проверьте доступ к веб-интерфейсу

Откройте в браузере: http://<ваш-ip>:6806 или, если настроен домен, http://<домен>:6806.

Вы должны увидеть экран приветствия Siyuan с предложением создать первый блокнот.

Первоначальная настройка и создание блокнота

1. Создание администратора

При первом входе Siyuan запросит установку пароля администратора. Введите пароль и подтвердите. Запомните его — он будет использоваться для доступа к веб-интерфейсу.

2. Создание блокнота (Workplace)

Siyuan называет блокноты "workspace" — отдельные пространства для знаний. Чтобы создать первый блокнот:

  • Нажмите "Создать блокнот".
  • Введите название (например, "Личные заметки").
  • Выберите папку для хранения (по умолчанию это подпапка внутри /opt/siyuan/data).
  • Нажмите "Создать".

3. Первый документ

Откройте созданный блокнот и нажмите "+ Документ". Начните вводить текст — Siyuan автоматически создает блоки (абзацы). Для форматирования используйте горячие клавиши (Ctrl+B для жирного) или панель форматирования.

Совет: Чтобы привыкнуть к интерфейсу, создайте несколько заголовков и ссылок между ними (используйте [[имя документа]] для быстрых ссылок).

Расширенные настройки: шифрование, синхронизация, плагины

Шифрование данных

Siyuan хранит данные локально, но если вы используете синхронизацию, важно шифрование:

  • В настройках блокнота (Workspace Settings) включите "Шифрование" (Encryption) и задайте пароль шифрования.
  • Этот пароль не восстанавливается, сохраните его надежно.

Синхронизация между устройствами

Siyuan поддерживает два вида синхронизации:

1. Локальная синхронизация (внутри сети)

  • В настройках блокнота включите "Локальная синхронизация".
  • На других устройствах установите Siyuan и подключитесь к этому серверу (укажите IP/домен и порт 6806).

2. Синхронизация через внешний облачный сервис (Dify, Dropbox, S3, etc.)

  • В настройках синхронизации выберите тип (например, "Local Sync" или "WebDAV").
  • Для WebDAV укажите URL, логин и пароль.
  • Siyuan будет синхронизировать данные в фоне.

Важно: Синхронизация через внешний сервис требует шифрования для защиты данных.

Плагины

Siyuan имеет встроенное меню плагинов.

  • Перейдите в настройки → "Плагины".
  • Установите популярные плагины: "Список задач", "Экспорт в PDF", "Интеграция с CalDAV", etc.
  • Для ручной установки плагина можно использовать команду Install Plugin from ZIP.

Настройка HTTPS и reverse proxy (рекомендуется для публичного доступа)

Чтобы обеспечить безопасный доступ и использовать стандартный порт 443, настройте reverse proxy (например, Nginx или Caddy).

Пример конфигурации Nginx (для домена siyuan.example.com):

server {
    listen 80;
    server_name siyuan.example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name siyuan.example.com;

    # SSL сертификат (Let's Encrypt через certbot)
    ssl_certificate /etc/letsencrypt/live/siyuan.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/siyuan.example.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:6806;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

После конфигурации перезагрузите Nginx: sudo systemctl reload nginx.

Рекомендации по резервному копированию данных

Данные Siyuan хранятся в папке ./data (в вашей директории установки). Регулярные бэкапы — критически важны.

Автоматический бэкап через cron

Создайте скрипт бэкапа в /opt/siyuan/backup.sh:

#!/bin/bash
DATE=$(date +%Y-%m-%d_%H-%M)
BACKUP_DIR="/backup/siyuan"
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/siyuan_data_$DATE.tar.gz -C /opt/siyuan data/
# Удаляем бэкапы старше 30 дней
find $BACKUP_DIR -name "siyuan_data_*.tar.gz" -mtime +30 -delete

Сделайте скрипт исполняемым:

chmod +x /opt/siyuan/backup.sh

Добавьте задачу в cron (например, ежедневно в 3 утра):

sudo crontab -e

Добавьте строку:

0 3 * * * /opt/siyuan/backup.sh

Ручной бэкап

Или вручную в любой момент:

tar -czf siyuan_backup_$(date +%Y%m%d).tar.gz -C /opt/siyuan data/

Дополнительно: синхронизация на удаленный сервер (rsync)

Чтобы копировать архивы на другой сервер, добавьте в скрипт:

rsync -avz /backup/siyuan/ backup-user@remote-server:/backups/siyuan/

Заключение: Преимущества Siyuan для хомелаба

Развертывание Siyuan на собственном сервере дает полный контроль над вашими знаниями. Это особенно ценно в homelab-среде, где вы можете:

  • Интегрировать Siyuan с другими сервисами (например, через API или плагины).
  • Настроить бэкапы по своему усмотрению.
  • Использовать систему в полностью offline-режиме без интернета.
  • Масштабировать ресурсы под рост базы знаний.

Siyuan — это мощный, гибкий и безопасный инструмент для управления знаниями, который полностью оправдывает усилия по self-hosted развертыванию.

Поделиться:TelegramX / TwitterVK