Files
michaelschiemer/deployment/infrastructure/traefik/entrypoint.sh
2025-11-24 21:28:25 +01:00

32 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
set -e
# Read ACME email from secret file
if [ -f /run/secrets/acme_email ]; then
ACME_EMAIL=$(cat /run/secrets/acme_email | tr -d '\n\r')
else
echo "ERROR: ACME email secret not found at /run/secrets/acme_email" >&2
exit 1
fi
# Execute Traefik with the email from secret
exec /entrypoint.sh \
--providers.docker=true \
--providers.docker.exposedbydefault=false \
--providers.docker.network=traefik-public \
--providers.docker.endpoint=unix:///var/run/docker.sock \
--entrypoints.web.address=:80 \
--entrypoints.websecure.address=:443 \
--certificatesresolvers.letsencrypt.acme.email="${ACME_EMAIL}" \
--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json \
--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web \
--entrypoints.websecure.transport.respondingTimeouts.readTimeout=300s \
--entrypoints.websecure.transport.respondingTimeouts.writeTimeout=300s \
--entrypoints.websecure.transport.respondingTimeouts.idleTimeout=360s \
--api.dashboard=true \
--api.insecure=false \
--log.level=INFO \
--accesslog=true \
"$@"