Some checks failed
continuous-integration/drone/push Build is failing
alpine doesn't have git so download a release instead
43 lines
939 B
Docker
43 lines
939 B
Docker
FROM golang:1.18.2-alpine 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.18.2-alpine as build2
|
|
|
|
WORKDIR /src
|
|
|
|
ENV CGO_LDFLAGS "-static -w -s"
|
|
|
|
RUN wget https://git.coadcorp.com/nathan/json2excel/archive/initial.zip && \
|
|
unzip json2excel-initial.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"] |