Files
reiverr/Dockerfile
2025-08-09 17:03:22 +03:00

70 lines
2.4 KiB
Docker

FROM --platform=linux/amd64 node:18-alpine as pre-production
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
#COPY . .
COPY package.json .
COPY package-lock.json .
COPY backend/package.json ./backend/package.json
# COPY backend/package-lock.json ./backend/package-lock.json
COPY frontend/package.json ./frontend/package.json
# COPY frontend/package-lock.json ./frontend/package-lock.json
COPY shared/package.json ./shared/package.json
# COPY shared/package-lock.json ./shared/package-lock.json
COPY torrent-stream.plugin/package.json ./torrent-stream.plugin/package.json
# COPY torrent-stream.plugin/package-lock.json ./torrent-stream.plugin/package-lock.json
COPY jellyfin.plugin/package.json ./jellyfin.plugin/package.json
# COPY jellyfin.plugin/package-lock.json ./jellyfin.plugin/package-lock.json
RUN npm i
COPY . .
RUN npm run build
FROM --platform=linux/amd64 node:18-alpine as production
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ENV NODE_ENV=production
COPY --from=pre-production /usr/src/app/package.json ./package.json
COPY --from=pre-production /usr/src/app/package-lock.json ./package-lock.json
COPY --from=pre-production /usr/src/app/node_modules ./node_modules
COPY --from=pre-production /usr/src/app/shared ./shared
COPY --from=pre-production /usr/src/app/torrent-stream.plugin ./torrent-stream.plugin
COPY --from=pre-production /usr/src/app/jellyfin.plugin ./jellyfin.plugin
COPY --from=pre-production /usr/src/app/backend/package.json ./backend/package.json
# # COPY --from=pre-production /usr/src/app/backend/package-lock.json ./backend/package-lock.json
COPY --from=pre-production /usr/src/app/backend/tsconfig.json ./backend/tsconfig.json
COPY --from=pre-production /usr/src/app/backend/tsconfig.build.json ./backend/tsconfig.build.json
COPY --from=pre-production /usr/src/app/backend/dist ./backend/dist
COPY --from=pre-production /usr/src/app/backend/node_modules ./backend/node_modules
# COPY --from=pre-production /usr/src/app/backend/packages ./backend/packages
# VOLUME ./backend/packages
# COPY backend/package.json ./backend/package.json
# COPY backend/package-lock.json ./backend/package-lock.json
# COPY backend/tsconfig.json ./backend/tsconfig.json
# COPY backend/tsconfig.build.json ./backend/tsconfig.build.json
#RUN npm ci --omit dev
RUN mkdir -p ./backend/config
RUN mkdir -p ./backend/plugins
RUN ln -s /usr/src/app/backend/config /config
RUN ln -s /usr/src/app/backend/plugins /plugins
CMD [ "npm", "run", "start:prod" ]