Restic REST сервер за допомогою docker-compose з Traefik як зворотним проксі
Пов’язані публікації:
- Simple Traefik docker-compose setup with Lets Encrypt Cloudflare DNS-01 & TLS-ALPN-01 & HTTP-01 challenges - як налаштувати Traefik з перевіркою Cloudflare DNS-01 для сертифікатів Let’s Encrypt
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але я вважаю, що це лише для досвідчених користувачів. Параметри за замовчуванням достатні для більшості випадків використання.
Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow