# syntax=docker/dockerfile:1 FROM golang:1.25.1-alpine AS build WORKDIR /src COPY run/go.mod ./ RUN go mod download COPY run/ ./ RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -o /out/run ./cmd/run FROM alpine:3.21 RUN addgroup -S run && adduser -S run -G run WORKDIR /app COPY --from=build /out/run /app/run RUN mkdir -p /data/run/workspace /data/run/spool && chown -R run:run /data/run USER run ENV RUN_MODE=worker \ RUN_PLATFORM_URL=http://platform:8080 \ RUN_ENDPOINT_ID=run-docker \ RUN_DISPLAY_NAME="Docker Run" \ RUN_VERSION=0.1.0 \ RUN_REGISTRATION_TOKEN=local-registration \ RUN_WORKSPACE_ROOT=/data/run/workspace \ RUN_SPOOL_ROOT=/data/run/spool \ RUN_MAX_JOBS=1 \ RUN_HEARTBEAT_INTERVAL_MS=15000 \ RUN_POLL_INTERVAL_MS=2000 \ RUN_RETRY_BACKOFF_MS=1000 ENTRYPOINT ["/app/run"]