| 1 | # Build from repo root: docker build -t posts -f apps/posts/Dockerfile . |
| 2 | FROM golang:1.24-bookworm AS builder |
| 3 | WORKDIR /app |
| 4 | COPY pkg/ ./pkg/ |
| 5 | COPY apps/posts/go.mod apps/posts/go.sum ./apps/posts/ |
| 6 | WORKDIR /app/apps/posts |
| 7 | RUN go mod download |
| 8 | COPY apps/posts/ ./ |
| 9 | RUN CGO_ENABLED=0 go build -o /posts . |
| 10 | |
| 11 | FROM debian:bookworm-slim |
| 12 | RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/* |
| 13 | COPY --from=builder /posts /usr/local/bin/posts |
| 14 | WORKDIR /data |
| 15 | ENV HOST=0.0.0.0 |
| 16 | ENV PORT=3000 |
| 17 | ENV UPLOADS_DIR=/data/uploads |
| 18 | EXPOSE 3000 |
| 19 | CMD ["posts"] |