From 8738b13cd11b625c11aea7d8a6b4440b6b7a9892 Mon Sep 17 00:00:00 2001 From: GlassedSilver Date: Thu, 5 May 2022 00:38:40 +0200 Subject: [PATCH 01/12] Usage of PM2 Cluster Mode to increase performance --- backend/pm2.config.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/pm2.config.js b/backend/pm2.config.js index af9fea2..9e13963 100644 --- a/backend/pm2.config.js +++ b/backend/pm2.config.js @@ -2,6 +2,8 @@ module.exports = { apps : [{ name : "YoutubeDL-Material", script : "./app.js", + instances: 0, + exec_mode: "cluster", watch : "placeholder", out_file: "/dev/null", error_file: "/dev/null" From 9ab15dd5dd43a72c60e21662d7817293eed941c2 Mon Sep 17 00:00:00 2001 From: GlassedSilver Date: Thu, 5 May 2022 13:24:35 +0200 Subject: [PATCH 02/12] Added weekly (TUES) Docker Build and Push --- .github/workflows/docker-weekly.yml | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/docker-weekly.yml diff --git a/.github/workflows/docker-weekly.yml b/.github/workflows/docker-weekly.yml new file mode 100644 index 0000000..f768482 --- /dev/null +++ b/.github/workflows/docker-weekly.yml @@ -0,0 +1,47 @@ +name: docker-weekly + +on: + schedule: + - cron: '34 4 * * 2' + workflow_dispatch: + +jobs: + build-and-push: + runs-on: ubuntu-latest + steps: + - name: checkout code + uses: actions/checkout@v2 + - name: Set hash + id: vars + run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + - name: Get current date + id: date + run: echo "::set-output name=date::$(date +'%Y-%m-%d')" + - name: create-json + id: create-json + uses: jsdaniell/create-json@1.1.2 + with: + name: "version.json" + json: '{"type": "docker", "tag": "${{secrets.DOCKERHUB_MASTER_TAG}}", "commit": "${{ steps.vars.outputs.sha_short }}", "date": "${{ steps.date.outputs.date }}"}' + dir: 'backend/' + - name: setup platform emulator + uses: docker/setup-qemu-action@v1 + - name: setup multi-arch docker build + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: build & push images + uses: docker/build-push-action@v2 + with: + context: . + file: ./Dockerfile + platforms: linux/amd64,linux/arm,linux/arm64/v8 + push: true + # Defaults: + # DOCKERHUB_USERNAME : tzahi12345 + # DOCKERHUB_REPO : youtubedl-material + # DOCKERHUB_MASTER_TAG: nightly + tags: ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}:${{secrets.DOCKERHUB_MASTER_TAG}} From feff8b246147cda61ee92372136990d709647c0d Mon Sep 17 00:00:00 2001 From: Glassed Silver Date: Thu, 5 May 2022 18:24:06 +0200 Subject: [PATCH 03/12] revert pm2 config cluster_mode at least for now, implementation needs more research --- backend/pm2.config.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/backend/pm2.config.js b/backend/pm2.config.js index 9e13963..2d2aec4 100644 --- a/backend/pm2.config.js +++ b/backend/pm2.config.js @@ -2,10 +2,8 @@ module.exports = { apps : [{ name : "YoutubeDL-Material", script : "./app.js", - instances: 0, - exec_mode: "cluster", watch : "placeholder", out_file: "/dev/null", error_file: "/dev/null" }] -} \ No newline at end of file +} From 301d8a6ae3f2a032648b5b552fc8ca18eefb89ad Mon Sep 17 00:00:00 2001 From: GlassedSilver Date: Mon, 9 May 2022 06:04:21 +0200 Subject: [PATCH 04/12] Adding fix script for dupe lines in archives --- .../002-fix_dupes_per_archive_file.sh | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 backend/fix-scripts/002-fix_dupes_per_archive_file.sh diff --git a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh new file mode 100644 index 0000000..a2bd2e7 --- /dev/null +++ b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh @@ -0,0 +1,137 @@ +#!/bin/sh + +# INTERACTIVE ARCHIVE-DUPE-ENTRY FIX SCRIPT FOR YTDL-M +# Date: 2022-05-09 + +# If you want to run this script on a bare-metal installation instead of within Docker +# make sure that the paths configured below match your paths! (it's wise to use the full paths) +# USAGE: within your container's bash shell: +# chmod -R +x ./fix-scripts/ +# ./fix-scripts/ + +# User defines (NO TRAILING SLASHES) / Docker env defaults +PATH_SUBSARCHIVE=/app/subscriptions/archives +PATH_ONEOFFARCHIVE=/app/appdata/archives + +# Backup paths (substitute with your personal preference if you like) +PATH_SUBSARCHIVEBKP=$PATH_SUBSARCHIVE-$(date +%Y%m%d) +PATH_ONEOFFARCHIVEBKP=$PATH_ONEOFFARCHIVE-$(date +%Y%m%d) + + +# Define Colors for TUI +yellow=$(tput setaf 3) +normal=$(tput sgr0) + +tput civis # hide the cursor + +clear -x +printf "\n" +printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' - # horizontal line +printf "Welcome to the INTERACTIVE ARCHIVE-DUPE-ENTRY FIX SCRIPT FOR YTDL-M." +printf "\nThis script will cycle through the archive files in the folders mentioned" +printf "\nbelow and remove within each archive the dupe entries. (compact them)" +printf "\nDuring some older builds of YTDL-M the archives could receive dupe" +printf "\nentries and blow up in size, sometimes causing conflicts with download management." +printf '\n%*s' "${COLUMNS:-$(tput cols)}" '' | tr ' ' - # horizontal line +printf "\n" + +# check whether dirs exist +i=0 +[ -d $PATH_SUBSARCHIVE ] && i=$((i+1)) && printf "\n✔ (${i}/2) Found Subscriptions archive directory at ${PATH_SUBSARCHIVE}" +[ -d $PATH_ONEOFFARCHIVE ] && i=$((i+1)) && printf "\n✔ (${i}/2) Found one-off archive directory at ${PATH_ONEOFFARCHIVE}" + +# Ask to proceed or cancel, exit on missing paths +case $i in + 0) + printf "\n\n Couldn't find any archive location path to fix dupes for! \n\nPlease edit this script to configure!" + tput cnorm + exit 2;; + 2) + printf "\n\n Found all archive locations to fix dupes for. \n\nProceed? (Y/N)";; + *) + printf "\n\n Only found ${i} out of 2 archive locations! Something about this script's config must be wrong. \n\nProceed anyways? (Y/N)";; +esac +old_stty_cfg=$(stty -g) +stty raw -echo ; answer=$(head -c 1) ; stty $old_stty_cfg # Careful playing with stty +if echo "$answer" | grep -iq "^y" ;then + printf "\nRunning jobs now... (this may take a while)\n" + + printf "\nBacking up directories...\n" + + chars="⣾⣽⣻⢿⡿⣟⣯⣷" + cp -R $PATH_SUBSARCHIVE $PATH_SUBSARCHIVEBKP & + PID=$! + i=1 + echo -n ' ' + while [ -d /proc/$PID ] + do + printf "${yellow}\b${chars:i++%${#chars}:1}${normal}" + sleep 0.15 + done + [ -d $PATH_SUBSARCHIVEBKP ] && printf "\r✔ Backed up ${PATH_SUBSARCHIVE} to ${PATH_SUBSARCHIVEBKP} ($(du -sh $PATH_SUBSARCHIVEBKP | cut -f1))\n" + + cp -R $PATH_ONEOFFARCHIVE $PATH_ONEOFFARCHIVEBKP & + PID2=$! + i=1 + echo -n ' ' + while [ -d /proc/$PID2 ] + do + printf "${yellow}\b${chars:i++%${#chars}:1}${normal}" + sleep 0.1 + done + [ -d $PATH_ONEOFFARCHIVEBKP ] && printf "\r✔ Backed up ${PATH_ONEOFFARCHIVE} to ${PATH_ONEOFFARCHIVEBKP} ($(du -sh $PATH_ONEOFFARCHIVEBKP | cut -f1))\n" + + + printf "\nCompacting files...\n" + + tmpfile=$(mktemp) && + + [ -d $PATH_SUBSARCHIVE ] && + find $PATH_SUBSARCHIVE -name '*.txt' -print0 | while read -d $'\0' file # Set delimiter to null because we want to catch all possible filenames (WE CANNOT CHANGE IFS HERE) - https://stackoverflow.com/a/15931055 + do + cp "$file" "$tmpfile" + { awk '!x[$0]++' "$tmpfile" > "$file"; } & # https://unix.stackexchange.com/questions/159695/how-does-awk-a0-work + PID3=$! + i=1 + echo -n '' + while [ -d /proc/$PID3 ] + do + printf "${yellow}\b${chars:i++%${#chars}:1}${normal}" + sleep 0.1 + done + BEFORE=$(wc -l < $tmpfile) + AFTER=$(wc -l < $file) + if [[ "$AFTER" < "$BEFORE" ]]; then + printf "\b✔ Compacted down to ${AFTER} lines from ${BEFORE}: ${file}\n" + fi + done + + [ -d $PATH_ONEOFFARCHIVE ] && + find $PATH_ONEOFFARCHIVE -name '*.txt' -print0 | while read -d $'\0' file + do + cp "$file" "$tmpfile" & + awk '!x[$0]++' "$tmpfile" > "$file" & + PID4=$! + i=1 + echo -n '' + while [ -d /proc/$PID4 ] + do + printf "${yellow}\b${chars:i++%${#chars}:1}${normal}" + sleep 0.1 + done + BEFORE=$(wc -l < $tmpfile) + AFTER=$(wc -l < $file) + if [ "$BEFORE" -ne "$AFTER" ]; then + printf "\b✔ Compacted down to ${AFTER} lines from ${BEFORE}: ${file}\n" + fi + done + tput cnorm # show the cursor + rm "$tmpfile" + + printf "\n\n✔ Done.\n\n" + exit +else + tput cnorm + printf "\nOkay, bye.\n\n" + exit +fi From 2328502c0d5ce1cb6b53e184dab54cb89642ff18 Mon Sep 17 00:00:00 2001 From: GlassedSilver Date: Mon, 9 May 2022 06:16:32 +0200 Subject: [PATCH 05/12] 002-fix_dupes_per_archive: Add info messsages --- backend/fix-scripts/002-fix_dupes_per_archive_file.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh index a2bd2e7..d84bf26 100644 --- a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh +++ b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh @@ -103,6 +103,8 @@ if echo "$answer" | grep -iq "^y" ;then AFTER=$(wc -l < $file) if [[ "$AFTER" < "$BEFORE" ]]; then printf "\b✔ Compacted down to ${AFTER} lines from ${BEFORE}: ${file}\n" + else + printf "\bℹ No action needed for file: ${file}\n" fi done @@ -123,6 +125,8 @@ if echo "$answer" | grep -iq "^y" ;then AFTER=$(wc -l < $file) if [ "$BEFORE" -ne "$AFTER" ]; then printf "\b✔ Compacted down to ${AFTER} lines from ${BEFORE}: ${file}\n" + else + printf "\bℹ No action needed for file: ${file}\n" fi done tput cnorm # show the cursor From 5cd3669634240d47cc90fc8c6d528acabc2b5d5d Mon Sep 17 00:00:00 2001 From: GlassedSilver Date: Mon, 9 May 2022 06:33:14 +0200 Subject: [PATCH 06/12] 002-fix_dupes_per_archive: Added helpful advice --- backend/fix-scripts/002-fix_dupes_per_archive_file.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh index d84bf26..aff230a 100644 --- a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh +++ b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh @@ -54,7 +54,7 @@ esac old_stty_cfg=$(stty -g) stty raw -echo ; answer=$(head -c 1) ; stty $old_stty_cfg # Careful playing with stty if echo "$answer" | grep -iq "^y" ;then - printf "\nRunning jobs now... (this may take a while)\n" + printf "\n\nRunning jobs now... (this may take a while)\n" printf "\nBacking up directories...\n" @@ -126,13 +126,15 @@ if echo "$answer" | grep -iq "^y" ;then if [ "$BEFORE" -ne "$AFTER" ]; then printf "\b✔ Compacted down to ${AFTER} lines from ${BEFORE}: ${file}\n" else - printf "\bℹ No action needed for file: ${file}\n" + printf "\bℹ No action ran for file: ${file}\n" fi done tput cnorm # show the cursor rm "$tmpfile" - printf "\n\n✔ Done.\n\n" + printf "\n\n✔ Done." + printf "\nℹ Please keep in mind that you may still want to" + printf "\n run sanity checks against your archives!\n\n" exit else tput cnorm From 2354749c2f36e419edeed7b78ec0f4ba99070111 Mon Sep 17 00:00:00 2001 From: GlassedSilver Date: Mon, 9 May 2022 07:10:15 +0200 Subject: [PATCH 07/12] 002-fix_dupes_per_archive fix script: small impr. --- backend/fix-scripts/002-fix_dupes_per_archive_file.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh index aff230a..05b4b49 100644 --- a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh +++ b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh @@ -14,8 +14,8 @@ PATH_SUBSARCHIVE=/app/subscriptions/archives PATH_ONEOFFARCHIVE=/app/appdata/archives # Backup paths (substitute with your personal preference if you like) -PATH_SUBSARCHIVEBKP=$PATH_SUBSARCHIVE-$(date +%Y%m%d) -PATH_ONEOFFARCHIVEBKP=$PATH_ONEOFFARCHIVE-$(date +%Y%m%d) +PATH_SUBSARCHIVEBKP=$PATH_SUBSARCHIVE-BKP-$(date +%Y%m%d%H%M%S) +PATH_ONEOFFARCHIVEBKP=$PATH_ONEOFFARCHIVE-BKP-$(date +%Y%m%d%H%M%S) # Define Colors for TUI @@ -101,7 +101,7 @@ if echo "$answer" | grep -iq "^y" ;then done BEFORE=$(wc -l < $tmpfile) AFTER=$(wc -l < $file) - if [[ "$AFTER" < "$BEFORE" ]]; then + if [[ "$AFTER" -ne "$BEFORE" ]]; then printf "\b✔ Compacted down to ${AFTER} lines from ${BEFORE}: ${file}\n" else printf "\bℹ No action needed for file: ${file}\n" From 24659213c2cac733dd2c856d2c3ed7a35672a90d Mon Sep 17 00:00:00 2001 From: GlassedSilver Date: Mon, 9 May 2022 22:41:51 +0200 Subject: [PATCH 08/12] Make fix-scripts executable by default --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 258e7e9..6962f8c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,6 +58,7 @@ 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/" ] +RUN chmod +x /app/fix-scripts/*.sh # Add some persistence data #VOLUME ["/app/appdata"] From 29273e2775d8380056977599aaa2b6d4aa237da1 Mon Sep 17 00:00:00 2001 From: GlassedSilver Date: Sat, 14 May 2022 03:58:46 +0200 Subject: [PATCH 09/12] fix-scripts: specifically target bash over POSIX --- backend/fix-scripts/001-fix_download_permissions.sh | 2 +- backend/fix-scripts/002-fix_dupes_per_archive_file.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/fix-scripts/001-fix_download_permissions.sh b/backend/fix-scripts/001-fix_download_permissions.sh index cd6cc42..009c7f6 100644 --- a/backend/fix-scripts/001-fix_download_permissions.sh +++ b/backend/fix-scripts/001-fix_download_permissions.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # INTERACTIVE PERMISSIONS FIX SCRIPT FOR YTDL-M # Date: 2022-05-03 diff --git a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh index 05b4b49..426110a 100644 --- a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh +++ b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # INTERACTIVE ARCHIVE-DUPE-ENTRY FIX SCRIPT FOR YTDL-M # Date: 2022-05-09 From 37107148eb5990b5020b8b6bff01eeac75f01b55 Mon Sep 17 00:00:00 2001 From: GlassedSilver Date: Sun, 15 May 2022 04:47:16 +0200 Subject: [PATCH 10/12] Fix Scripts: Small improvements to usage instr. --- backend/fix-scripts/001-fix_download_permissions.sh | 3 +-- backend/fix-scripts/002-fix_dupes_per_archive_file.sh | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/backend/fix-scripts/001-fix_download_permissions.sh b/backend/fix-scripts/001-fix_download_permissions.sh index 009c7f6..699308a 100644 --- a/backend/fix-scripts/001-fix_download_permissions.sh +++ b/backend/fix-scripts/001-fix_download_permissions.sh @@ -6,8 +6,7 @@ # If you want to run this script on a bare-metal installation instead of within Docker # make sure that the paths configured below match your paths! (it's wise to use the full paths) # USAGE: within your container's bash shell: -# chmod -R +x ./fix-scripts/ -# ./fix-scripts/001-fix_download_permissions.sh +# ./fix-scripts/ # User defines / Docker env defaults PATH_SUBS=/app/subscriptions diff --git a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh index 426110a..51b3810 100644 --- a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh +++ b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh @@ -6,7 +6,6 @@ # If you want to run this script on a bare-metal installation instead of within Docker # make sure that the paths configured below match your paths! (it's wise to use the full paths) # USAGE: within your container's bash shell: -# chmod -R +x ./fix-scripts/ # ./fix-scripts/ # User defines (NO TRAILING SLASHES) / Docker env defaults From 8d8c52e0097161de9e4987fd2f9c283d99ab9335 Mon Sep 17 00:00:00 2001 From: GlassedSilver Date: Sun, 15 May 2022 05:48:06 +0200 Subject: [PATCH 11/12] 002-fix_dupes_per_archive: prep consistency w/ 003 --- backend/fix-scripts/002-fix_dupes_per_archive_file.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh index 51b3810..7517773 100644 --- a/backend/fix-scripts/002-fix_dupes_per_archive_file.sh +++ b/backend/fix-scripts/002-fix_dupes_per_archive_file.sh @@ -42,11 +42,11 @@ i=0 # Ask to proceed or cancel, exit on missing paths case $i in 0) - printf "\n\n Couldn't find any archive location path to fix dupes for! \n\nPlease edit this script to configure!" + printf "\n\n Couldn't find any archive location path! \n\nPlease edit this script to configure!" tput cnorm exit 2;; 2) - printf "\n\n Found all archive locations to fix dupes for. \n\nProceed? (Y/N)";; + printf "\n\n Found all archive locations. \n\nProceed? (Y/N)";; *) printf "\n\n Only found ${i} out of 2 archive locations! Something about this script's config must be wrong. \n\nProceed anyways? (Y/N)";; esac @@ -133,7 +133,7 @@ if echo "$answer" | grep -iq "^y" ;then printf "\n\n✔ Done." printf "\nℹ Please keep in mind that you may still want to" - printf "\n run sanity checks against your archives!\n\n" + printf "\n run corruption checks against your archives!\n\n" exit else tput cnorm From d912e444849d1edccdb0a79ab73ce06a8a6ef168 Mon Sep 17 00:00:00 2001 From: GlassedSilver Date: Mon, 20 Jun 2022 01:50:35 +0200 Subject: [PATCH 12/12] Moved Docker Weekly build to docker.yml --- .github/workflows/docker-weekly.yml | 47 ----------------------------- .github/workflows/docker.yml | 3 ++ 2 files changed, 3 insertions(+), 47 deletions(-) delete mode 100644 .github/workflows/docker-weekly.yml diff --git a/.github/workflows/docker-weekly.yml b/.github/workflows/docker-weekly.yml deleted file mode 100644 index f768482..0000000 --- a/.github/workflows/docker-weekly.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: docker-weekly - -on: - schedule: - - cron: '34 4 * * 2' - workflow_dispatch: - -jobs: - build-and-push: - runs-on: ubuntu-latest - steps: - - name: checkout code - uses: actions/checkout@v2 - - name: Set hash - id: vars - run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" - - name: Get current date - id: date - run: echo "::set-output name=date::$(date +'%Y-%m-%d')" - - name: create-json - id: create-json - uses: jsdaniell/create-json@1.1.2 - with: - name: "version.json" - json: '{"type": "docker", "tag": "${{secrets.DOCKERHUB_MASTER_TAG}}", "commit": "${{ steps.vars.outputs.sha_short }}", "date": "${{ steps.date.outputs.date }}"}' - dir: 'backend/' - - name: setup platform emulator - uses: docker/setup-qemu-action@v1 - - name: setup multi-arch docker build - uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: build & push images - uses: docker/build-push-action@v2 - with: - context: . - file: ./Dockerfile - platforms: linux/amd64,linux/arm,linux/arm64/v8 - push: true - # Defaults: - # DOCKERHUB_USERNAME : tzahi12345 - # DOCKERHUB_REPO : youtubedl-material - # DOCKERHUB_MASTER_TAG: nightly - tags: ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}:${{secrets.DOCKERHUB_MASTER_TAG}} diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 6cd9cc6..3f9c050 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -13,6 +13,9 @@ on: - '**.pem' - '.dockerignore' - '.gitignore' + schedule: + - cron: '34 4 * * 2' + workflow_dispatch: jobs: build-and-push: