Dockerfile.tmpl
19 lines1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
FROM golang:1.25-bookworm AS builder
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN go build -ldflags="-s -w" -o /bin/app ./<<.Dir>>
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y ca-certificates curl && rm -rf /var/lib/apt/lists/* && \
adduser --system --no-create-home app && \
mkdir -p /data && chown app:nogroup /data
ENV PORT=5000
ENV ENV=production
EXPOSE 5000
COPY --from=builder /bin/app /usr/local/bin/app
HEALTHCHECK --interval=10s --timeout=5s --retries=3 \
CMD curl -sf http://localhost:5000/health || exit 1
USER app
CMD ["app"]