Restic REST сервер за допомогою docker-compose з Traefik як зворотним проксі

Пов’язані публікації:

docker-compose-restic.yml
services:
  restic:
    image: restic/rest-server:latest
    container_name: restic-rest-server
    restart: unless-stopped
    volumes:
      - ./restic_data:/data
    environment:
      - DATA_DIRECTORY=/data
      - PASSWORD_FILE=/data/.htpasswd
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.restic.rule=Host(`restic.mydomain.com`)"
      - "traefik.http.routers.restic.entrypoints=websecure"
      - "traefik.http.routers.restic.tls.certresolver=cloudflare-ec384"
      - "traefik.http.routers.restic.tls.domains[0].main=mydomain.com"
      - "traefik.http.routers.restic.tls.domains[0].sans=*.mydomain.com"
      - "traefik.http.services.restic.loadbalancer.server.port=8000"

Вам лише потрібно створити файл з обліковими даними користувача за допомогою наступної команди:

create_htpasswd.sh
touch restic_data/.htpasswd
docker-compose exec restic create_user myuser Koh3iebaiyeesho4aexu4shee8heiz

Зазвичай ви хочете увімкнути автозапуск, див. Create a systemd service for your docker-compose project in 10 seconds для деталей.

TL;DR:

create_docker_compose_service.sh
curl -fsSL https://techoverflow.net/scripts/create-docker-compose-service.sh | sudo bash /dev/stdin

За бажанням ви можете додати параметри командного рядка до секції environment::

docker-compose-restic-options.yml
    environment:
      - OPTIONS=--append-only --private-repos

але я вважаю, що це лише для досвідчених користувачів. Параметри за замовчуванням достатні для більшості випадків використання.


Дивіться схожі статті за категоріями: Restic, Backup