Install yt-dlp in node:16.3.0-alpine base image

62 Views Asked by At

This is my Dockerimage:

FROM node:16.3.0-alpine

WORKDIR /home/node/app

RUN apk update
RUN apk upgrade
RUN apk add --no-cache ffmpeg
RUN apk add --no-cache python3
RUN apk add --no-cache yt-dlp

When I try to build it fails at the yt-dlp step:

fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz
ERROR: unable to select packages:
  yt-dlp (no such package):
    required by: world[yt-dlp]
The command '/bin/sh -c apk add --no-cache yt-dlp' returned a non-zero code: 1

I don't understand why it can't find the package since it clearly exist in the community repo, which is enabled by default in the alpine image I'm using.

PD: I need the node base image to be version 16 because the app I'm trying to run (wiki.js in its last stable release) runs in node 16

1

There are 1 best solutions below

0
Sebastian Liebscher On BEST ANSWER

By using the latest Node 16 version 16.20 you can successfully use yt-dlp.

Here is a working Dockerfile:

FROM node:16-alpine
RUN apk update && apk add --no-cache yt-dlp