mirror of
https://github.com/kind-0/nsecbunkerd.git
synced 2026-08-01 07:21:42 +00:00
29 lines
718 B
Docker
29 lines
718 B
Docker
FROM node:20.11-bullseye AS build
|
|
WORKDIR /app
|
|
|
|
# Copy and install all dependencies
|
|
COPY package*.json ./
|
|
COPY tsconfig*.json ./
|
|
RUN npm install -g npm@latest && npm install
|
|
COPY . .
|
|
RUN npx prisma generate
|
|
RUN npm run build
|
|
|
|
# Optional: prune dev dependencies after build
|
|
RUN npm prune --omit=dev
|
|
|
|
FROM node:20.11-alpine as runtime
|
|
WORKDIR /app
|
|
RUN apk update && \
|
|
apk add --no-cache openssl && \
|
|
rm -rf /var/cache/apk/*
|
|
|
|
# Copy only what is needed
|
|
COPY --from=build /app/package*.json ./
|
|
COPY --from=build /app/node_modules ./node_modules
|
|
COPY --from=build /app/dist ./dist
|
|
COPY --from=build /app/node_modules/.prisma ./node_modules/.prisma
|
|
|
|
EXPOSE 3000
|
|
ENTRYPOINT [ "node", "./dist/index.js" ]
|
|
CMD ["start"] |