# Note this docker file is meant for local testing # and not for production. FROM node:22.12-alpine as builder ENV NODE_OPTIONS=--max-old-space-size=8192 RUN apk add g++ make python3 py3-setuptools WORKDIR /app COPY package.json . COPY yarn.lock . COPY tsconfig.json . COPY .prettierrc . COPY .eslintrc . COPY /packages/web/package.json ./packages/web/package.json RUN yarn install --pure-lockfile --network-timeout=300000 ADD /packages/web ./packages/web COPY ./packages/web/next.config.self.js ./packages/web/next.config.js RUN yarn workspace @omnivore/web build FROM node:22.12-alpine as runner LABEL org.opencontainers.image.source="https://github.com/omnivore-app/omnivore" ENV NODE_ENV production ENV PORT=8080 ENV NEXT_TELEMETRY_DISABLED 1 WORKDIR /app COPY --from=builder /app/packages/web/next.config.js /app/packages/web/next.config.js COPY --from=builder /app/packages/web/public/ /app/packages/web/public/ COPY --from=builder /app/packages/web/.next/ /app/packages/web/.next/ COPY --from=builder /app/packages/web/package.json /app/packages/web/package.json COPY --from=builder /app/packages/web/node_modules /app/packages/web/node_modules COPY --from=builder /app/node_modules /app/node_modules COPY --from=builder /app/package.json /app/package.json EXPOSE 8080 COPY ./packages/web/env.sh /app/packages/web/env.sh RUN chmod +x /app/packages/web/env.sh ENTRYPOINT ["/app/packages/web/env.sh"]