From 6e8ca9d843c806ec339468d42d680a5f27fa7462 Mon Sep 17 00:00:00 2001 From: Tzahi12345 Date: Thu, 5 May 2022 09:27:56 -0400 Subject: [PATCH 01/17] Fixed bug that caused verifyBinaryExistsLinux to crash the server on startup --- backend/youtube-dl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/youtube-dl.js b/backend/youtube-dl.js index a94e566..4e1c5ff 100644 --- a/backend/youtube-dl.js +++ b/backend/youtube-dl.js @@ -90,7 +90,7 @@ exports.updateYoutubeDL = async (latest_update_version) => { exports.verifyBinaryExistsLinux = () => { const details_json = fs.readJSONSync(CONSTS.DETAILS_BIN_PATH); - if (!is_windows && details_json && details_json['path'].includes('.exe')) { + if (!is_windows && details_json && details_json['path'] && details_json['path'].includes('.exe')) { details_json['path'] = 'node_modules/youtube-dl/bin/youtube-dl'; details_json['exec'] = 'youtube-dl'; details_json['version'] = OUTDATED_VERSION; From 5a80b7aafa71d107a1b3bc0c0a4d73f4e3a3bf91 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata S Date: Thu, 5 May 2022 21:39:24 +0700 Subject: [PATCH 02/17] rename to prevent confusion --- docker-build.sh => ffmpeg-fetch.sh | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) rename docker-build.sh => ffmpeg-fetch.sh (67%) diff --git a/docker-build.sh b/ffmpeg-fetch.sh similarity index 67% rename from docker-build.sh rename to ffmpeg-fetch.sh index 2a81d43..4f28e64 100644 --- a/docker-build.sh +++ b/ffmpeg-fetch.sh @@ -22,22 +22,23 @@ esac echo "(INFO) Architecture detected: $ARCH" echo "(1/5) READY - Acquire temp dependencies in ffmpeg obtain layer" -apt-get update && apt-get -y install curl xz-utils +apt update && apt install -y --no-install-recommends wget xz-utils ca-certificates echo "(2/5) DOWNLOAD - Acquire latest ffmpeg and ffprobe from John van Sickle's master-sourced builds in ffmpeg obtain layer" -curl -o ffmpeg.txz \ - --connect-timeout 5 \ - --max-time 10 \ - --retry 5 \ - --retry-delay 0 \ - --retry-max-time 40 \ - "https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-${ARCH}-static.tar.xz" +#curl -o ffmpeg.txz \ +# --connect-timeout 5 \ +# --max-time 10 \ +# --retry 5 \ +# --retry-delay 0 \ +# --retry-max-time 40 \ +# "https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-${ARCH}-static.tar.xz" +wget -O ffmpeg.txz -c -t 10 "https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-${ARCH}-static.tar.xz" mkdir /tmp/ffmpeg tar xf ffmpeg.txz -C /tmp/ffmpeg echo "(3/5) CLEANUP - Remove temp dependencies from ffmpeg obtain layer" -apt-get -y remove curl xz-utils -apt-get -y autoremove +apt -y remove curl xz-utils +apt -y autoremove --purge echo "(4/5) PROVISION - Provide ffmpeg and ffprobe from ffmpeg obtain layer" cp /tmp/ffmpeg/*/ffmpeg /usr/local/bin/ffmpeg cp /tmp/ffmpeg/*/ffprobe /usr/local/bin/ffprobe echo "(5/5) CLEANUP - Remove temporary downloads from ffmpeg obtain layer" -rm -rf /tmp/ffmpeg ffmpeg.txz \ No newline at end of file +rm -rf /tmp/ffmpeg ffmpeg.txz From 6ffa9d1ffd99c1f876c53d7c7610445841e21426 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata S Date: Thu, 5 May 2022 21:42:52 +0700 Subject: [PATCH 03/17] Some clean up and restructure --- Dockerfile | 91 ++++++++++++++++++++---------------------------------- 1 file changed, 34 insertions(+), 57 deletions(-) diff --git a/Dockerfile b/Dockerfile index 47eea8c..9c4b8da 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,74 +1,51 @@ -FROM ubuntu:22.04 AS ffmpeg - +FROM debian:bullseye-slim AS ffmpeg ENV DEBIAN_FRONTEND=noninteractive +COPY ffmpeg-fetch.sh . +RUN sh ./ffmpeg-fetch.sh -COPY docker-build.sh . -RUN sh ./docker-build.sh - -#--------------# Stage 2 - -FROM ubuntu:22.04 as frontend +# Build frontend +FROM node:16-bullseye-slim as frontend ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get update && apt-get -y install \ - curl \ - gnupg \ - # Ubuntu 22.04 ships Node.JS 12 by default :) - nodejs \ - # needed on 21.10 and before, maybe not on 22.04 YARN: brings along npm, solves dependency conflicts, - # spares us this spaghetti approach: https://stackoverflow.com/a/60547197 - npm && \ - apt-get install -f && \ - npm config set strict-ssl false && \ - npm install -g @angular/cli - +RUN npm -g install npm && \ + npm install -g @angular/cli WORKDIR /build -COPY [ "package.json", "package-lock.json", "/build/" ] -RUN npm install - -COPY [ "angular.json", "tsconfig.json", "/build/" ] +COPY [ "package.json", "package-lock.json", "angular.json", "tsconfig.json", "/build/" ] COPY [ "src/", "/build/src/" ] -RUN npm run build +RUN npm install && \ + npm run build -#--------------# Final Stage - -FROM ubuntu:22.04 - -ENV UID=1000 \ - GID=1000 \ - USER=youtube \ - NO_UPDATE_NOTIFIER=true +# Install backend deps +FROM node:16-bullseye-slim as backend +ENV NO_UPDATE_NOTIFIER=true ENV DEBIAN_FRONTEND=noninteractive - -RUN groupadd -g $GID $USER && useradd --system -g $USER --uid $UID $USER - -RUN apt-get update && apt-get -y install \ - npm \ - python2 \ - python3 \ - gosu \ - atomicparsley && \ - apt-get install -f && \ - apt-get autoremove --purge && \ - apt-get autoremove && \ - apt-get clean && \ - rm -rf /var/lib/apt - WORKDIR /app -COPY --chown=$UID:$GID --from=ffmpeg [ "/usr/local/bin/ffmpeg", "/usr/local/bin/ffmpeg" ] -COPY --chown=$UID:$GID --from=ffmpeg [ "/usr/local/bin/ffprobe", "/usr/local/bin/ffprobe" ] COPY --chown=$UID:$GID [ "backend/package.json", "backend/package-lock.json", "/app/" ] -ENV PM2_HOME=/app/pm2 RUN npm config set strict-ssl false && \ - npm install pm2 -g && \ - npm install && chown -R $UID:$GID ./ - -# needed for ubuntu, see #596 -RUN ln -s /usr/bin/python3 /usr/bin/python + npm install --prod +# Final image +FROM node:16-bullseye-slim +ENV NO_UPDATE_NOTIFIER=true +ENV DEBIAN_FRONTEND=noninteractive +ENV PM2_HOME=/app/pm2 +ENV UID=1000 +ENV GID=1000 +RUN npm -g install npm && \ + npm install -g pm2 && \ + apt update && \ + apt install -y --no-install-recommends gosu python3-minimal python-is-python3 atomicparsley ca-certificates && \ + apt clean && \ + rm -rf /var/lib/apt/lists/* +WORKDIR /app +# User 1000 already exist as node +COPY --chown=$UID:$GID --from=ffmpeg [ "/usr/local/bin/ffmpeg", "/usr/local/bin/ffmpeg" ] +COPY --chown=$UID:$GID --from=ffmpeg [ "/usr/local/bin/ffprobe", "/usr/local/bin/ffprobe" ] +COPY --chown=$UID:$GID --from=backend ["/app/","/app/"] COPY --chown=$UID:$GID --from=frontend [ "/build/backend/public/", "/app/public/" ] -COPY --chown=$UID:$GID [ "/backend/", "/app/" ] +# Add some persistence data +VOLUME ["/app/appdata"] EXPOSE 17442 ENTRYPOINT [ "/app/entrypoint.sh" ] From 4bff50a5f0cef38ee399a33154bcaccb97fd78f4 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata S Date: Thu, 5 May 2022 22:02:05 +0700 Subject: [PATCH 04/17] copy all backend --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 9c4b8da..f0cebce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,7 +21,7 @@ FROM node:16-bullseye-slim as backend ENV NO_UPDATE_NOTIFIER=true ENV DEBIAN_FRONTEND=noninteractive WORKDIR /app -COPY --chown=$UID:$GID [ "backend/package.json", "backend/package-lock.json", "/app/" ] +COPY ["backend/", "/app/" ] RUN npm config set strict-ssl false && \ npm install --prod From d2e1b043264d61b9326644c72e401b4b373dba23 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata S Date: Thu, 5 May 2022 23:43:13 +0700 Subject: [PATCH 05/17] check again --- Dockerfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index f0cebce..6fa7570 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,8 @@ WORKDIR /build COPY [ "package.json", "package-lock.json", "angular.json", "tsconfig.json", "/build/" ] COPY [ "src/", "/build/src/" ] RUN npm install && \ - npm run build + npm run build && \ + ls -al backend/public # Install backend deps @@ -21,9 +22,10 @@ FROM node:16-bullseye-slim as backend ENV NO_UPDATE_NOTIFIER=true ENV DEBIAN_FRONTEND=noninteractive WORKDIR /app -COPY ["backend/", "/app/" ] +COPY [ "backend/","/app/" ] RUN npm config set strict-ssl false && \ - npm install --prod + npm install --prod && \ + ls -al # Final image FROM node:16-bullseye-slim From 61991576871af90d8b268981751e7cdab527358a Mon Sep 17 00:00:00 2001 From: Dedy Martadinata S Date: Fri, 6 May 2022 00:02:13 +0700 Subject: [PATCH 06/17] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 6fa7570..2b8e163 100644 --- a/Dockerfile +++ b/Dockerfile @@ -51,4 +51,4 @@ VOLUME ["/app/appdata"] EXPOSE 17442 ENTRYPOINT [ "/app/entrypoint.sh" ] -CMD [ "pm2-runtime", "pm2.config.js" ] +CMD [ "pm2-runtime", "--raw", "pm2.config.js" ] From da226df72a06e6c51d090522a6a54267c5b547dd Mon Sep 17 00:00:00 2001 From: Dedy Martadinata S Date: Fri, 6 May 2022 08:16:48 +0700 Subject: [PATCH 07/17] move to ubuntu as requested Use setup node 16, as LTS im afraid it will jump to node 18 few months later. --- Dockerfile | 50 +++++++++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2b8e163..2518ef0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,26 +1,39 @@ +# When using ubuntu:22.04 there is weird disconnection issue FROM debian:bullseye-slim AS ffmpeg ENV DEBIAN_FRONTEND=noninteractive COPY ffmpeg-fetch.sh . RUN sh ./ffmpeg-fetch.sh - -# Build frontend -FROM node:16-bullseye-slim as frontend +# Create our Ubuntu 22.04 with node 16 +FROM ubuntu:22.04 AS base ENV DEBIAN_FRONTEND=noninteractive -RUN npm -g install npm && \ - npm install -g @angular/cli +ENV UID=1000 +ENV GID=1000 +ENV USER=youtube +ENV NO_UPDATE_NOTIFIER=true +ENV PM2_HOME=/app/pm2 +RUN groupadd -g $GID $USER && useradd --system -g $USER --uid $UID $USER && \ + apt update && \ + apt install -y --no-install-recommends curl ca-certificates && \ + curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && \ + apt install -y --no-install-recommends nodejs && \ + npm -g install npm && \ + apt clean && \ + rm -rf /var/lib/apt/lists/* + +# Build frontend +FROM base as frontend +RUN npm install -g @angular/cli WORKDIR /build COPY [ "package.json", "package-lock.json", "angular.json", "tsconfig.json", "/build/" ] COPY [ "src/", "/build/src/" ] RUN npm install && \ npm run build && \ - ls -al backend/public + ls -al /build/backend/public # Install backend deps -FROM node:16-bullseye-slim as backend -ENV NO_UPDATE_NOTIFIER=true -ENV DEBIAN_FRONTEND=noninteractive +FROM base as backend WORKDIR /app COPY [ "backend/","/app/" ] RUN npm config set strict-ssl false && \ @@ -28,27 +41,22 @@ RUN npm config set strict-ssl false && \ ls -al # Final image -FROM node:16-bullseye-slim -ENV NO_UPDATE_NOTIFIER=true -ENV DEBIAN_FRONTEND=noninteractive -ENV PM2_HOME=/app/pm2 -ENV UID=1000 -ENV GID=1000 -RUN npm -g install npm && \ - npm install -g pm2 && \ +FROM base +RUN npm install -g pm2 && \ apt update && \ - apt install -y --no-install-recommends gosu python3-minimal python-is-python3 atomicparsley ca-certificates && \ + apt install -y --no-install-recommends gosu python3-minimal python-is-python3 atomicparsley && \ apt clean && \ rm -rf /var/lib/apt/lists/* WORKDIR /app -# User 1000 already exist as node +# User 1000 already exist from base image COPY --chown=$UID:$GID --from=ffmpeg [ "/usr/local/bin/ffmpeg", "/usr/local/bin/ffmpeg" ] COPY --chown=$UID:$GID --from=ffmpeg [ "/usr/local/bin/ffprobe", "/usr/local/bin/ffprobe" ] COPY --chown=$UID:$GID --from=backend ["/app/","/app/"] COPY --chown=$UID:$GID --from=frontend [ "/build/backend/public/", "/app/public/" ] -# Add some persistence data + +#Add some persistence data VOLUME ["/app/appdata"] EXPOSE 17442 ENTRYPOINT [ "/app/entrypoint.sh" ] -CMD [ "pm2-runtime", "--raw", "pm2.config.js" ] +CMD [ "pm2-runtime","--raw","pm2.config.js" ] From d37287541f680f358d02210d412bb37aed196111 Mon Sep 17 00:00:00 2001 From: Isaac Abadi Date: Thu, 5 May 2022 21:37:02 -0400 Subject: [PATCH 08/17] Reverted ubuntu version to 20.04 --- Dockerfile | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 47eea8c..fb05cea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:22.04 AS ffmpeg +FROM ubuntu:20.04 AS ffmpeg ENV DEBIAN_FRONTEND=noninteractive @@ -7,17 +7,16 @@ RUN sh ./docker-build.sh #--------------# Stage 2 -FROM ubuntu:22.04 as frontend +FROM ubuntu:20.04 as frontend ENV DEBIAN_FRONTEND=noninteractive + RUN apt-get update && apt-get -y install \ - curl \ - gnupg \ - # Ubuntu 22.04 ships Node.JS 12 by default :) + curl && \ + curl -sL https://deb.nodesource.com/setup_12.x | bash - && \ + apt-get install -y gnupg \ nodejs \ - # needed on 21.10 and before, maybe not on 22.04 YARN: brings along npm, solves dependency conflicts, - # spares us this spaghetti approach: https://stackoverflow.com/a/60547197 - npm && \ + yarn && \ apt-get install -f && \ npm config set strict-ssl false && \ npm install -g @angular/cli @@ -32,7 +31,7 @@ RUN npm run build #--------------# Final Stage -FROM ubuntu:22.04 +FROM ubuntu:20.04 ENV UID=1000 \ GID=1000 \ From 02f758c33da1081166b8548f787ef5483e63de5f Mon Sep 17 00:00:00 2001 From: Tzahi12345 Date: Thu, 5 May 2022 07:08:32 +0000 Subject: [PATCH 09/17] Translated using Weblate (Spanish) Currently translated at 81.4% (264 of 324 strings) Translation: YoutubeDL-Material/ytdl-material Translate-URL: https://hosted.weblate.org/projects/youtubedl-material/ytdl-material/es/ --- src/assets/i18n/messages.es.xlf | 194 +++++++++++++++++++++++++++++++- 1 file changed, 193 insertions(+), 1 deletion(-) diff --git a/src/assets/i18n/messages.es.xlf b/src/assets/i18n/messages.es.xlf index bcf54aa..e26c1df 100644 --- a/src/assets/i18n/messages.es.xlf +++ b/src/assets/i18n/messages.es.xlf @@ -1,4 +1,4 @@ - + @@ -1630,6 +1630,198 @@ 469 + + Date + Fecha + + src/app/components/downloads/downloads.component.html + 7 + + Date + + + Title + Título + + src/app/components/downloads/downloads.component.html + 13 + + + src/app/components/tasks/tasks.component.html + 6 + + Title + + + Subscription + Suscripción + + src/app/components/downloads/downloads.component.html + 23 + + Subscription + + + Progress + Progreso + + src/app/components/downloads/downloads.component.html + 42 + + Progress + + + Tasks + Tareas + + src/app/app.component.html + 47 + + Navigation menu Tasks Page title + + + Watch content + Ver archivo + + src/app/components/downloads/downloads.component.html + 64 + + Watch content + + + Creating download + Creando descarga + + src/app/components/downloads/downloads.component.ts + 58 + + + + Resume all downloads + Reanudar todas las descargas + + src/app/components/downloads/downloads.component.html + 84 + + Resume all downloads + + + Stage + Etapa + + src/app/components/downloads/downloads.component.html + 36 + + Stage + + + Actions + Acciones + + src/app/components/downloads/downloads.component.html + 55 + + + src/app/components/tasks/tasks.component.html + 49 + + Actions + + + Pause + Pausa + + src/app/components/downloads/downloads.component.html + 59 + + Pause + + + Clear + Quitar + + src/app/components/downloads/downloads.component.html + 68 + + Clear + + + Resume + Resumir + + src/app/components/downloads/downloads.component.html + 60 + + Resume + + + Restart + Reanudar + + src/app/components/downloads/downloads.component.html + 66 + + Restart + + + Pause all downloads + Pausar todas las descargas + + src/app/components/downloads/downloads.component.html + 83 + + Pause all downloads + + + Downloading file + Descargando archivo + + src/app/components/downloads/downloads.component.ts + 60 + + + + Show error + Mostrar error + + src/app/components/downloads/downloads.component.html + 65 + + Show error + + + Clear finished downloads + Quitar descargas finalizadas + + src/app/components/downloads/downloads.component.html + 85 + + Clear finished downloads + + + Getting info + Cogiendo info + + src/app/components/downloads/downloads.component.ts + 59 + + + + Complete + Completo + + src/app/components/downloads/downloads.component.ts + 61 + + + + Clear finished downloads + Borrar descargas terminadas + + src/app/components/downloads/downloads.component.ts + 129 + + From 7f4119febe80fd3af3b43546242b9b0c0aea04c8 Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 5 May 2022 07:07:05 +0000 Subject: [PATCH 10/17] Translated using Weblate (Chinese (Simplified)) Currently translated at 75.3% (244 of 324 strings) Translation: YoutubeDL-Material/ytdl-material Translate-URL: https://hosted.weblate.org/projects/youtubedl-material/ytdl-material/zh_Hans/ --- src/assets/i18n/messages.zh.xlf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/i18n/messages.zh.xlf b/src/assets/i18n/messages.zh.xlf index be003db..5ed8f19 100644 --- a/src/assets/i18n/messages.zh.xlf +++ b/src/assets/i18n/messages.zh.xlf @@ -733,7 +733,7 @@ Subscriptions base path - 订阅文件路径 + 订阅基路径 app/settings/settings.component.html 72 From 95203a47d03264f2ebcc642c9d168d64320368e9 Mon Sep 17 00:00:00 2001 From: Heimen Stoffels Date: Thu, 5 May 2022 11:52:02 +0000 Subject: [PATCH 11/17] Translated using Weblate (Dutch) Currently translated at 100.0% (324 of 324 strings) Translation: YoutubeDL-Material/ytdl-material Translate-URL: https://hosted.weblate.org/projects/youtubedl-material/ytdl-material/nl/ --- src/assets/i18n/messages.nl.xlf | 300 +++++++++++++++++++++++++++++++- 1 file changed, 295 insertions(+), 5 deletions(-) diff --git a/src/assets/i18n/messages.nl.xlf b/src/assets/i18n/messages.nl.xlf index 03cb155..829af1c 100644 --- a/src/assets/i18n/messages.nl.xlf +++ b/src/assets/i18n/messages.nl.xlf @@ -1392,7 +1392,7 @@ Allow subscriptions setting - Base bath for subscriptions + Subscriptions base path Abonnementenbasispad src/app/settings/settings.component.html @@ -2854,8 +2854,8 @@ - Error for - Foutmelding bij + Error for + Foutmelding bij src/app/components/downloads/downloads.component.ts 238 @@ -3097,13 +3097,303 @@ Autoplay checkbox - Download for has been queued! - staat in de wachtrij! + Download for has been queued! + staat in de wachtrij! src/app/main/main.component.ts 469 + + Tasks + Taken + + src/app/app.component.html + 47 + + Navigation menu Tasks Page title + + + N/A + n/b + + src/app/components/tasks/tasks.component.html + 19 + + + src/app/components/tasks/tasks.component.html + 28 + + N/A + + + Last confirmed + Laatst bevestigd: + + src/app/components/tasks/tasks.component.html + 25 + + Last confirmed + + + Status + Status + + src/app/components/tasks/tasks.component.html + 34 + + Status + + + Busy + Bezig + + src/app/components/tasks/tasks.component.html + 36 + + Busy + + + Not scheduled + Niet ingepland + + src/app/components/tasks/tasks.component.html + 42 + + Not scheduled + + + Clear missing files from DB: + Ontbrekende bestanden wissen uit DB: + + src/app/components/tasks/tasks.component.html + 57 + + Clear missing files from DB + + + Clear duplicate files from DB: + Gedupliceerde bestanden wissen uit DB: + + src/app/components/tasks/tasks.component.html + 60 + + Clear duplicate files from DB + + + Update binary to: + Uitvoerbaar bestand bijwerken naar + + src/app/components/tasks/tasks.component.html + 63 + + Update binary to + + + Run + Uitvoeren + + src/app/components/tasks/tasks.component.html + 69 + + Run + + + Schedule + Inplannen + + src/app/components/tasks/tasks.component.html + 72 + + Schedule + + + Failed to run task! + De taak kan niet worden uitgevoerd! + + src/app/components/tasks/tasks.component.ts + 79 + + + src/app/components/tasks/tasks.component.ts + 81 + + + + Successfully confirmed task! + De taak is bevestigd! + + src/app/components/tasks/tasks.component.ts + 89 + + + + Failed to confirm task! + De taak kan niet worden bevestigd! + + src/app/components/tasks/tasks.component.ts + 90 + + + src/app/components/tasks/tasks.component.ts + 92 + + + + Would you like to reset your tasks? All your schedules will be removed as well. + Weet je zeker dat je alle taken wilt herstellen? Alle schema's worden hierdoor gewist. + + src/app/components/tasks/tasks.component.ts + 133 + + + + Reset + Herstellen + + src/app/components/tasks/tasks.component.ts + 134 + + + + Failed to reset tasks! + De taken kunnen niet worden hersteld! + + src/app/components/tasks/tasks.component.ts + 144 + + + src/app/components/tasks/tasks.component.ts + 147 + + + + Restore + Herstellen + + src/app/dialogs/restore-db-dialog/restore-db-dialog.component.html + 25 + + Restore button + + + Update task schedule + Taakschema bijwerken + + src/app/dialogs/update-task-schedule-dialog/update-task-schedule-dialog.component.html + 1 + + Update task schedule + + + Enabled + Ingeschakeld + + src/app/dialogs/update-task-schedule-dialog/update-task-schedule-dialog.component.html + 7 + + Enabled + + + Recurring + Herhalen + + src/app/dialogs/update-task-schedule-dialog/update-task-schedule-dialog.component.html + 10 + + Recurring + + + Update + Bijwerken + + src/app/dialogs/update-task-schedule-dialog/update-task-schedule-dialog.component.html + 52 + + Update button + + + Last ran + Laatst uitgevoerd: + + src/app/components/tasks/tasks.component.html + 16 + + Last ran + + + Scheduled for + Ingepland om + + src/app/components/tasks/tasks.component.html + 38 + + Scheduled + + + Restore DB from backup + DB herstellen uit back-up + + src/app/components/tasks/tasks.component.html + 89 + + + src/app/dialogs/restore-db-dialog/restore-db-dialog.component.html + 1 + + Restore DB from backup button + + + Reset tasks + Taken herstellen + + src/app/components/tasks/tasks.component.ts + 132 + + + + Successfully ran task! + De taak is uitgevoerd! + + src/app/components/tasks/tasks.component.ts + 78 + + + + Reset tasks + Taken herstellen + + src/app/components/tasks/tasks.component.html + 90 + + Reset tasks button + + + No tasks available! + Er zijn geen taken beschikbaar! + + src/app/components/tasks/tasks.component.html + 94 + + No tasks label + + + Tasks successfully reset! + De taken zijn hersteld! + + src/app/components/tasks/tasks.component.ts + 142 + + + + Global custom args for downloads on the home page. (Set args for subscriptions for each subscriptions separately!) Args are delimited using two commas like so: ,, + Globale aanvullende opties voor downloades. (Stel ze per abonnement in!) Scheid de opties met twee komma's, dus ,, + + src/app/settings/settings.component.html + 128 + + Custom args setting input hint + From 2678215e08b161e847d15dd6d9942c52d551d930 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata S Date: Sat, 7 May 2022 10:34:27 +0700 Subject: [PATCH 12/17] fetch ffmpeg without script --- Dockerfile | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2518ef0..2c30479 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,21 @@ -# When using ubuntu:22.04 there is weird disconnection issue -FROM debian:bullseye-slim AS ffmpeg +FROM ubuntu:22.04 AS ffmpeg +ARG TARGETPLATFORM ENV DEBIAN_FRONTEND=noninteractive -COPY ffmpeg-fetch.sh . -RUN sh ./ffmpeg-fetch.sh +#COPY ffmpeg-fetch.sh . +#RUN sh ./ffmpeg-fetch.sh +RUN apt update && \ + apt install -y --no-install-recommends wget xz-utils ca-certificates +RUN case ${TARGETPLATFORM} in \ + "linux/amd64") ARCH=amd64 ;; \ + "linux/arm64") ARCH=arm64 ;; \ + "linux/arm/v7") ARCH=armhf ;; \ + esac \ + && wget -O ffmpeg.txz -c -t 10 "https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-${ARCH}-static.tar.xz" && \ + mkdir /tmp/ffmpeg && \ + tar xf ffmpeg.txz -C /tmp/ffmpeg && \ + cp /tmp/ffmpeg/*/ffmpeg /usr/local/bin/ffmpeg && \ + cp /tmp/ffmpeg/*/ffprobe /usr/local/bin/ffprobe + # Create our Ubuntu 22.04 with node 16 FROM ubuntu:22.04 AS base @@ -53,9 +66,8 @@ COPY --chown=$UID:$GID --from=ffmpeg [ "/usr/local/bin/ffmpeg", "/usr/local/bin/ COPY --chown=$UID:$GID --from=ffmpeg [ "/usr/local/bin/ffprobe", "/usr/local/bin/ffprobe" ] COPY --chown=$UID:$GID --from=backend ["/app/","/app/"] COPY --chown=$UID:$GID --from=frontend [ "/build/backend/public/", "/app/public/" ] - -#Add some persistence data -VOLUME ["/app/appdata"] +# Add some persistence data +#VOLUME ["/app/appdata"] EXPOSE 17442 ENTRYPOINT [ "/app/entrypoint.sh" ] From d6f5b87d3f2c58b2ff159d0d3e64a4799cef6e96 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata S Date: Sat, 7 May 2022 10:41:53 +0700 Subject: [PATCH 13/17] also correctly create user home --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2c30479..6b5bd3f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,7 +25,7 @@ ENV GID=1000 ENV USER=youtube ENV NO_UPDATE_NOTIFIER=true ENV PM2_HOME=/app/pm2 -RUN groupadd -g $GID $USER && useradd --system -g $USER --uid $UID $USER && \ +RUN groupadd -g $GID $USER && useradd --system -m -g $USER --uid $UID $USER && \ apt update && \ apt install -y --no-install-recommends curl ca-certificates && \ curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && \ From a57a25133c0f5e893074127a4a2ef5e818481cb0 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata S Date: Sat, 7 May 2022 10:57:47 +0700 Subject: [PATCH 14/17] go to 20.04 --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 6b5bd3f..e249a8a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,7 +18,8 @@ RUN case ${TARGETPLATFORM} in \ # Create our Ubuntu 22.04 with node 16 -FROM ubuntu:22.04 AS base +# Go to 20.04 +FROM ubuntu:20.04 AS base ENV DEBIAN_FRONTEND=noninteractive ENV UID=1000 ENV GID=1000 From a21dc85d154366fb80efdf98217714ae0bd0050f Mon Sep 17 00:00:00 2001 From: Dedy Martadinata S Date: Sat, 7 May 2022 12:10:23 +0700 Subject: [PATCH 15/17] revert script --- ffmpeg-fetch.sh | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/ffmpeg-fetch.sh b/ffmpeg-fetch.sh index 4f28e64..3b1ac78 100644 --- a/ffmpeg-fetch.sh +++ b/ffmpeg-fetch.sh @@ -22,21 +22,20 @@ esac echo "(INFO) Architecture detected: $ARCH" echo "(1/5) READY - Acquire temp dependencies in ffmpeg obtain layer" -apt update && apt install -y --no-install-recommends wget xz-utils ca-certificates +apt-get update && apt-get -y install curl xz-utils echo "(2/5) DOWNLOAD - Acquire latest ffmpeg and ffprobe from John van Sickle's master-sourced builds in ffmpeg obtain layer" -#curl -o ffmpeg.txz \ -# --connect-timeout 5 \ -# --max-time 10 \ -# --retry 5 \ -# --retry-delay 0 \ -# --retry-max-time 40 \ -# "https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-${ARCH}-static.tar.xz" -wget -O ffmpeg.txz -c -t 10 "https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-${ARCH}-static.tar.xz" +curl -o ffmpeg.txz \ + --connect-timeout 5 \ + --max-time 10 \ + --retry 5 \ + --retry-delay 0 \ + --retry-max-time 40 \ + "https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-${ARCH}-static.tar.xz" mkdir /tmp/ffmpeg tar xf ffmpeg.txz -C /tmp/ffmpeg echo "(3/5) CLEANUP - Remove temp dependencies from ffmpeg obtain layer" -apt -y remove curl xz-utils -apt -y autoremove --purge +apt-get -y remove curl xz-utils +apt-get -y autoremove echo "(4/5) PROVISION - Provide ffmpeg and ffprobe from ffmpeg obtain layer" cp /tmp/ffmpeg/*/ffmpeg /usr/local/bin/ffmpeg cp /tmp/ffmpeg/*/ffprobe /usr/local/bin/ffprobe From 5d9cb19bded30ef0dc91520bf0a5f68337f8b49e Mon Sep 17 00:00:00 2001 From: Dedy Martadinata S Date: Sat, 7 May 2022 12:21:05 +0700 Subject: [PATCH 16/17] Update Dockerfile --- Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index e249a8a..5ff1c67 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,12 @@ +# Fetching our ffmpeg FROM ubuntu:22.04 AS ffmpeg ARG TARGETPLATFORM ENV DEBIAN_FRONTEND=noninteractive -#COPY ffmpeg-fetch.sh . -#RUN sh ./ffmpeg-fetch.sh RUN apt update && \ apt install -y --no-install-recommends wget xz-utils ca-certificates +# Disable using ffmpeg-fetch.sh and integrate in Dockerfile, in case of err 'mismatcth platform' we enable this for counter measure. +#COPY ffmpeg-fetch.sh . +#RUN sh ./ffmpeg-fetch.sh RUN case ${TARGETPLATFORM} in \ "linux/amd64") ARCH=amd64 ;; \ "linux/arm64") ARCH=arm64 ;; \ From 7333edf6c8ee5d003b0cb2b153f8e460c1fb2b1f Mon Sep 17 00:00:00 2001 From: Dedy Martadinata S Date: Sat, 7 May 2022 12:31:52 +0700 Subject: [PATCH 17/17] Update Dockerfile --- Dockerfile | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5ff1c67..6b97c09 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,9 @@ # Fetching our ffmpeg FROM ubuntu:22.04 AS ffmpeg -ARG TARGETPLATFORM ENV DEBIAN_FRONTEND=noninteractive -RUN apt update && \ - apt install -y --no-install-recommends wget xz-utils ca-certificates -# Disable using ffmpeg-fetch.sh and integrate in Dockerfile, in case of err 'mismatcth platform' we enable this for counter measure. -#COPY ffmpeg-fetch.sh . -#RUN sh ./ffmpeg-fetch.sh -RUN case ${TARGETPLATFORM} in \ - "linux/amd64") ARCH=amd64 ;; \ - "linux/arm64") ARCH=arm64 ;; \ - "linux/arm/v7") ARCH=armhf ;; \ - esac \ - && wget -O ffmpeg.txz -c -t 10 "https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-${ARCH}-static.tar.xz" && \ - mkdir /tmp/ffmpeg && \ - tar xf ffmpeg.txz -C /tmp/ffmpeg && \ - cp /tmp/ffmpeg/*/ffmpeg /usr/local/bin/ffmpeg && \ - cp /tmp/ffmpeg/*/ffprobe /usr/local/bin/ffprobe - +# Use script due local build compability +COPY ffmpeg-fetch.sh . +RUN sh ./ffmpeg-fetch.sh # Create our Ubuntu 22.04 with node 16 # Go to 20.04