1
0
IaC/compose/backup.yaml
2025-01-20 16:31:17 -05:00

72 lines
1.8 KiB
YAML

name: backup
networks:
backup:
attachable: true
driver: macvlan
driver_opts:
macvlan_mode: bridge
parent: enp1s0
enable_ipv6: false
external: false
internal: false
ipam:
config:
- subnet: "10.96.30.0/24"
ip_range: "10.96.30.224/28"
gateway: "10.96.30.254"
name: backup
services:
certbot:
container_name: certbot
image: certbot/dns-cloudflare
pull_policy: always
restart: "no"
networks:
backup:
ipv4_address: 10.96.30.11
link_local_ips: []
command: >-
certonly --dns-cloudflare
--dns-cloudflare-credentials /etc/letsencrypt/credentials.ini
--dns-cloudflare-propagation-seconds 20
--email certbot-backup@balsillie.email
--non-interactive
--expand
--no-eff-email
--agree-tos
-d backup.balsillie.house
volumes:
- /mnt/md/backup/letsencrypt/etc:/etc/letsencrypt
- /mnt/md/backup/letsencrypt/var:/var/lib/letsencrypt
backup:
container_name: backup
image: restic/rest-server:latest
pull_policy: always
depends_on:
certbot:
condition: service_completed_successfully
required: true
restart: true
hostname: backup
domainname: balsillie.house
restart: unless-stopped
networks:
backup:
ipv4_address: 10.96.30.12
link_local_ips: []
entrypoint: /usr/bin/rest-server
command:
- --htpasswd-file "/htpasswd"
- --path "/backup"
- --listen "10.96.30.12:443"
- --tls
- --tls-cert "/etc/letsencrypt/live/backup.balsillie.house/fullchain.pem"
- --tls-key "/etc/letsencrypt/live/backup.balsillie.house/privkey.pem"
volumes:
- /mnt/md/backup/letsencrypt/etc:/etc/letsencrypt
- /mnt/md/backup/restic:/backup
- /mnt/md/backup/restic.htpasswd:/htpasswd