diff --git a/.goreleaser.yml b/.goreleaser.yml index 5d108f3b1..b859db419 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -40,7 +40,7 @@ dockers: image_templates: - "listmonk/listmonk:latest" - "listmonk/listmonk:{{ .Tag }}" - dockerfile: Dockerfile + dockerfile: Dockerfile-builded extra_files: - config.toml.sample - config-demo.toml diff --git a/Dockerfile b/Dockerfile index 9077201c3..6644deab5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,21 @@ +FROM node:lts-alpine AS frontend-builder +RUN apk --no-cache add make grep +COPY frontend frontend/ +COPY Makefile VERSION ./ +RUN make build-frontend + +FROM golang:alpine AS backend-builder +RUN apk --no-cache add make grep +WORKDIR /go/listmonk +COPY . . +COPY --from=frontend-builder frontend/dist frontend/dist/ +RUN sed -i 's/pack-bin: build-frontend/pack-bin:/' Makefile && \ + make pack-bin + FROM alpine:latest RUN apk --no-cache add ca-certificates WORKDIR /listmonk -COPY listmonk . +COPY --from=backend-builder /go/listmonk/listmonk . COPY config.toml.sample config.toml COPY config-demo.toml . CMD ["./listmonk"] diff --git a/Dockerfile-builded b/Dockerfile-builded new file mode 100644 index 000000000..9077201c3 --- /dev/null +++ b/Dockerfile-builded @@ -0,0 +1,8 @@ +FROM alpine:latest +RUN apk --no-cache add ca-certificates +WORKDIR /listmonk +COPY listmonk . +COPY config.toml.sample config.toml +COPY config-demo.toml . +CMD ["./listmonk"] +EXPOSE 9000