feat: Docker Compose support
This commit is contained in:
+43
@@ -0,0 +1,43 @@
|
||||
FROM node:24-alpine AS builder
|
||||
WORKDIR /app
|
||||
|
||||
RUN npm install -g pnpm@10.26.1
|
||||
|
||||
COPY pnpm-lock.yaml pnpm-workspace.yaml package.json ./
|
||||
COPY lib/db/package.json lib/db/
|
||||
COPY lib/api-spec/package.json lib/api-spec/
|
||||
COPY lib/api-zod/package.json lib/api-zod/
|
||||
COPY lib/api-client-react/package.json lib/api-client-react/
|
||||
COPY artifacts/api-server/package.json artifacts/api-server/
|
||||
COPY artifacts/toolrate/package.json artifacts/toolrate/
|
||||
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
COPY . .
|
||||
RUN BASE_PATH=/ pnpm run build
|
||||
|
||||
FROM node:24-alpine AS runner
|
||||
WORKDIR /app
|
||||
|
||||
RUN npm install -g pnpm@10.26.1
|
||||
|
||||
COPY pnpm-lock.yaml pnpm-workspace.yaml package.json ./
|
||||
COPY lib/db/package.json lib/db/
|
||||
COPY lib/api-spec/package.json lib/api-spec/
|
||||
COPY lib/api-zod/package.json lib/api-zod/
|
||||
COPY lib/api-client-react/package.json lib/api-client-react/
|
||||
COPY artifacts/api-server/package.json artifacts/api-server/
|
||||
COPY artifacts/toolrate/package.json artifacts/toolrate/
|
||||
|
||||
RUN pnpm install --frozen-lockfile --prod
|
||||
|
||||
COPY --from=builder /app/lib/db/dist lib/db/dist
|
||||
COPY --from=builder /app/artifacts/api-server/dist artifacts/api-server/dist
|
||||
COPY --from=builder /app/artifacts/toolrate/dist artifacts/toolrate/dist
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV STATIC_DIR=/app/artifacts/toolrate/dist/public
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["node", "--enable-source-maps", "artifacts/api-server/dist/index.mjs"]
|
||||
Reference in New Issue
Block a user