persona-community-3/workers/media-worker/Dockerfile
2026-02-23 11:10:52 +00:00

34 lines
824 B
Docker

# Build stage
FROM golang:1.25-alpine AS builder
RUN apk add --no-cache git
# Configure Go private modules
# Disable workspace mode - each component builds independently with replace directives
ENV GOPRIVATE=git.threesix.ai/*
ENV GOWORK=off
WORKDIR /app
# Copy shared pkg and this worker only
COPY pkg/ ./pkg/
COPY workers/media-worker/ ./workers/media-worker/
# Download dependencies (populates go.sum if empty)
RUN cd pkg && go mod download
RUN cd workers/media-worker && go mod download
# Build from the worker directory (uses replace directive for ../pkg)
RUN cd workers/media-worker && CGO_ENABLED=0 go build -o /media-worker ./cmd/worker
# Production stage
FROM alpine:3.19
RUN apk add --no-cache ca-certificates tzdata
WORKDIR /
COPY --from=builder /media-worker /media-worker
ENTRYPOINT ["/media-worker"]