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и Compose5.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: в старых версиях посторонний мог обратиться к части операций панели без входа.
Как войти
Возьмите IP сервера из личного кабинета, замените точки на дефисы и добавьте
.fatmetal.net: получитсяhttps://<IP-с-дефисами>.fatmetal.net.Администратор
adminуже создан. Сначала браузер спросит логин и пароль внешней защиты Caddy, затем откроется форма входа Zerobyte. В обоих окнах вводитеadminи пароль этого сервера из личного кабинета Fatmetal, тот же, что для SSH.На первом входе подтвердите пароль панели в форме Download Recovery Key, скачайте ключ восстановления и сохраните его вне этого VPS: он нужен для доступа к копиям после потери панели.
Подключите файлы приложения: в
/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.В 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. Покупать лицензию панели не нужно; сервер и выбранное хранилище копий оплачиваются отдельно.
Свой домен
- Направьте
A-запись своего домена на IPv4 сервера из личного кабинета. Удалите невернуюAAAA-запись, если она есть. - Проверьте
ping backup.example.ru: он должен показывать IP этого сервера. Если адрес другой, дождитесь обновления DNS. - По SSH откройте
sudo nano /etc/zerobyte-mp/params.envи задайтеDOMAIN='backup.example.ru'вместо пустого значения; используйте свой домен безhttps://и пути. Остальные параметры сохраните. - Выполните
sudo bash /opt/zerobyte-mp/install.shи дождитесь готовности: рецепт обновит публичный адрес Zerobyte и настройки Caddy. Подключенные каталоги, пользователь и секрет приложения сохранятся. - Откройте
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 снимок; под свой набор и сроки хранения объем нужно рассчитать отдельно.