mirror of
https://github.com/jetkvm/cloud-api.git
synced 2025-09-16 08:38:15 +00:00
feat(dev): added Dockerfile with multistage build and compose file
This commit is contained in:
parent
91ef5e6424
commit
d40c4d9025
10
Dockerfile
10
Dockerfile
@ -1,12 +1,9 @@
|
||||
# Base Stage
|
||||
FROM node:21.1.0-alpine AS base
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN apk add --no-cache libc6-compat
|
||||
|
||||
COPY package.json package-lock.json ./
|
||||
|
||||
# Deps Stage
|
||||
FROM base AS deps
|
||||
RUN npm ci
|
||||
|
||||
@ -15,14 +12,11 @@ FROM deps AS dev
|
||||
COPY . .
|
||||
RUN npx prisma generate
|
||||
RUN npm run build:prod
|
||||
|
||||
CMD ["sh", "-c", "npm run dev"]
|
||||
|
||||
# Production Stage
|
||||
FROM node:21.1.0-alpine AS prod
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY --from=dev /app/dist ./dist
|
||||
COPY --from=dev /app/prisma ./prisma
|
||||
COPY --from=dev /app/package.json ./
|
||||
@ -30,8 +24,6 @@ COPY --from=dev /app/package-lock.json ./
|
||||
|
||||
# Install only production dependencies
|
||||
RUN npm ci --omit=dev
|
||||
|
||||
USER node
|
||||
EXPOSE 3000
|
||||
|
||||
CMD ["node", "./dist/index.js"]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user