Duplicati: бэкапы в S3 с графическим интерфейсом
Duplicati — бесплатный кроссплатформенный клиент резервного копирования с веб-интерфейсом. Он делает инкрементальные бэкапы с шифрованием и дедупликацией по расписанию и умеет писать напрямую в объектное S3-хранилище serverplus. Подходит тем, кто не хочет возиться со скриптами: всё настраивается в браузере мастером за несколько шагов.
1. Установка
Где разворачивать: на самом сервере или на отдельной VM?
Duplicati — это клиент: он бэкапит те файлы и папки, которые видит локально, и отправляет их в S3. Отсюда простое правило:
- Обычный случай — на самом сервере, который бэкапим. Duplicati стоит рядом с данными (или в контейнере на этом же хосте с примонтированными папками), читает их напрямую и шлёт в облако. По одному экземпляру на сервер — просто и надёжно.
- Отдельная backup-VM — только если она видит данные. Duplicati на другой машине сможет бэкапить чужой сервер, лишь если его файлы примонтированы к ней по сети (NFS/SMB/SSHFS). Это добавляет хрупкости: открытые файлы, консистентность БД, скорость по сети. Обычно овчинка не стоит выделки.
Для нескольких серверов — два рабочих подхода: поставить Duplicati на каждый, либо готовить данные на источнике (дампы БД, архивы) и заливать в S3 напрямую (тогда Duplicati можно и не использовать — хватит rclone или скрипта).
«На том же сервере» — это не риск для восстановления. Даже если сервер-источник целиком выйдет из строя, вы восстановитесь с любого нового Duplicati (или через CLI): достаточно указать тот же адрес назначения в S3 и парольную фразу. Бэкап самодостаточен и не зависит от исходной машины — локальную базу Duplicati умеет пересоздавать из данных в облаке.
Вариант A. Пакет (Windows / macOS / Linux)
Скачайте установщик с duplicati.com (актуальная стабильная ветка — 2.x) и установите. Duplicati запустится как фоновая служба, а панель управления откроется в браузере:
http://localhost:8200Вариант B. Docker (на сервере)
Удобно для серверов без графической оболочки. Контейнер запускается на том же хосте, чьи папки монтируются внутрь:
docker run -d --name duplicati \
-p 8200:8200 \
-v /opt/duplicati/config:/data \
-v /var/www:/source/www:ro \
duplicati/duplicati:latest/data— настройки и база Duplicati (не теряйте её)./source/www— данные, которые бэкапим, смонтированы только для чтения (ro).
Пароль на веб-интерфейс. В актуальных версиях при первом входе Duplicati просит задать пароль к панели — обязательно задайте его. Для headless-развёртывания пароль можно передать параметром
--webservice-password.
2. Первый вход и доступ к панели
- Откройте
http://localhost:8200и задайте пароль к интерфейсу. - Не публикуйте порт 8200 в интернет. Держите его на
localhost, а для удалённого доступа используйте SSH-туннель (ssh -L 8200:localhost:8200 user@server) или обратный прокси с авторизацией и HTTPS.
3. Настройка задачи бэкапа в S3 serverplus
В панели нажмите «Add backup» → «Configure a new backup» и пройдите мастер.
Шаг 1. General (общие)
- Задайте имя задачи.
- Encryption: оставьте
AES-256и придумайте парольную фразу. Ею шифруется всё содержимое до отправки в облако.
Парольную фразу невозможно восстановить. Если её потерять — расшифровать бэкапы будет нельзя. Сохраните её в надёжном месте отдельно от сервера.
Шаг 2. Destination (куда) — S3 serverplus
Storage Type: «S3 Compatible». Заполните поля:
Server (custom): object-store.serverplus.uz
Bucket name: my-backups
Folder path: duplicati
AWS Access Key ID: <ACCESS_KEY>
AWS Secret Access Key: <SECRET_KEY>
Use SSL: yesКнопкой «Test connection» проверьте доступ. Бакет создайте заранее в панели cloud.serverplus.uz, а ключи возьмите в разделе «Доступ» → «Учётные данные S3/EC2».
Шаг 3. Source data (что) и Schedule (когда)
- Отметьте папки для бэкапа (например
/source/wwwв Docker или нужные каталоги в пакете). - Включите расписание, например ежедневно в 03:00.
Шаг 4. Options (хранение)
- Backup retention: удобно выбрать «Smart backup retention» — держит частые копии за последние дни и всё более редкие за старые периоды. Либо задайте своё правило.
Нажмите «Save» — задача создана.
4. То же строкой (для автоматизации)
Если предпочитаете CLI или экспорт конфигурации, адрес назначения в терминах Duplicati выглядит так:
s3://my-backups/duplicati?s3-servername=object-store.serverplus.uz&use-ssl=true&aws-access-key-id=<ACCESS_KEY>&aws-secret-access-key=<SECRET_KEY>Если соединение с S3 капризничает. Для некоторых S3-совместимых хранилищ помогает переключение клиента на Minio — параметр
--s3-client=minio(в GUI: Advanced options). Он совместимее, чем встроенная AWS-библиотека.
5. Запуск и проверка
- Нажмите «Run now» у задачи и дождитесь завершения первого (полного) бэкапа.
- Проверьте лог задачи (Show log) и наличие объектов в бакете через панель или
aws s3 ls.
6. Восстановление
- Restore → выберите задачу и версию (дату) бэкапа.
- Отметьте нужные файлы или всю папку.
- Выберите, куда восстановить — в исходное место или в другой каталог — и запустите.
Регулярно делайте тестовое восстановление: бэкап, который ни разу не разворачивали, — это ещё не бэкап.
Безопасность
- Парольная фраза — главное. Потеря = невозможность восстановления. Храните отдельно и надёжно.
- Пароль веб-панели и запрет доступа к порту 8200 снаружи (localhost / SSH-туннель / прокси с авторизацией).
- Отдельные S3-ключи под Duplicati и приватный бакет для бэкапов; ненужные ключи отзывайте.
- Use SSL всегда включён — данные идут по
https.
Частые вопросы
Test connection к S3 не проходит. Проверьте, что Server = object-store.serverplus.uz, включён Use SSL, ключи верные и бакет уже создан. Если не помогает — добавьте --s3-client=minio в Advanced options.
Забыл парольную фразу шифрования. Восстановить данные не получится — это by design. Именно поэтому фразу нужно хранить заранее и отдельно.
Забыл пароль от веб-панели. Его можно сбросить: в пакетной установке — через настройки службы, в Docker — пересоздав контейнер с новым --webservice-password. Данные бэкапов при этом не теряются.
Панель на 8200 недоступна. Служба не запущена, порт занят или закрыт файрволом. В Docker проверьте, что контейнер работает и порт проброшен (-p 8200:8200).
По теме: «Объектное S3-хранилище в serverplus» и «Стратегия резервного копирования».