diff --git a/docker-compose.yml b/docker-compose.yml index 26f2507..301bda2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -64,6 +64,7 @@ services: - tunnel-url:/shared environment: CLOUDFLARE_TUNNEL_TOKEN: ${CLOUDFLARE_TUNNEL_TOKEN:-} + TUNNEL_HOSTNAME: ${TUNNEL_HOSTNAME:-} TUNNEL_URL_FILE: /shared/tunnel-url TUNNEL_UPSTREAM: http://caddy:80 depends_on: diff --git a/scripts/entrypoint.sh b/scripts/entrypoint.sh index 8812f86..f84948c 100755 --- a/scripts/entrypoint.sh +++ b/scripts/entrypoint.sh @@ -3,9 +3,10 @@ set -e TUNNEL_URL_FILE="${TUNNEL_URL_FILE:-}" -if [ -n "$TUNNEL_URL_FILE" ] && [ -z "$CLOUDFLARE_TUNNEL_TOKEN" ]; then +if [ -n "$TUNNEL_URL_FILE" ]; then rm -f "$TUNNEL_URL_FILE" - echo "Waiting for quick tunnel URL..." + + echo "Waiting for tunnel URL..." elapsed=0 while [ ! -f "$TUNNEL_URL_FILE" ] && [ "$elapsed" -lt 30 ]; do sleep 1 diff --git a/scripts/tunnel.sh b/scripts/tunnel.sh index ed56d97..1f2294a 100755 --- a/scripts/tunnel.sh +++ b/scripts/tunnel.sh @@ -20,8 +20,13 @@ UPSTREAM="${TUNNEL_UPSTREAM:-http://happyview:3000}" URL_FILE="${TUNNEL_URL_FILE:-/shared/tunnel-url}" if [ -n "$CLOUDFLARE_TUNNEL_TOKEN" ]; then + if [ -n "$TUNNEL_HOSTNAME" ]; then + mkdir -p "$(dirname "$URL_FILE")" + echo "https://$TUNNEL_HOSTNAME" > "$URL_FILE" + fi echo "══════════════════════════════════════════════════════════════" echo " Starting named Cloudflare tunnel" + echo " Hostname: ${TUNNEL_HOSTNAME:-}" echo " Upstream: $UPSTREAM" echo "══════════════════════════════════════════════════════════════" exec cloudflared tunnel run --token "$CLOUDFLARE_TUNNEL_TOKEN"