FROM node:24-alpine AS build WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci COPY . . RUN npm run db:reset && npm run build FROM node:24-alpine AS runtime ENV NODE_ENV=production \ FORMULATION_READ_ONLY=true \ HOST=0.0.0.0 \ PORT=8080 WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci --omit=dev COPY --from=build --chown=node:node /app/dist/app ./dist/app COPY --from=build --chown=node:node /app/var/recipe-book.sqlite ./var/recipe-book.sqlite COPY --from=build --chown=node:node /app/public ./public USER node EXPOSE 8080 CMD ["node", "dist/app/server/entry.mjs"]