▍Minio¶
Настройка S3-совместимого бэкап-сервер на Minio¶
Настроим домашний аналог S3 на Minio и будем загружать бэкапы с Duplicati.
Compose для нашего Minio¶
В моём случае используется Traefik в качестве обратного прокси для маршрутизации трафика внутрь Docker контейнеров. Базовую конфигурацию Traefik можно посмотреть здесь.
version: '3.3'
services:
minio:
image: quay.io/minio/minio
container_name: minio
restart: always
command: server /data --address ":9000" --console-address ":9001"
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: miniopassword
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
volumes:
- $DIR_DATA/minio:/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.minio.rule=Host(`minio.example.ru`)"
- "traefik.http.routers.minio.entrypoints=https"
- "traefik.http.routers.minio.tls=true"
- "traefik.http.routers.minio.middlewares=WhitelistHome"
- "traefik.http.services.minio.loadbalancer.server.port=9001"
- "com.centurylinklabs.watchtower.enable=true"
Запускаем:
Настройка Minio в web-интерфейсе¶
Переходим по адресу minio.example.ru и вводим minio и miniopassword, указанные в переменных MINIO_ROOT_USER и MINIO_ROOT_PASSWORD.
После авторизации в разделе Buckets нажимаем на Create Bucket
Указывавем имя бакета и создаём его
Теперь переходим в раздел Access Keys и нажимаем на кнопку Create access key:
Настройка Duplicati¶
Теперь заходим в web-интерфейс Duplicati, нажимаем на Добавить резервную копию
Вводим имя, задаём кодовую фразу если необходимо зашифровать наш бэкап
В разделе Тип хранилища выбираем S3 совместимый
Сервер - Пользовательский URL - minio:9000
В качестве AWS Access ID указываем Access Key из раздела Access Keys в web-интерфейсе minio. Аналогично AWS Access Key указываем Secret Key.
Выбираем директорию, которую собираемся бэкапить, в моём случае это папка www с файлами сайтов:
Основные параметры можно выставить так
Готово. Можно нажать на Запустить сейчас
и убедиться, что бэкап проходит корректно и появляются файлы в нашем бакете.