-
Notifications
You must be signed in to change notification settings - Fork 224
Expand file tree
/
Copy pathDockerfile.dev
More file actions
32 lines (30 loc) · 850 Bytes
/
Dockerfile.dev
File metadata and controls
32 lines (30 loc) · 850 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Base stage with pnpm
FROM node:20-alpine AS base
RUN npm install -g pnpm
WORKDIR /app
# API development
FROM base AS api
COPY pnpm-workspace.yaml package.json pnpm-lock.yaml ./
COPY apps/api/package.json ./apps/api/
COPY packages/shared/package.json ./packages/shared/
RUN pnpm install
COPY packages/shared ./packages/shared
COPY apps/api ./apps/api
WORKDIR /app/packages/shared
RUN pnpm run build
WORKDIR /app/apps/api
RUN pnpm exec prisma generate
EXPOSE 8080
CMD ["pnpm", "run", "dev"]
# Web development
FROM base AS web
COPY pnpm-workspace.yaml package.json pnpm-lock.yaml ./
COPY apps/web/package.json ./apps/web/
COPY packages/shared/package.json ./packages/shared/
COPY packages/ui/package.json ./packages/ui/
RUN pnpm install
COPY packages ./packages
COPY apps/web ./apps/web
WORKDIR /app/apps/web
EXPOSE 3000
CMD ["pnpm", "run", "dev"]