FROM golang:1.22.4-alpine3.20 as build WORKDIR /src COPY build/app/go.mod go.mod COPY build/app/go.sum go.sum RUN go mod download COPY build/app/cmd cmd/ COPY build/app/models models/ COPY build/app/restapi restapi/ ENV CGO_LDFLAGS "-static -w -s" RUN go build -tags osusergo,netgo -o /application cmd/export-xlsx-server/main.go; FROM golang:1.22.4-alpine3.20 as build2 WORKDIR /src ENV CGO_LDFLAGS "-static -w -s" ENV J2E_VERSION "v0.1.8" RUN wget https://git.coadcorp.com/nathan/json2excel/archive/${J2E_VERSION}.zip && \ unzip ${J2E_VERSION}.zip && \ rm ${J2E_VERSION}.zip && \ cd json2excel && \ go mod download && \ go build -o /json2excel cmd/main/main.go FROM ubuntu:22.04 RUN apt-get update && apt-get install ca-certificates -y ENV TZ=Australia/Sydney COPY --from=build2 /json2excel /bin/json2excel # DON'T CHANGE BELOW COPY --from=build /application /bin/application EXPOSE 8080 CMD ["/bin/application", "--port=8080", "--host=0.0.0.0", "--write-timeout=0"]