mirror of
https://github.com/dancojocaru2000/CfrTrainInfoTelegramBot.git
synced 2025-02-22 17:19:39 +02:00
33 lines
959 B
Docker
33 lines
959 B
Docker
FROM --platform=$BUILDPLATFORM tonistiigi/xx AS xx
|
|
|
|
FROM --platform=$BUILDPLATFORM golang:1.21-alpine AS build
|
|
|
|
LABEL authors="kbruen"
|
|
LABEL org.opencontainers.image.source=https://github.com/dancojocaru2000/CfrTrainInfoTelegramBot
|
|
|
|
RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
|
|
RUN apk add zig@testing
|
|
COPY --from=xx / /
|
|
ARG TARGETPLATFORM
|
|
ENV CGO_ENABLED=1
|
|
|
|
WORKDIR /app
|
|
|
|
COPY go.mod .
|
|
COPY go.sum .
|
|
RUN go mod download
|
|
|
|
COPY main.go ./
|
|
COPY pkg ./pkg/
|
|
ARG TARGETOS
|
|
ARG TARGETARCH
|
|
RUN GOOS=$TARGETOS GOARCH=$TARGETARCH CGO_CFLAGS="-D_LARGEFILE64_SOURCE" CC="zig cc -target $(xx-info march)-$(xx-info os)-$(xx-info libc)" CXX="zig c++ -target $(xx-info march)-$(xx-info os)-$(xx-info libc)" go build -o server && xx-verify server
|
|
|
|
FROM scratch
|
|
COPY --from=build /etc/ssl/certs /etc/ssl/certs
|
|
WORKDIR /app
|
|
# COPY static ./static/
|
|
COPY --from=build /app/server ./
|
|
|
|
ENV DEBUG=false
|
|
ENTRYPOINT [ "/app/server" ]
|