Alpine's HandBrake package depends on both ffmpeg 8.x AND ffmpeg7 7.x, doubling the ffmpeg CVE surface. HandBrake is optional (ffmpeg handles encoding by default), so remove it from the default image. - Dockerfile: ffmpeg + openssh-client only (removes ffmpeg7 family) - Dockerfile.handbrake: new variant for users who need HandBrake presets or forced-subtitle burn-in; carries the known higher CVE count Docker Hub tags: pyr0ball/discarr:latest / 0.1.2 — lean, ffmpeg only pyr0ball/discarr:handbrake — includes HandBrake (more CVEs)
24 lines
707 B
Text
24 lines
707 B
Text
# Discarr — HandBrake variant
|
|
# Includes HandBrake for preset-based encoding and forced-subtitle burn-in.
|
|
# NOTE: Alpine's HandBrake package depends on both ffmpeg 8.x AND ffmpeg 7.x,
|
|
# which increases the CVE surface area compared to the default image.
|
|
# Use this variant only if you specifically need HandBrake features.
|
|
#
|
|
# Build: docker build -f Dockerfile.handbrake -t pyr0ball/discarr:handbrake .
|
|
|
|
FROM node:22-alpine
|
|
|
|
RUN apk upgrade --no-cache && \
|
|
apk add --no-cache \
|
|
ffmpeg \
|
|
handbrake \
|
|
openssh-client
|
|
|
|
RUN npm install -g npm@latest && npm cache clean --force
|
|
|
|
WORKDIR /app
|
|
COPY server.js scanner.js ./
|
|
COPY public/ ./public/
|
|
|
|
EXPOSE 8603
|
|
CMD ["node", "server.js"]
|