Servidor REST de Restic usando docker-compose con Traefik como proxy inverso
Posts relacionados:
- Simple Traefik docker-compose setup with Lets Encrypt Cloudflare DNS-01 & TLS-ALPN-01 & HTTP-01 challenges - how to set up Traefik with Cloudflare DNS-01 challenge for Let’s Encrypt certificates
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"Solo necesitas crear el archivo de credenciales de usuario con el siguiente comando:
create_htpasswd.sh
touch restic_data/.htpasswd
docker-compose exec restic create_user myuser Koh3iebaiyeesho4aexu4shee8heizTípicamente, quieres habilitar el inicio automático, ver Crear un servicio systemd para tu proyecto docker-compose en 10 segundos para detalles.
TL;DR:
create_docker_compose_service.sh
curl -fsSL https://techoverflow.net/scripts/create-docker-compose-service.sh | sudo bash /dev/stdinOpcionalmente, puedes añadir opciones de línea de comandos a la sección environment:
docker-compose-restic-options.yml
environment:
- OPTIONS=--append-only --private-repospero considero que esto es solo para usuarios avanzados. Las opciones por defecto son suficientes para la mayoría de los casos de uso.
Si este artículo te ha ayudado, considera invitarme a un café o hacer una donación vía PayPal para apoyar la investigación y publicación de nuevos artículos en TechOverflow