Zerobytev0.44.2

Панель резервного копирования файлов: расписания, снимки, сроки хранения и возврат отдельных файлов - замена самописной связке Restic и cron.

После ошибочной правки можно выбрать старый снимок и вернуть нужный файл через браузер. Копии остаются в формате Restic: при остановке панели их можно открыть отдельным Restic-клиентом, если сохранен Recovery Key и есть доступ к хранилищу.

После создания сервера на Ubuntu 24.04 LTS рецепт устанавливает Docker, запускает Zerobyte и заводит администратора. Caddy открывает панель по HTTPS на автоматическом адресе сервера и продлевает сертификат Let's Encrypt. На чистых машинах настройка после загрузки ОС заняла 2-5 минут. Каталоги приложения, хранилище копий и расписание вы подключаете после входа.

Что внутри

Zerobyte 0.44.2 на Bun 1.4.4
панель источников, хранилищ и заданий резервного копирования.
Restic 0.19.1
зашифрованные снимки файлов, сохранение изменений и восстановление выбранной версии.
SQLite 3.53.4
встроенная база настроек, пользователей и заданий, отдельный сервер базы не требуется.
Docker CE 5:29.9.3-1~ubuntu.24.04~noble и Compose 5.7.0-1~ubuntu.24.04~noble
запуск контейнера и его автоматический перезапуск.
Caddy 2.6.2-6ubuntu0.24.04.3
HTTPS, сертификат Let's Encrypt с автопродлением и дополнительный пароль перед панелью.
fail2ban 1.0.2-3ubuntu0.1
защита входа на сервер по SSH.

Приложение работает в одном контейнере; Caddy и fail2ban установлены пакетами Ubuntu. Состояние панели хранится в /var/lib/zerobyte, Compose и переменные окружения - в /opt/zerobyte.

Безопасность

  • Администратор создан, регистрация закрытаучетку admin занимает установка до публикации панели; посторонний не сможет зарегистрироваться.
  • HTTPS и дополнительная авторизацияCaddy закрывает панель паролем, а порт приложения 4096 доступен только на 127.0.0.1.
  • Источник только для чтенияфайлы в /sources защищены от изменений со стороны контейнера; для восстановления выделен отдельный каталог /restore.
  • Свои секретыустановка создает уникальный APP_SECRET; файл секрета, параметры и сохраненные доступы читает только root.
  • fail2ban на SSHпять неудачных попыток входа приводят к блокировке IP на час.
  • Версия 0.44.2 без известных уязвимостей прошлых версийзакрыта CVE-2025-68435: в старых версиях посторонний мог обратиться к части операций панели без входа.

Как войти

  1. Возьмите IP сервера из личного кабинета, замените точки на дефисы и добавьте .fatmetal.net: получится https://<IP-с-дефисами>.fatmetal.net.

  2. Администратор admin уже создан. Сначала браузер спросит логин и пароль внешней защиты Caddy, затем откроется форма входа Zerobyte. В обоих окнах вводите admin и пароль этого сервера из личного кабинета Fatmetal, тот же, что для SSH.

  3. На первом входе подтвердите пароль панели в форме Download Recovery Key, скачайте ключ восстановления и сохраните его вне этого VPS: он нужен для доступа к копиям после потери панели.

  4. Подключите файлы приложения: в /opt/zerobyte/compose.yaml уже задан источник /srv/zerobyte/source:/sources:ro. Положите подготовленные файлы в /srv/zerobyte/source либо командой sudo nano /opt/zerobyte/compose.yaml замените левую часть этого подключения на каталог вашего приложения. Затем выполните cd /opt/zerobyte && sudo docker compose up -d.

  5. В Sources создайте источник типа Directory и выберите каталог в /sources. В Repositories подключите хранилище копий. В Backups создайте задание: выберите источник, хранилище, расписание и правила хранения, затем нажмите Backup Now и дождитесь появления снимка и статуса Success у задания.

Важно

Интерфейс английский. Доступ к панели давайте доверенному администратору: он управляет копиями доступных контейнеру файлов. Исходные каталоги должны быть доступны на этом VPS; сетевые Sources, которым нужны FUSE и SYS_ADMIN, в базовый рецепт не включены.

Для рабочих копий выберите хранилище отдельно от VPS: оригинал и локальные снимки на одном сервере не переживут потерю этого сервера. Перед обновлением панели сохраните ее состояние из /var/lib/zerobyte, настройки из /opt/zerobyte и секрет из /etc/zerobyte-mp/app-secret вместе с копией параметров /etc/zerobyte-mp/params.env.

Для живой базы данных сначала подготовьте согласованный дамп средствами своей СУБД и включите его в источник копирования. Рецепт копирует доступные файлы, автоматически согласовывать состояние работающей базы он не будет.

Для возврата файла откройте нужный снимок и форму восстановления, выберите Custom location и каталог /restore. Результат появится на сервере в /srv/zerobyte/restore; перенесите выбранные файлы обратно в приложение после проверки.

Для писем укажите свой SMTP в Notifications -> Create Destination -> Email: сервер, порт, логин, пароль, отправителя и получателей. Проверьте отправку кнопкой Test. Почтовое хранилище и SMTP-учетка в установку не входят.

Лицензия

Zerobyte распространяется по AGPL-3.0. Покупать лицензию панели не нужно; сервер и выбранное хранилище копий оплачиваются отдельно.

Свой домен

  1. Направьте A-запись своего домена на IPv4 сервера из личного кабинета. Удалите неверную AAAA-запись, если она есть.
  2. Проверьте ping backup.example.ru: он должен показывать IP этого сервера. Если адрес другой, дождитесь обновления DNS.
  3. По SSH откройте sudo nano /etc/zerobyte-mp/params.env и задайте DOMAIN='backup.example.ru' вместо пустого значения; используйте свой домен без https:// и пути. Остальные параметры сохраните.
  4. Выполните sudo bash /opt/zerobyte-mp/install.sh и дождитесь готовности: рецепт обновит публичный адрес Zerobyte и настройки Caddy. Подключенные каталоги, пользователь и секрет приложения сохранятся.
  5. Откройте https://backup.example.ru. Для Caddy логин admin, пароль - сохраненный пароль сервера; для Zerobyte логин admin, пароль - текущий пароль панели, сразу после установки он тоже равен паролю сервера. Если DNS еще не обновился, исправьте запись: Caddy получит сертификат после появления правильного адреса.

Требования

Тариф CPU2-RAM4-DISK50 (2 ядра, 4 ГБ RAM, 50 ГБ диска) - для небольших файловых наборов и последовательных заданий. На наборе из 1024 файлов общим объемом 1 ГиБ панель с Caddy занимали около 158 МиБ RAM в простое без файлового кеша; наблюдаемый пик самого приложения при бэкапе - 241 МиБ. Образ приложения занимает около 384 МиБ. Для нескольких одновременных заданий выбирайте CPU4-RAM8-DISK100: полный проход одного задания на стенде нагружал оба ядра.

Для копий закажите отдельное S3-хранилище холодного класса на HDD: Zerobyte поддерживает S3 нативно, объем оплачивается отдельно. Для 30 ГиБ исходников с ежедневной заменой около 10% файлов расчет по измеренному приросту дает примерно 61 ГиБ на 31 снимок; под свой набор и сроки хранения объем нужно рассчитать отдельно.

Подробный разбор с замерами в Базе знаний →
Zerobyte585 ₽/месЗапустить →