Files
backend/Dockerfile
Andriy Oblivantsev f51126419c
CI / test (push) Successful in 7s
Improve developer integration docs and Docker dev workflow.
Add TypeScript frontend integration documentation, repository agent guidance files, Go-served frontend routing, and an advanced Docker Compose setup with watch mode plus BuildKit cache configuration.

Made-with: Cursor
2026-03-01 11:57:22 +00:00

39 lines
849 B
Docker

# syntax=docker/dockerfile:1.7
FROM --platform=$BUILDPLATFORM golang:1.25-bookworm AS base
ARG TARGETOS
ARG TARGETARCH
WORKDIR /src
RUN apt-get update && apt-get install -y --no-install-recommends \
git ca-certificates && rm -rf /var/lib/apt/lists/*
COPY go.mod ./
RUN --mount=type=cache,target=/go/pkg/mod \
go mod download
COPY . .
FROM base AS builder
RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} \
go build -p "$(nproc)" -trimpath -ldflags="-s -w" -o /out/api ./cmd/api
FROM base AS dev
ENV ADDR=:8080
EXPOSE 8080
CMD ["go", "run", "./cmd/api"]
FROM gcr.io/distroless/static-debian12:nonroot AS runtime
WORKDIR /app
COPY --from=builder /out/api /app/api
ENV ADDR=:8080
EXPOSE 8080
ENTRYPOINT ["/app/api"]