# syntax=docker/dockerfile:1

# ── Source stage: official Forgejo Runner image ──
FROM data.forgejo.org/forgejo/runner:12.7.3 AS runner

# ── Final stage: rootful DinD ──
FROM docker:27-dind

ARG FORGEJO_RUNNER_VERSION=12.7.3

# Install supporting packages
RUN apk add --no-cache \
    bash \
    ca-certificates \
    curl \
    git \
    jq \
    tini \
    coreutils

# Copy forgejo-runner binary from source stage
COPY --from=runner /bin/forgejo-runner /usr/local/bin/forgejo-runner

# Copy entrypoint script
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

# Expose Docker API (bound to 127.0.0.1 in entrypoint)
EXPOSE 2375

VOLUME /data
VOLUME /var/lib/docker

ENTRYPOINT ["/sbin/tini", "--", "/entrypoint.sh"]
