chore: update dockerfile, readme, etc

This commit is contained in:
2024-08-18 06:33:58 +07:00
parent b554cb4dbf
commit 6ad70370d1
11 changed files with 82 additions and 29 deletions
+12 -18
View File
@@ -1,34 +1,28 @@
FROM node:20-slim AS base
FROM node:20-slim AS frontend
WORKDIR /app
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
FROM base AS frontend
COPY package.json pnpm-lock.yaml ./
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
COPY . .
RUN pnpm run build
FROM base AS backend-deps
COPY backend/package.json backend/pnpm-lock.yaml ./
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install -prod --frozen-lockfile
COPY backend .
FROM oven/bun:alpine AS backend
WORKDIR /app
COPY --from=backend-deps /app .
RUN bun run build
FROM oven/bun:alpine
FROM golang:1.22.5 AS backend
WORKDIR /app
ENV NODE_ENV=production
ENV DIST_ROOT=./dist
COPY backend/go.mod backend/go.sum ./
RUN go mod download
COPY --from=frontend /app/dist /app/dist
COPY --from=backend /app/dist /app
COPY backend/ ./
COPY --from=frontend /app/dist ./ui
RUN make
ENTRYPOINT [ "bun" , "run", "main.js" ]
FROM scratch
COPY --from=backend /app/main /bin/main
CMD [ "/bin/main" ]