Telegram
+998 (71) 205-80-00

Duplicati: бэкапы в S3 с графическим интерфейсом

Опубликовано: 25.07.26
Поделиться

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. Восстановление

  1. Restore → выберите задачу и версию (дату) бэкапа.
  2. Отметьте нужные файлы или всю папку.
  3. Выберите, куда восстановить — в исходное место или в другой каталог — и запустите.

Регулярно делайте тестовое восстановление: бэкап, который ни разу не разворачивали, — это ещё не бэкап.

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

  • Парольная фраза — главное. Потеря = невозможность восстановления. Храните отдельно и надёжно.
  • Пароль веб-панели и запрет доступа к порту 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» и «Стратегия резервного копирования».

Рекомендуем
Подберём лучшее решение под ваш проект
Заполните данные и с вами свяжется менеджер для подтверждения
Номер тех. поддержки
+998 (71) 205-80-00
Email для связи
info@serverplus.uz
Часы работы
Как вам удобнее получить консультацию?
Что вас интересует? (необязательно)
Подпишитесь на нашу рассылку

Будьте одними из первых, кто узнает новости из сферы хостингов