# Use node alpine docker image FROM docker.io/node:22-alpine LABEL org.opencontainers.image.source="https://github.com/jesec/flood" ARG PACKAGE_TARBALL=artifacts/flood.tgz # Install the provided package tarball from the build artifact COPY ${PACKAGE_TARBALL} /tmp/flood.tgz RUN npm i -g /tmp/flood.tgz &&\ node --version &&\ npm ls --global &&\ npm cache clean --force # Install runtime dependencies RUN apk --no-cache add \ mediainfo \ tini \ coreutils # Create "download" user RUN adduser -h /home/download -s /sbin/nologin --disabled-password download # Run as "download" user USER download # Expose port 3000 EXPOSE 3000 # Flood ENV FLOOD_OPTION_HOST="::" ENTRYPOINT ["/sbin/tini", "--", "flood"]