services: ${SERVICE_NAME}: image: ${DOCKER_IMAGE} container_name: ${CONTAINER_NAME} restart: unless-stopped networks: - homelab-network - traefik-network ports: - ${EXTERNAL_PORT}:${INTERNAL_PORT} # Comment out volumes section if it is empty #volumes: # Comment out environment section if it is empty # environment: healthcheck: test: ['CMD', 'wget', '--quiet', '--tries=1', '--spider', 'http://localhost:${INTERNAL_PORT}/'] interval: 30s timeout: 10s retries: 3 start_period: 30s labels: # Labels in compose files are treated as literal strings, disallowing variable replacement in the string # However the string can be defined as a variable - ${HOST_LABEL} - $(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' # This enables https - 'traefik.http.routers.backrest.entrypoints=websecure' # This enables letsencrypt certificates - 'traefik.http.routers.backrest.tls.certresolver=letsencrypt' # Define the category and description of this service networks: homelab-network: external: true traefik-network: external: true x-dockge: urls: - https://${PROXY_URL} - https://${LOCAL_URL}