mirror of
https://github.com/fallenbagel/jellyseerr.git
synced 2025-12-24 02:39:18 -05:00
* refactor: update Next.js and React.js * refactor: update Next.js images * refactor: update ESLint rules and fix warnings/errors * fix: remove old intl polyfill * fix: add proper size to next/image components * fix: adjust full-size for next/image components * fix: temporary allow all domains for image optimization * build: fixes an issue where dev env could lead to javascript heap out of memory * fix: resolve webpack cache issue with country-flag-icons * refactor: switch compiler from Babel to SWC * fix: resize logo in sidebar * fix: break word on long path to avoid text overflow * chore: added sharp for production image optimisation * fix: change extract script for i18n to a custom script * fix: resolve GitHub CodeQL alert * chore: temporarily remove builds for ARMv7 * fix: resize avatar images * refactor: update Node.js to v20 * fix: resolve various UI issues * build: migrate yarn to pnpm and restrict engine to node@^20.0.0 * ci: specify the pnpm version to use in workflow actions * ci: fix typo in pnpm action-setup for cypress workflow * test(cypress): use pnpm instead of yarn * style: ran prettier on pnpm-lock * ci(cypress): setup nodejs v20 in cypress workflow * ci: pnpm cache to reduce install time * ci: use sh shell to get pnpm store directory * build(dockerfile): migrate to pnpm from yarn in docker builds * build(dockerfile): copy the proper pnpm lockfile * build: install pnpm for all platforms * build(dockerfile): remove unnecessary `&&` on apk installation steps * build: migrate pnpm 8 to 9 * build(dockerfile): add node-gyp back in * build(dockerfile): install node-gyp through npm * build(dockerfile): ignore scripts to not run husky install when devdependencies are pruned * build: migrate to pnpm from yarn * chore: remove a section that is no longer relevant --------- Co-authored-by: fallenbagel <98979876+Fallenbagel@users.noreply.github.com>
55 lines
1.0 KiB
Docker
55 lines
1.0 KiB
Docker
FROM node:20-alpine AS BUILD_IMAGE
|
|
|
|
WORKDIR /app
|
|
|
|
ARG TARGETPLATFORM
|
|
ENV TARGETPLATFORM=${TARGETPLATFORM:-linux/amd64}
|
|
|
|
RUN \
|
|
case "${TARGETPLATFORM}" in \
|
|
'linux/arm64' | 'linux/arm/v7') \
|
|
apk update && \
|
|
apk add --no-cache python3 make g++ gcc libc6-compat bash && \
|
|
npm install --global node-gyp \
|
|
;; \
|
|
esac
|
|
|
|
Run npm install --global pnpm
|
|
|
|
COPY package.json pnpm-lock.yaml ./
|
|
RUN CYPRESS_INSTALL_BINARY=0 pnpm install --frozen-lockfile
|
|
|
|
COPY . ./
|
|
|
|
ARG COMMIT_TAG
|
|
ENV COMMIT_TAG=${COMMIT_TAG}
|
|
|
|
RUN pnpm build
|
|
|
|
# remove development dependencies
|
|
RUN pnpm prune --prod --ignore-scripts
|
|
|
|
RUN rm -rf src server .next/cache
|
|
|
|
RUN touch config/DOCKER
|
|
|
|
RUN echo "{\"commitTag\": \"${COMMIT_TAG}\"}" > committag.json
|
|
|
|
|
|
FROM node:20-alpine
|
|
|
|
# Metadata for Github Package Registry
|
|
LABEL org.opencontainers.image.source="https://github.com/Fallenbagel/jellyseerr"
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apk add --no-cache tzdata tini && rm -rf /tmp/*
|
|
|
|
# copy from build image
|
|
COPY --from=BUILD_IMAGE /app ./
|
|
|
|
ENTRYPOINT [ "/sbin/tini", "--" ]
|
|
CMD [ "pnpm", "start" ]
|
|
|
|
EXPOSE 5055
|