Files
formulation/Dockerfile
T
nicholas 9162992415
Build & Deploy Formulation / Build & Push Image (push) Successful in 22s
Build & Deploy Formulation / deploy (push) Successful in 39s
include formulation CLI in runtime image
2026-09-03 17:25:27 -05:00

29 lines
942 B
Docker

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/var/recipe-book.sqlite ./seed/recipe-book.sqlite
COPY --from=build --chown=node:node /app/public ./public
COPY --from=build --chown=node:node /app/scripts ./scripts
COPY --from=build --chown=node:node /app/src/cli ./src/cli
COPY --from=build --chown=node:node /app/src/lib ./src/lib
COPY --from=build --chown=node:node /app/migrations ./migrations
USER node
EXPOSE 8080
CMD ["node", "dist/app/server/entry.mjs"]