sabisan/Dockerfile

39 lines
1.0 KiB
Docker
Raw Permalink Normal View History

2026-05-16 19:30:20 +00:00
# syntax=docker/dockerfile:1
2026-05-16 21:37:08 +00:00
ARG BUILDPLATFORM
FROM --platform=$BUILDPLATFORM golang:1.24-bookworm AS build
2026-05-16 19:30:20 +00:00
WORKDIR /src
2026-05-16 21:37:08 +00:00
ARG TARGETARCH
RUN apt-get update \
&& apt-get install -y --no-install-recommends gcc-aarch64-linux-gnu libc6-dev-arm64-cross \
&& rm -rf /var/lib/apt/lists/*
2026-05-16 19:30:20 +00:00
COPY go.mod go.sum ./
RUN go mod download
COPY . .
2026-05-16 21:37:08 +00:00
RUN targetarch="${TARGETARCH:-amd64}" \
&& echo "building for TARGETARCH=${targetarch}" \
&& case "$targetarch" in \
amd64) export CC=gcc ;; \
arm64) export CC=aarch64-linux-gnu-gcc ;; \
*) echo "unsupported TARGETARCH=${targetarch}" >&2; exit 1 ;; \
esac \
&& CGO_ENABLED=1 GOOS=linux GOARCH="$targetarch" go build -o /out/archi-folio ./cmd/server
2026-05-16 19:30:20 +00:00
FROM gcr.io/distroless/cc-debian12:nonroot
WORKDIR /app
COPY --from=build /out/archi-folio /usr/local/bin/archi-folio
COPY --chown=nonroot:nonroot web ./web
2026-05-16 19:38:13 +00:00
COPY --chown=nonroot:nonroot VERSION ./VERSION
2026-05-16 19:30:20 +00:00
COPY --chown=nonroot:nonroot data/uploads/.gitkeep ./data/uploads/.gitkeep
EXPOSE 8080
CMD ["/usr/local/bin/archi-folio"]