Zerobyte: автоматизация резервного копирования для Homelab
Резервное копирование — одна из ключевых задач любой инфраструктуры.
В домашнем Homelab или self-hosted окружении важно иметь систему, которая:
- автоматически выполняет бэкапы
- поддерживает шифрование
- умеет работать с облачными хранилищами
- имеет удобный интерфейс управления
Именно такую задачу решает Zerobyte.
В этой статье разберём:
- что такое Zerobyte
- как установить его через Docker
- как настроить первое резервное копирование
- как восстанавливать данные
Что такое Zerobyte
Zerobyte — это инструмент для автоматизации резервного копирования, который помогает сохранять данные на различных хранилищах. Построенный на основе Restic, он предоставляет современный веб-интерфейс для планирования, управления и мониторинга зашифрованных резервных копий вашего удалённого хранилища.
::: warning Zerobyte всё ещё находится на версии 0.x.x и может существенно меняться от версии к версии. Проект в стадии активной разработки. :::
После того, как я выпустил ролик про приложения-открытия 2025 года, в числе которых я рассказывал про Zerobyte, мне часто пишут с вопросом, почему я не рассказал о том или ином решении. По мнению задающего вопросы именно то приложение которым он пользуется самое лучшее:) Ниже я постарался свести в некую табличку особенности самых популярных решений.
Особенности Zerobyte:
-
Автоматическое резервное копирование с шифрованием, сжатием и политиками хранения, реализованное с помощью Restic
-
Гибкое расписание для автоматических заданий резервного копирования с тонкой настройкой политики хранения
-
Конечное шифрование (end-to-end), обеспечивающее защиту данных на всех этапах
-
Поддержка нескольких протоколов: резервное копирование с NFS, SMB, WebDAV, SFTP или локальных директорий
Это делает Zerobyte удобной альтернативой таким решениям как:
Сравнение популярных решений для резервного копирования
| Backup tool | Web UI | Encryption | Deduplication | Docker |
|---|---|---|---|---|
| Duplicati | ✔ | ✔ | ✔ | ✔ |
| Kopia | ✔ | ✔ | ✔ | ✔ |
| BorgBackup | ✖ | ✔ | ✔ | ✔ |
| Zerobyte | ✔ | ✔ | ✔ | ✔ |
Сравнение Duplicati vs ZeroByte — сравнение систем резервного копирования
Так как в предыдущей статье я рассказывал про приложение Duplicati, то давайте сравним Duplicati и героя сегодняшней статьи более подробно.
Duplicati и ZeroByte — это решения для резервного копирования данных, ориентированные на self-hosted инфраструктуру и домашние лаборатории. Оба инструмента предоставляют веб-интерфейс, автоматизацию и поддержку удалённых хранилищ, однако они используют разные архитектурные подходы.
Duplicati — это самостоятельная система резервного копирования со своим движком.
ZeroByte — это веб-интерфейс и менеджер задач резервного копирования, построенный поверх backup-движка restic.
Краткая таблица сравнения
| Критерий | Duplicati | ZeroByte |
|---|---|---|
| Тип решения | Самостоятельная система резервного копирования | Менеджер резервных копий |
| Backup-движок | Собственный | Restic |
| Архитектура | Монолитное приложение | Web UI + restic backend |
| Интерфейс | Web UI + CLI | Web UI |
| Шифрование | AES-256 | Встроенное шифрование restic |
| Дедупликация | Блочная дедупликация | Дедупликация restic |
| Инкрементальные бэкапы | Да | Да |
| Сжатие | Да | Да |
| Версионирование файлов | Да | Да |
| Восстановление файлов | Да | Да |
| Планировщик задач | Да | Да |
| Поддержка облачных хранилищ | Да | Через restic или с помощью rclone |
| Локальные хранилища | Да | Да |
| Поддержка S3 | Да | Да |
| Поддержка WebDAV | Да | Да |
| Поддержка SFTP | Да | Да |
| Поддержка rclone | Нет | Да |
| Управление несколькими задачами | Да | Да |
| Контроль snapshot-ов | Да | Да |
| Логи и мониторинг | Да | Да |
| Открытый исходный код | Да | Да |
| Зрелость проекта | Высокая | Новый проект |
| Простота установки | Очень простая | Простая |
| Гибкость конфигурации | Средняя | Высокая |
Архитектура решений
Duplicati
Duplicati представляет собой полностью автономную систему резервного копирования.
Приложение включает:
- backup-движок
- веб-интерфейс
- систему планирования
- поддержку облачных хранилищ
- механизм дедупликации
- шифрование
Благодаря этому Duplicati можно установить как единое приложение и сразу использовать для создания резервных копий.
ZeroByte
ZeroByte работает иначе. Это интерфейс управления для restic, популярного backup-движка.
ZeroByte добавляет:
- веб-панель управления
- создание backup-задач
- управление расписанием
- просмотр snapshot-ов
- восстановление файлов
- централизованное управление несколькими репозиториями
Фактически ZeroByte выполняет роль панели управления для restic-инфраструктуры.
Поддерживаемые хранилища
Duplicati
Duplicati поддерживает большое количество облачных сервисов:
- Amazon S3
- Backblaze B2
- Google Drive
- OneDrive
- Dropbox
- WebDAV
- SFTP
- локальные диски
- NAS
ZeroByte
ZeroByte использует возможности restic и может работать с:
- S3-совместимыми хранилищами
- локальными репозиториями
- SFTP
- WebDAV
- NAS
- rclone-backend
Это делает ZeroByte удобным для более сложных инфраструктур. В принципе Zerobyte все, что поддерживает Duplicati, но за счет поддержки rclone имеет большую интеграцию с разнообразными облачными хранилищами.
Основные преимущества
Преимущества Duplicati
- очень простая установка
- готовая система резервного копирования
- поддерживает самые распространненые облачные хранилища
- зрелый и хорошо известный проект
- удобный web-интерфейс
Duplicati отлично подходит для:
- домашних серверов
- NAS
- персональных бэкапов
- небольших homelab-инфраструктур
Преимущества ZeroByte
- современная архитектура
- использование надёжного backup-движка restic
- поддержка rclone-хранилищ
- гибкая работа с репозиториями
- удобное управление snapshot-ами
ZeroByte лучше подходит для:
- продвинутых homelab
- инфраструктур с несколькими backup-задачами
- пользователей restic
Когда выбрать Duplicati
Duplicati стоит выбрать, если:
- нужна простая система резервного копирования
- важна быстрая установка
- требуется поддержка популярных облачных сервисов
- инфраструктура небольшая
Duplicati — хороший выбор для большинства домашних серверов.
Когда выбрать ZeroByte
ZeroByte лучше выбрать, если:
- вы уже используете restic
- нужна более гибкая архитектура backup-системы
- требуется поддержка rclone-backend
- есть несколько backup-репозиториев
Итог сравнения Duplicati и ZeroByte
| Инструмент | Лучше всего подходит для |
|---|---|
| Duplicati | Простые и быстрые бэкапы для домашнего сервера |
| ZeroByte | Управление restic-бэкапами и более гибкие инфраструктуры |
Оба инструмента являются open-source и могут использоваться в self-hosted среде. Выбор зависит от того, нужен ли вам готовый backup-клиент (Duplicati) или менеджер инфраструктуры бэкапов на базе restic (ZeroByte).
Основные возможности Web интерфейса Zerobyte
Web-интерфейс
Zerobyte предоставляет современную web-панель управления, через которую можно:
- создавать backup-задачи
- запускать бэкапы вручную
- отслеживать статус
- восстанавливать файлы
Использование Restic
В основе Zerobyte используется Restic, что даёт:
- дедупликацию
- шифрование
- инкрементальные бэкапы
- поддержку множества backend-хранилищ
Поддерживаемые хранилища
Бэкапы можно хранить в:
- S3
- Backblaze B2
- SFTP
- локальном диске
- NAS
- WebDAV
Docker Compose файл из видео
services: # Объявление всех сервисов (контейнеров), которыми управляет Docker Compose
zerobyte: # Имя сервиса (логическое имя контейнера) image: ghcr.io/nicotsx/zerobyte:latest # Образ контейнера с фиксированной версией (лучше, чем latest) container_name: zerobyte # Явное имя контейнера для удобства управления (docker ps, логи и т.д.) restart: unless-stopped # Автоматический рестарт контейнера при падении (кроме ручной остановки) cap_add: - SYS_ADMIN # Добавляет расширенные привилегии (нужно для FUSE и работы с удалёнными шарами). Если бекапите локальные данные, закомментируйте строку - SYS_PTRACE # Позволяет отслеживать процессы (может использоваться для отладки или внутренней логики) Если бекапите локальные данные, закомментируйте строку #ports: # - "4096:4096" # Проброс порта наружу (не нужен, если используется Traefik) devices: - /dev/fuse:/dev/fuse # Проброс FUSE-устройства для работы с rclone/монтированием. Если бекапите локальные данные, замментируйте строку environment: # Переменные окружения для настройки приложения - TZ=Europe/Moscow # Таймзона контейнера (важно для расписаний и логов) - BASE_URL=https://zerobyte.stilicho.ru # Публичный URL доступа к Zerobyte (используется в UI и OAuth) - APP_SECRET=240728b5d3d99fc4c233964e9836a2acf341fae4f72544d1a2051acc1339923d # Секрет приложения (обязательно уникальный, для безопасности) security_opt: # Ослабление механизмов безопасности контейнера - seccomp:unconfined # Отключает seccomp профиль (разрешает больше системных вызовов) Если бекапите локальные данные, замментируйте строку - apparmor:unconfined # Отключает AppArmor профиль (снимает ограничения доступа) Если бекапите локальные данные, замментируйте строку volumes: # Монтирование директорий (данные и доступ к файлам) - /etc/localtime:/etc/localtime:ro # Синхронизация времени с хостом (read-only) - /home/stilicho/docker/zerobyte:/var/lib/zerobyte # Данные Zerobyte (конфиги, база, состояние) - /home/stilicho/docker:/mydata # Директория с данными для бэкапа (источник volumes) networks: proxy: # Подключение к сети proxy (для работы с Traefik) labels: # Метки для автоматической конфигурации Traefik - "traefik.enable=true" # Включает обработку контейнера Traefik - "traefik.http.routers.zerobyte.entrypoints=web" # HTTP вход (порт 80) - "traefik.http.routers.zerobyte.rule=Host(`zerobyte.stilicho.ru`)" # Маршрутизация по домену - "traefik.http.middlewares.zerobyte-https-redirect.redirectscheme.scheme=https" # Редирект HTTP → HTTPS - "traefik.http.routers.zerobyte.middlewares=zerobyte-https-redirect" # Применение редиректа - "traefik.http.routers.zerobyte-secure.entrypoints=websecure" # HTTPS вход (порт 443) - "traefik.http.routers.zerobyte-secure.rule=Host(`zerobyte.stilicho.ru`)" # HTTPS правило маршрутизации - "traefik.http.routers.zerobyte-secure.tls=true" # Включение TLS (HTTPS) - "traefik.http.routers.zerobyte-secure.service=zerobyte" # Привязка к сервису - "traefik.http.services.zerobyte.loadbalancer.server.port=4096" # Внутренний порт приложения в контейнере - "traefik.docker.network=proxy" # Указание сети для Traefik
networks: # Объявление сетей proxy: # Имя сети external: true # Сеть уже создана (Docker Compose не будет её создавать)WARNINGРаздел cap_add и devices дают излишние права. Используйте их только в случае если понимаете возможные последствия. Например в моем случае, без указанных параметров не было возможности подключиться к smb шаре на Truenas
Работа с приложением
Приложение достаточно легковесное, образ быстро скачивается и также быстро разворачивается. После это переходим по поддоменному имени, которые мы присвоили нашему приложению, в моем случае - это `zerobyte.stilicho.ru
Нас приветствует окно первичной регистрации, где мы должны задать значения логина и пароля администратора, указать адрес электронной почты и скачать recovery key для восстановления из резервной копии (в случае если такое потребуется).
Окно первоначальной регистрации ![[Screenshot 2026-04-11 132253.png]]
Окно для введения данных регистрации и опции для скачивания ключа восстановления ![[Screenshot 2026-04-11 132337.png]]
Нас приветствует приятный ретро интерфейс (угловатый как мой Мерседес W124) в красно-черных тонах. Если вы ситх, а в добавок еще и любитель ретро, то этот интерфейс вам очень понравиться
![[Screenshot 2026-04-11 132405.png]]
Так как в начале статьи есть ссылка на мой видеообзор, то с вашего позволения ниже я ограничусь кратким описанием мею
Как я рассказывал в видео, то пользователь должен настроить местоположение источника для бекапирования и целевой ресурс, куда будет осуществляться бекапирование.
Соответственно раздел Volumes это “что мы будем бекапировать и местоположение файлов”
![[Screenshot 2026-04-11 132418.png]]
Раздел Repositories отвечает за настройку целевого ресурса, куда мы все бекапируем
![[Screenshot 2026-04-11 132433.png]]
Раздел Backups позволяет нам тонко настраивать работы по резервному бекапированию, в том числе, но не ограничиваясь: когда, во сколько начинать процедуру резервоного копирования, сколько копий хранить и т.д.
![[Screenshot 2026-04-11 132546.png]]
В разделе Notification мы с вам настраиваем каким образом и с помощью чего мы хотим получать уведомления
![[Screenshot 2026-04-11 132602.png]]
Ну и в самом низу настройки администрирования
![[Screenshot 2026-04-11 132623.png]]
Some information may be outdated