diff --git a/bin/disinto b/bin/disinto index 7a9482b..530cf1f 100755 --- a/bin/disinto +++ b/bin/disinto @@ -278,9 +278,11 @@ services: ports: - "80:80" - "443:443" + environment: + - DISINTO_VERSION=${DISINTO_VERSION:-main} + - FORGE_URL=http://forgejo:3000 volumes: - ./docker/Caddyfile:/etc/caddy/Caddyfile - - ./docker/edge/dispatcher.sh:/usr/local/bin/dispatcher.sh:ro - caddy_data:/data - /var/run/docker.sock:/var/run/docker.sock depends_on: diff --git a/docker/edge/Dockerfile b/docker/edge/Dockerfile index 8914a51..7076f51 100644 --- a/docker/edge/Dockerfile +++ b/docker/edge/Dockerfile @@ -1,3 +1,4 @@ FROM caddy:alpine RUN apk add --no-cache bash jq curl git docker-cli -COPY dispatcher.sh /usr/local/bin/dispatcher.sh +COPY entrypoint-edge.sh /usr/local/bin/entrypoint-edge.sh +ENTRYPOINT ["bash", "/usr/local/bin/entrypoint-edge.sh"] diff --git a/docker/edge/entrypoint-edge.sh b/docker/edge/entrypoint-edge.sh new file mode 100755 index 0000000..b070b61 --- /dev/null +++ b/docker/edge/entrypoint-edge.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -euo pipefail + +DISINTO_VERSION="${DISINTO_VERSION:-main}" +DISINTO_REPO="${FORGE_URL:-http://forgejo:3000}/johba/disinto.git" + +# Shallow clone at the pinned version +if [ ! -d /opt/disinto/.git ]; then + git clone --depth 1 --branch "$DISINTO_VERSION" "$DISINTO_REPO" /opt/disinto +fi + +# Start dispatcher in background +bash /opt/disinto/docker/edge/dispatcher.sh & + +# Caddy as main process +exec caddy run --config /etc/caddy/Caddyfile --adapter caddyfile