FROM node:lts AS base WORKDIR /app COPY package.json package-lock.json ./ ARG PUBLIC_POCKETBASE_URL ARG PUBLIC_DESCRIPTION ARG PUBLIC_TITLE ARG PUBLIC_USEICONS ENV PUBLIC_POCKETBASE_URL=${PUBLIC_POCKETBASE_URL} ENV PUBLIC_DESCRIPTION=${PUBLIC_DESCRIPTION} ENV PUBLIC_TITLE=${PUBLIC_TITLE} ENV PUBLIC_USEICONS=${PUBLIC_USEICONS} FROM base AS prod-deps RUN npm ci --omit=dev FROM base AS build-deps RUN npm ci FROM build-deps AS build COPY . . RUN npm run build FROM base AS runtime COPY --from=prod-deps /app/node_modules ./node_modules COPY --from=build /app/dist ./dist ARG PORT=4321 ENV HOST=0.0.0.0 ENV PORT=${PORT} EXPOSE ${PORT} CMD node ./dist/server/entry.mjs