From 7e1368028b612f88bc6aad90cccd1b95a308397d Mon Sep 17 00:00:00 2001 From: Johnny Date: Mon, 21 Apr 2025 09:02:38 +0800 Subject: [PATCH] chore: add dockerfile.demo --- scripts/Dockerfile.demo | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 scripts/Dockerfile.demo diff --git a/scripts/Dockerfile.demo b/scripts/Dockerfile.demo new file mode 100644 index 00000000..4f794583 --- /dev/null +++ b/scripts/Dockerfile.demo @@ -0,0 +1,41 @@ +# Build frontend dist. +FROM node:20-alpine AS frontend +WORKDIR /frontend-build + +COPY . . + +WORKDIR /frontend-build/web + +RUN npm install -g pnpm +RUN pnpm i --frozen-lockfile +RUN pnpm build + +# Build backend exec file. +FROM golang:1.24-alpine AS backend +WORKDIR /backend-build + +COPY . . +COPY --from=frontend /frontend-build/web/dist /backend-build/server/router/frontend/dist + +RUN go build -o memos ./bin/memos/main.go + +# Make workspace with above generated files. +FROM alpine:latest AS monolithic +WORKDIR /usr/local/memos + +RUN apk add --no-cache tzdata +ENV TZ="UTC" + +COPY --from=backend /backend-build/memos /usr/local/memos/ +COPY ./scripts/entrypoint.sh /usr/local/memos/ + +EXPOSE 5230 + +# Directory to store the data, which can be referenced as the mounting point. +RUN mkdir -p /var/opt/memos +VOLUME /var/opt/memos + +ENV MEMOS_MODE="prod" +ENV MEMOS_PORT="5230" + +ENTRYPOINT ["./entrypoint.sh", "./memos"]