diff --git a/apps/backend/Dockerfile b/apps/backend/Dockerfile new file mode 100644 index 0000000..00d9a08 --- /dev/null +++ b/apps/backend/Dockerfile @@ -0,0 +1,19 @@ +FROM node:22-alpine AS builder +RUN npm install -g pnpm +WORKDIR /app +COPY package.json pnpm-lock.yaml ./ +RUN pnpm install --frozen-lockfile --prod +COPY . . + +RUN pnpm run build + +FROM node:22-alpine +RUN npm install -g pnpm +WORKDIR /app +COPY package.json pnpm-lock.yaml ./ +RUN pnpm install --frozen-lockfile --prod +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/node_modules ./node_modules + +EXPOSE 3001 +CMD ["pnpm", "run", "start:prod"] \ No newline at end of file diff --git a/apps/frontend/Dockerfile b/apps/frontend/Dockerfile new file mode 100644 index 0000000..0dfc31d --- /dev/null +++ b/apps/frontend/Dockerfile @@ -0,0 +1,25 @@ +FROM node:22-alpine AS builder + +RUN npm install -g pnpm + +WORKDIR /app +COPY package*.json pnpm-lock.yaml ./ +RUN pnpm install --frozen-lockfile +COPY . . + +ARG API_BASE +ENV API_BASE=$API_BASE + +RUN pnpm run build + +FROM node:22-alpine +RUN npm install -g pnpm +WORKDIR /app +COPY package.json pnpm-lock.yaml ./ +RUN pnpm install --frozen-lockfile --prod +COPY --from=builder /app/.next ./.next +COPY --from=builder /app/public ./public +COPY --from=builder /app/next.config.js ./ + +EXPOSE 3000 +CMD ["pnpm", "start"] \ No newline at end of file