使用 docker-compose 部署 Restic REST 服务器,以 Traefik 作为反向代理
相关文章:
- 使用 Lets Encrypt Cloudflare DNS-01 & TLS-ALPN-01 & HTTP-01 挑战的简单 Traefik docker-compose 设置 - 如何使用 Cloudflare DNS-01 挑战为 Let’s Encrypt 证书设置 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通常,你需要启用自动启动,详见在 10 秒内为你的 docker-compose 项目创建 systemd 服务。
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但我认为这仅适用于高级用户。默认选项对大多数用例来说已经足够。
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow