diff --git a/Dockerfile b/Dockerfile index d14553a..356d6af 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,29 @@ -FROM node:22-slim +# /Dockerfile +FROM node:20-slim -# yt-dlp installieren -RUN apt-get update && apt-get install -y curl ca-certificates \ - && curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp \ - && chmod a+rx /usr/local/bin/yt-dlp \ - && apt-get clean && rm -rf /var/lib/apt/lists/* +# System-Tools + Python3 für yt-dlp + optional ffmpeg +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + python3 \ + ca-certificates \ + curl \ + ffmpeg \ + && rm -rf /var/lib/apt/lists/* + +# yt-dlp installieren (Release-Binary) +RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp \ + -o /usr/local/bin/yt-dlp \ + && chmod a+rx /usr/local/bin/yt-dlp WORKDIR /app + +# Dependencies installieren COPY package.json package-lock.json* ./ RUN npm ci || npm i + +# App-Code COPY . . -ENV PORT=3000y +ENV PORT=3000 EXPOSE 3000 -CMD ["npm","start"] +CMD ["npm","start"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 37853a2..a81974c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,8 @@ services: vrc-ytdlp-resolver: image: mrunknownde/vrc-ytdlp-resolver container_name: vrc-ytdlp-resolver + environment: + PORT: "3000" ports: - "3000:3000" restart: unless-stopped diff --git a/package-lock.json b/package-lock.json index 8c47596..f758bd4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "vrc-ytdlp-export", + "name": "vrc-ytdlp-resolver", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "vrc-ytdlp-export", + "name": "vrc-ytdlp-resolver", "version": "1.0.0", "dependencies": { "express": "^4.21.1", diff --git a/package.json b/package.json index 4a05a28..78dbf71 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "vrc-ytdlp-export", + "name": "vrc-ytdlp-resolver", "version": "1.0.0", "private": true, "type": "module",