Spaces:
Paused
Paused
ARG NODE_VERSION=20.11.1 | |
ARG PNPM_VERSION=8.15.4 | |
ARG TS_VERSION=5.3.3 | |
# Builder stage | |
FROM node:${NODE_VERSION} as build | |
WORKDIR /usr/src/app | |
RUN npm install -g typescript@${TS_VERSION} | |
RUN npm install -g pnpm@${PNPM_VERSION} | |
COPY package.json pnpm-lock.yaml ./ | |
COPY patches ./patches | |
COPY . . | |
RUN pnpm prune --prod | |
# Runner stage | |
FRM node:${NODE_VERSION}-slim as final | |
WORKDIR /usr/src/app | |
COPY package.json | |
ENV NODE_ENV production | |
ENV PORT 7860 | |
ENV DOWNLOAD_DIR /data | |
ENV KEEP_DOWNLOADED_FILES false | |
ENV MAX_CONNS_PER_TORRENT 50 | |
ENV DOWNLOAD_SPEED_LIMIT 20971520 | |
ENV UPLOAD_SPEED_LIMIT 1048576 | |
ENV SEED_TIME 60000 | |
ENV TORRENT_TIMEOUT 5000 | |
VOLUME /data | |
RUN mkdir -p /data && \ | |
chown -R node:node /data && \ | |
chmod -R 755 /usr/src/app | |
USER node | |
EXPOSE 7860 | |
CMD ["node", "--no-warnings", "dist/index.js"] | |