Update compose.yml

This commit is contained in:
2026-03-14 13:30:08 -04:00
parent 1c7384125f
commit 6893284904

View File

@@ -1,41 +1,45 @@
services: services:
backrest:
image: garethgeorge/backrest:latest ${SERVICE_NAME}:
container_name: backrest image: ${DOCKER_IMAGE}
container_name: ${CONTAINER_NAME}
restart: unless-stopped restart: unless-stopped
networks: networks:
- homelab-network - homelab-network
- traefik-network - traefik-network
ports: ports:
- '9898:9898' - ${EXTERNAL_PORT}:${INTERNAL_PORT}
volumes:
- ./data:/data # Comment out volumes section if it is empty
- ./config:/config #volumes:
- ${STACKS_DIR}:${STACKS_DIR}:ro # Backup source
- /mnt:/mnt:ro # Backup additional drives # Comment out environment section if it is empty
- ./cache:/cache # environment:
environment:
- BACKREST_DATA=/data
- BACKREST_CONFIG=/config/config.json
- TZ=${TZ}
healthcheck: healthcheck:
test: ['CMD', 'wget', '--quiet', '--tries=1', '--spider', 'http://localhost:9898/'] test: ['CMD', 'wget', '--quiet', '--tries=1', '--spider', 'http://localhost:${INTERNAL_PORT}/']
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
start_period: 30s start_period: 30s
labels: labels:
- 'com.centurylinklabs.watchtower.enable=true' # Labels in compose files are treated as literal strings, disallowing variable replacement in the string
- 'homelab.category=utilities' # However the string can be defined as a variable
- 'homelab.description=Backup management with restic' - ${HOST_LABEL}
- 'traefik.enable=true' - $(AUTHELIA_LABEL)
- ${TRAEFIK_ENABLE_LABEL}
- ${WATCHTOWER_ENABLE_LABEL}
- ${LOADBALANCER_LABEL}
- ${CATEGORY_LABEL}
- ${DESCRIPTION_LABEL}
# All services being proxied by Traefik must be on this network
- 'traefik.docker.network=traefik-network' - 'traefik.docker.network=traefik-network'
- 'traefik.http.routers.backrest.rule=Host(`backrest.jasper.kelinreij.duckdns.org`)' # This enables https
- 'traefik.http.routers.backrest.entrypoints=websecure' - 'traefik.http.routers.backrest.entrypoints=websecure'
# This enables letsencrypt certificates
- 'traefik.http.routers.backrest.tls.certresolver=letsencrypt' - 'traefik.http.routers.backrest.tls.certresolver=letsencrypt'
- 'traefik.http.routers.backrest.middlewares=authelia@docker' # Define the category and description of this service
- 'traefik.http.services.backrest.loadbalancer.server.port=9898'
networks: networks:
homelab-network: homelab-network:
@@ -43,7 +47,8 @@ networks:
traefik-network: traefik-network:
external: true external: true
x-dockge: x-dockge:
urls: urls:
- https://backrest.kelinreij.duckdns.org - https://${PROXY_URL}
- https://192.168.4.4:9898 - https://${LOCAL_URL}