Borg UI: Веб-интерфейс для BorgBackup - Полное руководство

Borg UI — веб-интерфейс для BorgBackup: полное руководство по установке, настройке и хостингу резервных копий версии 2.0.

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

Установка BorgBackup

Установите BorgBackup на вашу систему через менеджер пакетов

sudo apt update && sudo apt install borgbackup

Создание репозитория

Инициализируйте новый репозиторий Borg с шифрованием

export BORG_PASSPHRASE='секретный-пароль' && borg init --encryption=repokey /path/to/repo

Установка системных зависимостей

Установите необходимые компоненты для работы

sudo apt install python3-pip python3-venv nginx

Установка Borg UI

Создайте виртуальное окружение и установите Borg UI

python3 -m venv borg-ui-env && source borg-ui-env/bin/activate && pip install borg-ui

Настройка конфигурации

Создайте и настройте файл конфигурации Borg UI

cp config.example.py config.py && nano config.py

Конфигурация Nginx

Настройте reverse proxy для Borg UI в Nginx

server {
    listen 80;
    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
    }
}

Настройка systemd сервиса

Создайте systemd сервис для автозапуска Borg UI

[Unit]
Description=Borg UI
After=network.target

[Service]
User=ваш-пользователь
WorkingDirectory=/path/to/borg-ui
ExecStart=/path/to/borg-ui-env/bin/borg-ui
Restart=always

[Install]
WantedBy=multi-user.target

Запуск и проверка

Запустите сервис и проверьте доступность интерфейса

sudo systemctl daemon-reload && sudo systemctl enable borg-ui && sudo systemctl start borg-ui

Borg UI только что достиг 1,000+ звёзд и здесь версия 2.0 - Веб-интерфейс для BorgBackup

Введение в BorgBackup и его важность для самостоятельного хостинга

BorgBackup — это мощная система резервного копирования с открытым исходным кодом, которая обеспечивает дедупликацию данных, сжатие и шифрование. Для тех, кто занимается самостоятельным хостингом или управляет собственным сервером, BorgBackup стал незаменимым инструментом для защиты важных данных.

Особенно ценным BorgBackup становится для домашних серверов, где дисковое пространство часто ограничено, а безопасность данных — приоритет. Благодаря дедупликации на уровне блоков даже ежедневное резервное копирование большого количества изменяющихся данных занимает мало места, а шифрование обеспечивает конфиденциальность ваших данных.

Для эффективного управления резервными копиями через командную строку требуется определённый опыт, что не всегда удобно. Именно на этот проблему отвечает Borg UI — веб-интерфейс для BorgBackup.

Что такое Borg UI и его преимущества

Borg UI — это веб-интерфейс для управления резервными копиями BorgBackup. Он предоставляет удобный графический способ взаимодействия с репозиториями Borg, позволяя без навыка работы с терминалом выполнять основные операции с резервными копиями.

Основные преимущества Borg UI:

  • Удобный веб-интерфейс для управления резервными копиями
  • Возможность просмотра содержимого архивов
  • Простое восстановление файлов и каталогов
  • Мониторинг использования репозитория
  • Поддержка нескольких репозиториев
  • Интеграция с существующими репозиториями BorgBackup

С недавним обновлением до версии 2.0, которое принесло 1000+ звёзд на GitHub, Borg UI стал ещё более функциональным и удобным инструментом для домашнего сервера.

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

Перед установкой Borg UI убедитесь, что ваша система соответствует следующим требованиям:

  • Python 3.7 или выше
  • BorgBackup (рекомендуется последняя стабильная версия)
  • Веб-сервер (Nginx или Apache) для продакшн-развертывания
  • Не менее 100 МБ свободного места для самого приложения
  • Доступ к репозиториям BorgBackup

Для установки Borg UI выполните следующие подготовительные шаги:

  1. Установите BorgBackup:
# Для Debian/Ubuntu
sudo apt update
sudo apt install borgbackup

# Для CentOS/RHEL/Fedora
sudo yum install borgbackup
# или
sudo dnf install borgbackup
  1. Убедитесь, что у вас есть существующий или новый репозиторий BorgBackup:
# Создание нового репозитория
export BORG_PASSPHRASE='секретный-пароль'
borg init --encryption=repokey /path/to/repo
  1. Установите системные зависимости:
# Для Debian/Ubuntu
sudo apt install python3-pip python3-venv nginx

# Для CentOS/RHEL/Fedora
sudo yum install python3 python3-pip nginx

Установка Borg UI

Есть несколько способов установки Borg UI:

Установка через pip (рекомендуемый способ)

# Создание виртуального окружения
python3 -m venv borg-ui-env
source borg-ui-env/bin/activate

# Установка Borg UI
pip install borg-ui

Клонирование репозитория

git clone https://github.com/borg-ui/borg-ui.git
cd borg-ui

# Создание виртуального окружения
python3 -m venv borg-ui-env
source borg-ui-env/bin/activate

# Установка зависимостей
pip install -r requirements.txt

Проверка установки

После установки вы можете запустить Borg UI в режиме разработки:

source borg-ui-env/bin/activate
borg-ui

По умолчанию интерфейс будет доступен по адресу http://localhost:8080.

Настройка Borg UI

Конфигурация через файл

Создайте файл конфигурации config.py или скопируйте пример из репозитория:

cp config.example.py config.py

Настройте основные параметры в файле config.py:

# Порт для веб-интерфейса
PORT = 8080

# Хост для привязки
HOST = '0.0.0.0'

# Путь к репозиториям
REPOSITORIES = [
    '/path/to/borg/repo1',
    '/path/to/borg/repo2',
]

# Пароли от репозиториев (можно оставить пустыми, если используете SSH-ключи)
BORG_PASSPHRASES = {
    '/path/to/borg/repo1': 'пароль1',
    '/path/to/borg/repo2': 'пароль2',
}

# Настройки аутентификации
SECRET_KEY = 'ваш-секретный-ключ'
SESSION_COOKIE_SECURE = True
PERMANENT_SESSION_LIFETIME = 1800  # 30 минут

Настройка веб-сервера для продакшн

Для использования Nginx в качестве прокси-сервера создайте конфигурационный файл:

sudo nano /etc/nginx/sites-available/borg-ui

Содержимое файла:

server {
    listen 80;
    server_name ваш-домен-или-ip;

    location / {
        proxy_pass http://localhost:8080;
        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 ln -s /etc/nginx/sites-available/borg-ui /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Настройка systemd для автозапуска

Создайте файл сервиса:

sudo nano /etc/systemd/system/borg-ui.service

Содержимое файла:

[Unit]
Description=Borg UI
After=network.target

[Service]
User=ваш-пользователь
Group=ваш-пользователь
WorkingDirectory=/path/to/borg-ui
Environment="PATH=/path/to/borg-ui/borg-ui-env/bin"
ExecStart=/path/to/borg-ui/borg-ui-env/bin/borg-ui
Restart=always

[Install]
WantedBy=multi-user.target

Активируйте и запустите сервис:

sudo systemctl daemon-reload
sudo systemctl enable borg-ui
sudo systemctl start borg-ui

Интеграция с существующими репозиториями BorgBackup

Borg UI может работать с уже существующими репозиториями BorgBackup. Для этого:

  1. Убедитесь, что пользователь, от имени которого работает Borg UI, имеет доступ к репозиториям:
# Установка правильных прав доступа
sudo chown -R ваш-пользователь:ваш-пользователь /path/to/borg/repo
sudo chmod -R 700 /path/to/borg/repo
  1. Если репозитории зашифрованы, добавьте пароли в конфигурацию Borg UI или используйте SSH-ключи для доступа.

  2. Проверьте доступность репозиториев:

# Запустите Borg UI
source borg-ui-env/bin/activate
borg-ui

# Перейдите в веб-интерфейс и убедитесь, что репозитории отображаются

Если репозитории не отображаются, проверьте:

  • Права доступа к репозиториям
  • Корректность путей в конфигурации
  • Наличие паролей для зашифрованных репозиториев
  • Работоспособность самого BorgBackup

Использование веб-интерфейса для управления резервными копиями

После запуска Borg UI вы можете выполнять основные операции с резервными копиями через веб-интерфейс:

Создание новой резервной копии

  1. Перейдите в раздел "Create Backup"
  2. Выберите репозиторий
  3. Укажите путь к каталогу или файлу для резервного копирования
  4. Настройте параметры (имя архива, комментарий, компрессию и т.д.)
  5. Нажмите "Create Backup"

Просмотр существующих копий

  1. Перейдите в раздел "Archives"
  2. Выберите репозиторий
  3. Вы увидите список всех резервных копий с датой создания и размером
  4. Для просмотра содержимого архива нажмите на его имя

Восстановление данных

  1. Перейдите в раздел "Restore"
  2. Выберите репозиторий и архив
  3. Выберите файлы и каталоги для восстановления
  4. Укажите путь для восстановления
  5. Нажмите "Restore"

Удаление копий

  1. Перейдите в раздел "Archives"
  2. Выберите архив для удаления
  3. Нажмите кнопку "Delete"
  4. Подтвердите удаление

Мониторинг использования

В разделе "Repository Info" вы можете просмотреть статистику использования репозитория, включая:

  • Общий размер репозитория
  • Размер используемых данных
  • Количество архивов
  • Эффективность дедупликации

Расширенные функции в версии 2.0

Версия 2.0 принесла множество улучшений и новых функций:

Улучшенный пользовательский интерфейс

  • Полностью переработанный интерфейс с улучшенной навигацией
  • Адаптивный дизайн для мобильных устройств
  • Темная тема
  • Улучшенная визуализация данных об использовании диска

Управление несколькими репозиториями

  • Удобный интерфейс для управления несколькими репозиториями
  • Быстрое переключение между репозиториями
  • Группировка репозиториев по проектам или назначению

Пакетные операции

  • Массовое удаление архивов
  • Пакетное восстановление файлов
  • Планирование нескольких резервных копий

Улучшенная безопасность

  • Поддержка двухфакторной аутентификации
  • Улучшенная защита от CSRF и XSS атак
  • Шифрование паролей в базе данных

Расширенные возможности восстановления

  • Предпросмотр восстанавливаемых файлов
  • Возможность частичного восстановления
  • Восстановление в удалённую систему

Интеграция с внешними системами

  • Веб-крючки для уведомлений
  • Поддержка REST API для интеграции с другими инструментами
  • Экспорт статистики в CSV и JSON форматы

Оптимизация производительности

Для обеспечения стабильной работы Borg UI на домашнем сервере:

Оптимизация использования ресурсов

  • Ограничьте количество одновременных операций в настройках
  • Настройте автоматическую очистку кэша
  • Используйте фоновые задачи для операций, занимающих много времени

Мониторинг производительности

  • Используйте встроенные инструменты мониторинга Borg UI
  • Следите за использованием CPU и памяти
  • Настройте логирование для анализа проблем

Оптимизация работы с репозиториями

  • Регулярно выполняйте компактацию репозиториев:
borg compact /path/to/repo
  • Используйте сжатие, соответствующее вашим требованиям
  • Настройте стратегии хранения для старых архивов

Безопасность и лучшие практики

Защита доступа к веб-интерфейсу

  1. Используйте HTTPS для доступа к Borg UI:
# Установка Certbot для Let's Encrypt
sudo apt install certbot python3-certbot-nginx

# Настройка SSL
sudo certbot --nginx -d ваш-домен-или-ip
  1. Настройте базовую аутентификацию через Nginx:
location / {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
    proxy_pass http://localhost:8080;
    # ...
}
  1. Ограничьте доступ по IP-адресам:
location / {
    allow 192.168.1.0/24;
    deny all;
    proxy_pass http://localhost:8080;
    # ...
}

Защита данных

  1. Храните пароли от репозиторий в защищённом месте
  2. Используйте надёжные пароли и ключи шифрования
  3. Регулярно обновляйте Borg UI и BorgBackup
  4. Резервируйте конфигурационные файлы

Резервное копирование конфигурации

Регулярно делайте резервные копии конфигурации Borg UI:

# Создание архива конфигурации
borg create /path/to/config-backup::config-{now} /path/to/borg-ui/config.py

Обновление до новой версии

Процесс обновления Borg UI до версии 2.0:

  1. Создайте резервную копию текущей конфигурации:
cp -r /path/to/borg-ui /path/to/borg-ui-backup
  1. Остановите сервис Borg UI:
sudo systemctl stop borg-ui
  1. Обновите код:
# Для установки через pip
pip install --upgrade borg-ui

# Для клонирования репозитория
cd /path/to/borg-ui
git pull origin master
pip install -r requirements.txt
  1. Проверьте конфигурацию на совместимость с новой версией:
# Запустите в режиме проверки
borg-ui --check-config
  1. Запустите обновлённую версию:
sudo systemctl start borg-ui
  1. Проверьте работу интерфейса

Если при обновлении возникли проблемы, вы можете вернуться к предыдущей версии из резервной копии.

Альтернативы и сравнение

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

BorgBackup с веб-интерфейсом

  • Borgmatic: Утилита для автоматизации резервного копирования с простым веб-интерфейсом
  • Vorta: Графический клиент для BorgBackup с открытым исходным кодом

Другие системы резервного копирования

  • Duplicati: Система резервного копирования с веб-интерфейсом, поддерживает различные бэкенды
  • Urbackup: Комплексное решение для резервного копирования с клиент-серверной архитектурой
  • Restic: Современная утилита резервного копирования с поддержкой различных бэкендов

Сравнение Borg UI с основными альтернативами:

КритерийBorg UIVortaDuplicati
Поддержка BorgПолнаяПолнаяНет
Веб-интерфейсДаНет (только десктоп)Да
АвтоматизацияЧастичнаяХорошаяОтличная
МультиплатформенностьДаДаДа
Лёгкость установкиСредняяЛёгкаяСредняя
РасширяемостьСредняяНизкаяВысокая

Borg UI выделяется среди альтернатив своей специализацией именно на BorgBackup и простотой использования для тех, кто уже использует эту систему.

Заключение

Borg UI представляет собой удобное решение для управления резервными копиями BorgBackup через веб-интерфейс. С версии 2.0 инструмент стал ещё более функциональным и удобным, что подтверждается ростом популярности среди пользователей самостоятельного хостинга.

Установка и настройка Borg UI не требует особых навыков, а интеграция с существующими репозиториями позволяет быстро начать использовать инструмент. Для тех, кто ценит безопасность своих данных на домашнем сервере и хочет иметь удобный инструмент для управления резервными копиями, Borg UI становится отличным выбором.

Благодаря активному развитию и поддержке сообщества, Borg UI продолжит улучшаться и добавлять новые функции, оставаясь актуальным инструментом для резервного копирования в домашней сети.

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