diff --git a/Dockerfile b/Dockerfile index 56f5915..518cbd5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,41 +1,29 @@ -## 1. Server +## 1. Build Server # Use Go 1.10 -FROM golang:1.10 AS build-server +FROM golang:1.11 AS build-server # Load repository into docker WORKDIR /go/src/git.aiterp.net/rpdata/api/ COPY . . +RUN rm -rf ./vendor # Load build tools and dependencies RUN go get -u github.com/golang/dep/cmd/dep +RUN go get -u github.com/vektah/gorunpkg RUN go get -u github.com/jteeuwen/go-bindata/... RUN dep ensure RUN go generate ./... # Build server and tools (CGO disabled to make them 100% static) ENV CGO_ENABLED 0 -RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-graphiql ./cmd/rpdata-graphiql +RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-server ./cmd/rpdata-server RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-lb2charimport ./cmd/rpdata-lb2charimport RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-lb2logimport ./cmd/rpdata-lb2logimport -RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-wikifileimport ./cmd/rpdata-wikifileimport +# TODO: RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-wikifileimport ./cmd/rpdata-wikifileimport RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-ensurechannels ./cmd/rpdata-ensurechannels RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-as2storyimport ./cmd/rpdata-as2storyimport -## 2. React UI -# Use Node.JS 18 -FROM node:10.5-alpine AS build-id - -# The content is already there -WORKDIR /rpdata-ui -COPY ./rpdata-ui /rpdata-ui - -# Prepare dependencies -RUN npm install - -# Run build -RUN npm run build - -## 3. Regroup +## 2. Distribute # Use alpine linux FROM alpine:3.7 @@ -44,7 +32,6 @@ RUN apk add --no-cache ca-certificates # Copy build files into final container COPY --from=build-server /binaries/* /usr/local/bin/ -COPY --from=build-id /rpdata-ui/build /var/www/ -# TODO: Use proper server instead of grapihql server -CMD ["/usr/local/bin/rpdata-graphiql"] +# The server is the main entry point +CMD ["/usr/local/bin/rpdata-server"]