TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #5361 12.2K
В конце прошлого года по каналам проскочило упоминание новой веб панели для бэкапов на базе Restic под названием Zerobyte. Мне нравится Restic за его простоту, скорость и функциональность, поэтому я сразу обратил на неё внимание, но решил подождать некоторого развития, чтобы понять, собственно, будет оно или нет.

На прошлой неделе видел видео, где упоминалась Zerobyte, так что решил её попробовать сам. Сразу скажу, что панелька понравилась. Я её подробно изучил и проверил на реальных примерах, так что могу обстоятельно всё рассказать.

📌 Особенности Zerobyte:

▪️Приятный и логичный веб интерфейс.
▪️В качестве бэкенда для бэкапов использует Restic. У меня было много заметок про него с примерами, можно по тэгу посмотреть, так что не буду повторяться и рассказывать, что это такое.
▪️В качестве бэкенда для хранения может использовать локальную директорию, S3, Rest Server, SFTP, Rclone и некоторые другие облачные хранилища.
▪️Может бэкапить локальные директории, SMB и NFS шары, ресурсы, доступные по WebDAV и SFTP.

Связка Restic и Rclone делает Zerobyte универсальным решением, которое выполняет роль управляющей обвязки и не вносит свой слой обработки. То есть в случае чего доступ к бэкапам и данным можно получить напрямую, минуя веб панель.

Я для примера подключил к Zerobyte шару по SMB и забэкапил её в S3 бакет Селектела. Доступ в S3 настроен через Rclone, так что начнём настройку с него. Ставим на сервер, где будет работать Zerobyte:

# apt install rclone

Дальше настраиваем доступ к хранилищу S3. Для этого надо создать бакет, выдать права через отдельного сервисного пользователя и настроить доступ через rclone. Я не буду всё это описывать, так как очень большой объём. В документации хостера подробно показано. Я в своё время по ним делал. После настройки надо проверить, что через Rclone виден подключенный бакет:

# rclone ls selectel_s3:zerobyte

Теперь рисуем конфигурацию compose.yml для запуска панели. Я обнаружил в ней один баг, из-за которого не получалось в качестве источника для бэкапов смонтировать внутрь контейнера SMB или NFS ресурс. Контейнеру не хватает каких-то прав. Решается добавлением этих прав или запуска контейнера в привилегированном режиме. Если это недопустимо, то можно монтировать ресурсы к хосту и прокидывать в контейнер.

Вот мой итоговый compose.yml:
services:
zerobyte:
image: ghcr.io/nicotsx/zerobyte:v0.25
container_name: zerobyte
restart: unless-stopped
cap_add:
- SYS_ADMIN
- SYS_PTRACE
security_opt:
- seccomp:unconfined
- apparmor:unconfined
ports:
- "4096:4096"
devices:
- /dev/fuse:/dev/fuse
environment:
- TZ=Europe/Moscow
- BASE_URL=http://192.168.137.29:4096
- APP_SECRET=f47c06b21f12a2261f9dd
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/lib/zerobyte:/var/lib/zerobyte
- /mnt/backup:/backup
- ~/.config/rclone:/root/.config/rclone:ro

Запускаем:

# docker compose up -d

Идём в веб интерфейс по IP адресу сервера на порт 4096, создаём нового пользователя.

Теперь вам нужно создать Volume - это источник бэкапов. Потом создаём репозиторий - место, где будут храниться бэкапы. В качестве бэкенда указываем Rclone и настроенный ранее Remote в Селектеле.

После этого идём в раздел Backups и добавляем задание, запускаем. После того, как оно отработает, можно сходить в бакет и проверить, появились ли там данные. В бакете будет располагаться шифрованный репозиторий Restic. Сами данные вы не увидите, так как Restic всё шифрует, поэтому в качестве хранилища можно использовать всё, что угодно. Тот же Rclone поддерживает подключение к Яндекс.Диску.

Провозился несколько часов, пока всё проверил и настроил. Долго ковырялся с подключением по SMB, пока не понял, что ошибка Permission denied во время подключения это не ошибка доступа к шаре, а нехватка прав у контейнера.

В целом продукт интересный, мне понравился. Если продолжит развитие, то завоюет популярность.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#restic #backup
  • 👍 88
  • 👎 2
More from @srv_admin
  1. Sep 25, 2026▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересны…
  2. Sep 25, 2026Девопсы, сисадмины, архитекторы, техлиды (и вообще все, кто принимает технические или бизн…
  3. Sep 25, 2026Подписчик поделился полезным проектом - Webtop. Это Linux дистрибутив с графикой, упакован…
  4. Sep 24, 2026Траблшутинг - мастхэв компетенция для инженера В Rebrain траблшутинги проводят уже несколь…
  5. Sep 23, 2026Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает,…
  6. Sep 23, 2026Контейнеры в одном инструменте, виртуалки — в другом, частное облако — вообще отдельная ис…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →