Files
youtube-dl-web/Dockerfile

45 lines
978 B
Docker

# create build from source
FROM python:3 AS build
WORKDIR /build
RUN set -xe \
&& apt-get update -y \
&& apt-get install -y zip pandoc \
&& curl -L https://github.com/ytdl-org/youtube-dl/archive/master.zip -o youtube-dl-master.zip \
&& unzip youtube-dl-master.zip
WORKDIR /build/youtube-dl-master
RUN set -xe \
&& make
# add the build to the web container
FROM node:12-alpine
WORKDIR /app
# copy the build
COPY --from=build /build/youtube-dl-master/youtube-dl /usr/local/bin
# install dependencies
RUN set -xe \
&& chmod a+rx /usr/local/bin/youtube-dl \
&& apk add --no-cache ca-certificates \
ffmpeg \
openssl \
python3 \
&& ln -s /usr/bin/python3 /usr/bin/python
# install app dependencies
RUN npm install -g yarn
COPY package.json yarn.lock ./
RUN yarn install
ENV NODE_ENV=development
COPY . .
VOLUME /app/data
EXPOSE 8080
ENTRYPOINT ["yarn", "start"]