Dockerfile
Rama main · réplica de lectura del repositorio original.
# syntax=docker/dockerfile:1
FROM golang:1.26-alpine AS builder
ARG TARGETOS
ARG TARGETARCH
WORKDIR /src
COPY go.mod go.sum ./
RUN --mount=type=cache,target=/go/pkg/mod go mod download
COPY . .
RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH \
go build -trimpath -ldflags="-s -w" -o /out/byot .
FROM alpine:3.22
# Worker shells out to `docker run`, so the CLI must be present.
RUN apk add --no-cache ca-certificates tzdata docker-cli
WORKDIR /app
COPY --from=builder /out/byot /app/byot
ENV STORAGE_PROVIDER=minio \
MINIO_ENDPOINT="" \
MINIO_ACCESS_KEY="" \
MINIO_SECRET_KEY="" \
MINIO_BUCKET="" \
MINIO_REGION="" \
SUPABASE_URL="" \
SUPABASE_KEY="" \
SUPABASE_BUCKET="" \
DB_URL="" \
MAX_DOCKER_MEMORY_MB=2048 \
MAX_DOCKER_CPUS=4
EXPOSE 3000
ENTRYPOINT ["/app/byot"]