Files
arbeitszeitmessung/Backend/Dockerfile

35 lines
697 B
Docker

# syntax=docker/dockerfile:1
FROM --platform=$BUILDPLATFORM golang:alpine AS base
ARG TARGETOS
ARG TARGETARCH
ENV CGO_ENABLED=0 \
GOOS=$TARGETOS \
GOARCH=$TARGETARCH
FROM base AS fetch-stage
WORKDIR /app
COPY go.mod go.sum /app/
RUN go mod download && go mod verify
FROM ghcr.io/a-h/templ:latest AS generate-stage
COPY --chown=65532:65532 . /app
WORKDIR /app
RUN ["templ", "generate"]
FROM base AS build
COPY --from=generate-stage /app /app
WORKDIR /app
RUN go build -o server .
FROM alpine:3.22
RUN apk add --no-cache tzdata typst
WORKDIR /app
COPY --from=build /app/server /app/server
COPY migrations /app/migrations
COPY doc /doc
COPY /static /app/static
ENTRYPOINT ["./server"]