From cf5b18d1500ae8a30a7a9a37dd9c0f05d201820f Mon Sep 17 00:00:00 2001 From: Steven Date: Mon, 12 Sep 2022 10:01:30 +0800 Subject: [PATCH] chore: add dockerfile --- Dockerfile | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ea41cae --- /dev/null +++ b/Dockerfile @@ -0,0 +1,31 @@ +# Build frontend dist. +FROM node:16.15.0-alpine AS frontend +WORKDIR /frontend-build + +COPY ./web/ . + +RUN yarn +RUN yarn build + +# Build backend exec file. +FROM golang:1.18.3-alpine3.16 AS backend +WORKDIR /backend-build + +RUN apk update +RUN apk --no-cache add gcc musl-dev + +COPY . . +COPY --from=frontend /frontend-build/dist ./server/dist + +RUN go build -o corgi ./bin/server/main.go + +# Make workspace with above generated files. +FROM alpine:3.16.0 AS monolithic +WORKDIR /usr/local/corgi + +COPY --from=backend /backend-build/corgi /usr/local/corgi/ + +# Directory to store the data, which can be referenced as the mounting point. +RUN mkdir -p /var/opt/corgi + +ENTRYPOINT ["./corgi", "--mode", "prod", "--port", "5231"]