diff --git a/Dockerfile b/Dockerfile index 3ad786b..b1a9d63 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,19 @@ -FROM node:16-bullseye +FROM node:16-alpine3.15 RUN mkdir -p /usr/src/yt-dlp-webui/download VOLUME /usr/src/yt-dlp-webui/downloads WORKDIR /usr/src/yt-dlp-webui COPY package*.json ./ -RUN apt-get update -RUN apt-get install curl psmisc wget -y -RUN npm install -RUN wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz -RUN tar -xf ffmpeg-release-amd64-static.tar.xz -RUN mv ./ffmpeg-5.0-amd64-static/ff* /usr/bin +# install core dependencies +RUN apk update +RUN apk add curl wget psmisc python3 ffmpeg COPY . . RUN chmod +x ./fetch-yt-dlp.sh +# install node dependencies +RUN npm install RUN npm run build-all +# cleanup +RUN npm remove parcel react react-dom react-bootstrap react-bootstrap-icons RUN rm -rf .parcel-cache +# expose and run EXPOSE 3022 CMD [ "node" , "./dist/main.js" ] diff --git a/README.md b/README.md index 7f3ba34..f929e64 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ I will eventually make this better as soon as I can. Not in the immediate. Changelog: ``` -02/03/22: cut-down docker container size by using ffmpeg static builds +03/03/22: cut-down image size by switching to Alpine linux based container 01/03/22: Chinese translation by deluxghost @@ -66,7 +66,4 @@ node dist/main.js ## Todo list - ~~retrieve background tasks~~ - format selection -- better ui/ux - - -_static ffmpeg builds by johnvansickle https://johnvansickle.com/ffmpeg/_ \ No newline at end of file +- better ui/ux \ No newline at end of file diff --git a/fetch-yt-dlp.sh b/fetch-yt-dlp.sh index c8264c1..ef88e99 100755 --- a/fetch-yt-dlp.sh +++ b/fetch-yt-dlp.sh @@ -1,13 +1,10 @@ -#!/bin/bash +#!/bin/sh echo "Downloading latest yt-dlp build..." rm -f yt-dlp -RELEASE=$(curl --silent "https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest" | - grep '"tag_name":' | - sed -E 's/.*"([^"]+)".*/\1/' -) +RELEASE=$(curl --silent "https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') wget "https://github.com/yt-dlp/yt-dlp/releases/download/$RELEASE/yt-dlp"