1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-18 20:59:43 +02:00

Modernize Dockerfile

This commit is contained in:
Pierre-Olivier Mercier 2021-09-21 14:53:09 +02:00
parent dff4c6929b
commit 45567e274a
2 changed files with 26 additions and 7 deletions

View file

@ -3,4 +3,4 @@
bin bin
.idea .idea
selfcert selfcert
gui gui/dist-prod

View file

@ -1,11 +1,30 @@
FROM golang:1.15-alpine as builder FROM node:lts-alpine as frontbuilder
COPY . /go/src/github.com/documize/community WORKDIR /go/src/github.com/documize/community/gui
COPY ./gui /go/src/github.com/documize/community/gui
RUN npm --network-timeout=100000 install
RUN npm run build -- --environment=production --output-path dist-prod --suppress-sizes true
FROM golang:1.17-alpine as builder
WORKDIR /go/src/github.com/documize/community WORKDIR /go/src/github.com/documize/community
RUN env GOOS=linux GOARCH=amd64 GODEBUG=tls13=1 go build -mod=vendor -o bin/documize-community-linux-amd64 ./edition/community.go COPY . /go/src/github.com/documize/community
COPY --from=frontbuilder /go/src/github.com/documize/community/gui/dist-prod/assets /go/src/github.com/documize/community/edition/static/public/assets
COPY --from=frontbuilder /go/src/github.com/documize/community/gui/dist-prod/codemirror /go/src/github.com/documize/community/edition/static/public/codemirror
COPY --from=frontbuilder /go/src/github.com/documize/community/gui/dist-prod/prism /go/src/github.com/documize/community/edition/static/public/prism
COPY --from=frontbuilder /go/src/github.com/documize/community/gui/dist-prod/sections /go/src/github.com/documize/community/edition/static/public/sections
COPY --from=frontbuilder /go/src/github.com/documize/community/gui/dist-prod/tinymce /go/src/github.com/documize/community/edition/static/public/tinymce
COPY --from=frontbuilder /go/src/github.com/documize/community/gui/dist-prod/pdfjs /go/src/github.com/documize/community/edition/static/public/pdfjs
COPY --from=frontbuilder /go/src/github.com/documize/community/gui/dist-prod/*.* /go/src/github.com/documize/community/edition/static/
COPY domain/mail/*.html /go/src/github.com/documize/community/edition/static/mail/
COPY core/database/templates/*.html /go/src/github.com/documize/community/edition/static/
COPY core/database/scripts/mysql/*.sql /go/src/github.com/documize/community/edition/static/scripts/mysql/
COPY core/database/scripts/postgresql/*.sql /go/src/github.com/documize/community/edition/static/scripts/postgresql/
COPY core/database/scripts/sqlserver/*.sql /go/src/github.com/documize/community/edition/static/scripts/sqlserver/
COPY domain/onboard/*.json /go/src/github.com/documize/community/edition/static/onboard/
RUN env GODEBUG=tls13=1 go build -mod=vendor -o bin/documize-community ./edition/community.go
# build release image # build release image
FROM alpine:3.10 FROM alpine:3.14
RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/* RUN apk add --no-cache ca-certificates
COPY --from=builder /go/src/github.com/documize/community/bin/documize-community-linux-amd64 /documize COPY --from=builder /go/src/github.com/documize/community/bin/documize-community /documize
EXPOSE 5001 EXPOSE 5001
ENTRYPOINT [ "/documize" ] ENTRYPOINT [ "/documize" ]