main / Dockerfile
576 B · DOCKERFILE Raw
1# syntax=docker/dockerfile:1
2
3FROM golang:1.25-bookworm AS builder
4
5WORKDIR /src
6
7ENV CGO_ENABLED=1
8
9COPY go.mod go.sum ./
10RUN go mod download
11
12COPY . .
13RUN go build -trimpath -ldflags="-s -w" -o /out/gitgud ./cmd/server
14
15FROM debian:bookworm-slim AS runtime
16
17RUN apt-get update \
18 && apt-get install -y --no-install-recommends \
19 ca-certificates \
20 git \
21 && rm -rf /var/lib/apt/lists/*
22
23WORKDIR /app
24COPY --from=builder /out/gitgud /app/gitgud
25
26ENV GITGUD_ADDR=:8080 \
27 GITGUD_DATA_DIR=/data
28
29RUN mkdir -p /data
30VOLUME ["/data"]
31
32EXPOSE 8080
33
34CMD ["/app/gitgud"]