mirror of
https://github.com/Tzahi12345/YoutubeDL-Material.git
synced 2026-03-24 13:40:57 +03:00
Compare commits
32 Commits
GlassedSil
...
further-do
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
67d4c8a5ce | ||
|
|
fe187ed55b | ||
|
|
945e784950 | ||
|
|
2a41028253 | ||
|
|
b153799531 | ||
|
|
67b2e480f8 | ||
|
|
2cdc1cee98 | ||
|
|
bd1ed2b705 | ||
|
|
33ca0f0817 | ||
|
|
d5ab0d7b96 | ||
|
|
777aebe508 | ||
|
|
efaecaa059 | ||
|
|
39ddefab5c | ||
|
|
60f2ab449f | ||
|
|
958f80e200 | ||
|
|
7aa5c1bf7f | ||
|
|
3bcbe0d3e7 | ||
|
|
80fcecdaea | ||
|
|
0329cd9718 | ||
|
|
493e876a97 | ||
|
|
574edd74ab | ||
|
|
fe91484f24 | ||
|
|
dda6e40a42 | ||
|
|
c0fb838931 | ||
|
|
28924cc7a0 | ||
|
|
2527051eab | ||
|
|
fcf7d14f46 | ||
|
|
0a8aba54d2 | ||
|
|
2c6485acb2 | ||
|
|
aea4f52267 | ||
|
|
5ac5fca482 | ||
|
|
7874f1b71a |
42
.github/workflows/docker-pr.yml
vendored
Normal file
42
.github/workflows/docker-pr.yml
vendored
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
name: docker-pr
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: [master]
|
||||||
|
|
||||||
|
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": "nightly", "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: false
|
||||||
|
tags: tzahi12345/youtubedl-material:nightly-pr
|
||||||
33
Dockerfile
33
Dockerfile
@@ -1,19 +1,19 @@
|
|||||||
FROM ubuntu:20.04 AS ffmpeg
|
FROM ubuntu:20.04 AS ffmpeg
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
COPY docker-build.sh .
|
COPY docker-build.sh .
|
||||||
RUN sh ./docker-build.sh
|
RUN sh ./docker-build.sh
|
||||||
|
|
||||||
FROM ubuntu:20.04 as frontend
|
FROM ubuntu:20.04 as frontend
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
RUN apt-get update && apt-get -y install \
|
RUN apt-get update && apt-get -y install curl
|
||||||
wget \
|
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
|
||||||
gnupg && \
|
RUN apt-get -y install nodejs \
|
||||||
curl -sL https://deb.nodesource.com/setup_12.x | bash - && \
|
yarn
|
||||||
apt-get -y install \
|
RUN npm config set strict-ssl false
|
||||||
nodejs \
|
RUN npm install -g @angular/cli
|
||||||
npm && \
|
|
||||||
npm install -g @angular/cli
|
|
||||||
|
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
COPY [ "package.json", "package-lock.json", "/build/" ]
|
COPY [ "package.json", "package-lock.json", "/build/" ]
|
||||||
@@ -32,14 +32,23 @@ ENV UID=1000 \
|
|||||||
USER=youtube \
|
USER=youtube \
|
||||||
NO_UPDATE_NOTIFIER=true
|
NO_UPDATE_NOTIFIER=true
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
RUN groupadd -g $GID $USER && useradd --system -g $USER --uid $UID $USER
|
RUN groupadd -g $GID $USER && useradd --system -g $USER --uid $UID $USER
|
||||||
|
|
||||||
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \
|
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
|
||||||
apt-get update && apt-get -y install \
|
RUN apt-get update && apt-get -y install \
|
||||||
npm \
|
nodejs \
|
||||||
|
yarn \
|
||||||
python2 \
|
python2 \
|
||||||
python3 \
|
python3 \
|
||||||
atomicparsley
|
atomicparsley && \
|
||||||
|
apt-get autoremove --purge && \
|
||||||
|
apt-get autoremove && \
|
||||||
|
apt-get clean && \
|
||||||
|
rm -rf /var/lib/apt
|
||||||
|
|
||||||
|
RUN npm config set strict-ssl false
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=ffmpeg /usr/local/bin/ffmpeg /usr/local/bin/ffmpeg
|
COPY --from=ffmpeg /usr/local/bin/ffmpeg /usr/local/bin/ffmpeg
|
||||||
|
|||||||
@@ -141,6 +141,7 @@ async function unsubscribe(sub, deleteMode, user_uid = null) {
|
|||||||
if (sub.archive && (await fs.pathExists(sub.archive))) {
|
if (sub.archive && (await fs.pathExists(sub.archive))) {
|
||||||
const archive_file_path = path.join(sub.archive, 'archive.txt');
|
const archive_file_path = path.join(sub.archive, 'archive.txt');
|
||||||
// deletes archive if it exists
|
// deletes archive if it exists
|
||||||
|
// TODO: Keep entries in blacklist_video.txt by moving them to a global blacklist
|
||||||
if (await fs.pathExists(archive_file_path)) {
|
if (await fs.pathExists(archive_file_path)) {
|
||||||
await fs.unlink(archive_file_path);
|
await fs.unlink(archive_file_path);
|
||||||
}
|
}
|
||||||
@@ -379,7 +380,11 @@ async function generateArgsForSubscription(sub, user_uid, redownload = false, de
|
|||||||
if (useArchive && !redownload) {
|
if (useArchive && !redownload) {
|
||||||
if (sub.archive) {
|
if (sub.archive) {
|
||||||
archive_dir = sub.archive;
|
archive_dir = sub.archive;
|
||||||
archive_path = path.join(archive_dir, 'archive.txt')
|
if (sub.type && sub.type === 'audio') {
|
||||||
|
archive_path = path.join(archive_dir, 'merged_audio.txt');
|
||||||
|
} else {
|
||||||
|
archive_path = path.join(archive_dir, 'merged_video.txt');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
downloadConfig.push('--download-archive', archive_path);
|
downloadConfig.push('--download-archive', archive_path);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,6 @@
|
|||||||
# and also optimizing some code with this commit.
|
# and also optimizing some code with this commit.
|
||||||
# xoxo :D
|
# xoxo :D
|
||||||
|
|
||||||
set -xeuo pipefail
|
|
||||||
|
|
||||||
case $(uname -m) in
|
case $(uname -m) in
|
||||||
x86_64)
|
x86_64)
|
||||||
ARCH=amd64;;
|
ARCH=amd64;;
|
||||||
@@ -22,15 +20,24 @@ case $(uname -m) in
|
|||||||
exit 1
|
exit 1
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo "Architecture: $ARCH"
|
echo "(INFO) Architecture detected: $ARCH"
|
||||||
curl --connect-timeout 5 \
|
echo "(1/5) READY - Acquire temp dependencies in ffmpeg obtain layer"
|
||||||
|
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 \
|
--max-time 10 \
|
||||||
--retry 5 \
|
--retry 5 \
|
||||||
--retry-delay 0 \
|
--retry-delay 0 \
|
||||||
--retry-max-time 40 \
|
--retry-max-time 40 \
|
||||||
"https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-${ARCH}-static.tar.xz" -o ffmpeg.txz
|
"https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-${ARCH}-static.tar.xz"
|
||||||
mkdir /tmp/ffmpeg
|
mkdir /tmp/ffmpeg
|
||||||
tar xf ffmpeg.txz -C /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
|
||||||
|
echo "(4/5) PROVISION - Provide ffmpeg and ffprobe from ffmpeg obtain layer"
|
||||||
cp /tmp/ffmpeg/*/ffmpeg /usr/local/bin/ffmpeg
|
cp /tmp/ffmpeg/*/ffmpeg /usr/local/bin/ffmpeg
|
||||||
cp /tmp/ffmpeg/*/ffprobe /usr/local/bin/ffprobe
|
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
|
rm -rf /tmp/ffmpeg ffmpeg.txz
|
||||||
Reference in New Issue
Block a user