48 lines
1.4 KiB
Plaintext
48 lines
1.4 KiB
Plaintext
# 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
|
|
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"]
|