diff --git a/adonisjs/simple/Dockerfile b/adonisjs/simple/Dockerfile new file mode 100644 index 0000000..393109b --- /dev/null +++ b/adonisjs/simple/Dockerfile @@ -0,0 +1,29 @@ +FROM node:22.16.0-alpine3.22 AS base + +# All deps stage +FROM base AS deps +WORKDIR /app +ADD package.json package-lock.json ./ +RUN npm ci + +# Production only deps stage +FROM base AS production-deps +WORKDIR /app +ADD package.json package-lock.json ./ +RUN npm ci --omit=dev + +# Build stage +FROM base AS build +WORKDIR /app +COPY --from=deps /app/node_modules /app/node_modules +ADD . . +RUN node ace build + +# Production stage +FROM base +ENV NODE_ENV=production +WORKDIR /app +COPY --from=production-deps /app/node_modules /app/node_modules +COPY --from=build /app/build /app +EXPOSE 8080 +CMD ["node", "./bin/server.js"]