# Build stage FROM golang:1.23-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 service only COPY pkg/ ./pkg/ COPY services/auth-svc/ ./services/auth-svc/ # Build from the service directory (uses replace directive for ../pkg) RUN cd services/auth-svc && CGO_ENABLED=0 go build -o /auth-svc ./cmd/server # Production stage FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata WORKDIR / COPY --from=builder /auth-svc /auth-svc EXPOSE 8001 ENTRYPOINT ["/auth-svc"]