2019-03-28 17:36:24 +01:00
|
|
|
# stage: 1
|
|
|
|
FROM node:10 as react-build
|
|
|
|
WORKDIR /web
|
|
|
|
COPY web/ ./
|
|
|
|
RUN yarn
|
|
|
|
RUN yarn build
|
|
|
|
|
|
|
|
# stage: 2
|
2019-11-28 07:25:46 +01:00
|
|
|
FROM golang:1.13.4-alpine as go-build
|
2019-03-27 05:14:07 +01:00
|
|
|
RUN apk update && \
|
2019-11-28 07:25:46 +01:00
|
|
|
apk add --no-cache make && \
|
2019-03-28 06:57:49 +01:00
|
|
|
apk add --no-cache git && \
|
2019-07-29 07:13:33 +02:00
|
|
|
apk add --no-cache upx=3.95-r2
|
2019-03-27 05:14:07 +01:00
|
|
|
|
2019-11-28 21:27:20 +01:00
|
|
|
RUN GO111MODULE=off go get -u github.com/rafaelsq/wtc
|
2019-03-28 03:01:02 +01:00
|
|
|
|
2019-03-28 06:51:46 +01:00
|
|
|
WORKDIR /app
|
2019-03-28 17:36:24 +01:00
|
|
|
COPY . /app
|
|
|
|
|
|
|
|
RUN mkdir -p /app/web/build
|
|
|
|
COPY --from=react-build /web/build/ ./web/build/
|
2019-03-28 06:51:46 +01:00
|
|
|
|
2019-03-28 03:01:02 +01:00
|
|
|
RUN go mod vendor
|
2019-11-28 07:25:46 +01:00
|
|
|
RUN make build
|
|
|
|
RUN echo "Compressing binary, will take a bit of time..." && \
|
2019-09-27 08:30:07 +02:00
|
|
|
upx --ultra-brute -qq super-graph && \
|
|
|
|
upx -t super-graph
|
2019-03-24 14:57:29 +01:00
|
|
|
|
2019-03-28 17:36:24 +01:00
|
|
|
# stage: 3
|
2019-03-24 14:57:29 +01:00
|
|
|
FROM alpine:latest
|
2019-09-09 06:02:25 +02:00
|
|
|
WORKDIR /
|
2019-03-28 05:37:39 +01:00
|
|
|
|
2019-03-28 03:01:02 +01:00
|
|
|
RUN apk add --no-cache tzdata
|
2019-09-09 06:02:25 +02:00
|
|
|
RUN mkdir -p /config
|
2019-03-27 05:14:07 +01:00
|
|
|
|
2019-03-28 17:36:24 +01:00
|
|
|
COPY --from=go-build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
2019-09-09 06:02:25 +02:00
|
|
|
COPY --from=go-build /app/config/* /config/
|
|
|
|
COPY --from=go-build /app/super-graph .
|
2019-03-27 05:14:07 +01:00
|
|
|
|
2019-09-09 06:02:25 +02:00
|
|
|
RUN chmod +x /super-graph
|
2019-03-27 05:14:07 +01:00
|
|
|
USER nobody
|
|
|
|
|
|
|
|
EXPOSE 8080
|
|
|
|
|
2019-09-26 06:35:31 +02:00
|
|
|
CMD ./super-graph serv
|