You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: rewrite Dockerfiles and update README.md for efficiency
- Removed the compress stage from Dockerfile and instead utilized a pre-compressed ffmpeg package from ghcr.io repository.
- Updated various Dockerfiles to use yt-dlp version 2024.04.09 from the previous version.
- Switched all Dockerfiles to `ghcr.io/jim60105/static-ffmpeg-upx:7.0-1` for `ffmpeg`, `ffprobe`, and `dumb-init`, previously it used `mwader/static-ffmpeg`.
- Reordered some sections in `README.md`.
- Added image description and metadata labels to Dockerfiles.
- In Dockerfiles, added more cleanup steps after installing packages using pip to reduce the image size.
- Changed directory permissions in Dockerfiles and added `/licenses` for license files.
- In Dockerfiles, replaced binary files effective permissions to 775 from 774.
Signed-off-by: 陳鈞 <[email protected]>
Copy file name to clipboardExpand all lines: README.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,15 +40,11 @@ It is important to note that the [Dockerfile](Dockerfile) always builds with [th
40
40
41
41
> [!NOTE]
42
42
>
43
-
> -The apk edge branch follows the latest release of yt-dlp.
44
-
> -The `alpine.Dockerfile` installs yt-dlp from pip source, so the image size may slightly different compared to the `Dockerfile` even when they have the same version.
43
+
> - The apk edge branch follows the latest release of yt-dlp.
44
+
> - The `alpine.Dockerfile` installs yt-dlp from pip source, so the image size may slightly different compared to the `Dockerfile` even when they have the same version.
45
45
46
46
### Build Command
47
47
48
-
> [!NOTE]
49
-
> If you are using an earlier version of the docker client, it is necessary to [enable the BuildKit mode](https://docs.docker.com/build/buildkit/#getting-started) when building the image. This is because I used the `COPY --link` feature which enhances the build performance and was introduced in Buildx v0.8.
50
-
> With the Docker Engine 23.0 and Docker Desktop 4.19, Buildx has become the default build client. So you won't have to worry about this when using the latest version.
> I've notice that that both the UBI version and the Distroless version offer no advantages over the Alpine version. So _**please use the Alpine version**_ unless you have specific reasons not to. All of these base images are great, some of them were simply not that suitable for our project.
61
57
58
+
> [!NOTE]
59
+
> If you are using an earlier version of the docker client, it is necessary to [enable the BuildKit mode](https://docs.docker.com/build/buildkit/#getting-started) when building the image. This is because I used the `COPY --link` feature which enhances the build performance and was introduced in Buildx v0.8.
60
+
> With the Docker Engine 23.0 and Docker Desktop 4.19, Buildx has become the default build client. So you won't have to worry about this when using the latest version.
61
+
62
62
## LICENSE
63
63
64
64
> [!NOTE]
65
65
> The main program, [yt-dlp/yt-dlp](https://github.com/yt-dlp/yt-dlp), is distributed under [Unlicense license](https://github.com/yt-dlp/yt-dlp/blob/master/LICENSE).
66
66
> Please consult their repository for access to the source code and licenses.
67
67
> The following is the license for the Dockerfiles and CI workflows in this repository.
68
68
69
-
> [!CAUTION]
70
-
> A GPLv3 licensed Dockerfile means that you _**MUST**_**distribute the source code with the same license**, if you
71
-
>
72
-
> - Re-distribute the image. (You can simply point to this GitHub repository if you doesn't made any code changes.)
73
-
> - Distribute a image that uses code from this repository.
74
-
> - Or **distribute a image based on this image**. (`FROM ghcr.io/jim60105/yt-dlp` in your Dockerfile)
75
-
>
76
-
> "Distribute" means to make the image available for other people to download, usually by pushing it to a public registry. If you are solely using it for your personal purposes, this has no impact on you.
77
-
>
78
-
> Please consult the [LICENSE](LICENSE) for more details.
@@ -86,3 +75,14 @@ This program is free software: you can redistribute it and/or modify it under th
86
75
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
87
76
88
77
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
78
+
79
+
> [!CAUTION]
80
+
> A GPLv3 licensed Dockerfile means that you _**MUST**_**distribute the source code with the same license**, if you
81
+
>
82
+
> - Re-distribute the image. (You can simply point to this GitHub repository if you doesn't made any code changes.)
83
+
> - Distribute a image that uses code from this repository.
84
+
> - Or **distribute a image based on this image**. (`FROM ghcr.io/jim60105/yt-dlp` in your Dockerfile)
85
+
>
86
+
> "Distribute" means to make the image available for other people to download, usually by pushing it to a public registry. If you are solely using it for your personal purposes, this has no impact on you.
87
+
>
88
+
> Please consult the [LICENSE](LICENSE) for more details.
# This should be a number, incremented with each change
91
+
release=${RELEASE} \
92
+
io.k8s.display-name="yt-dlp" \
93
+
summary="yt-dlp: A feature-rich command-line audio/video downloader." \
94
+
description="yt-dlp is a feature-rich command-line audio/video downloader with support for thousands of sites. The project is a fork of youtube-dl based on the now inactive youtube-dlc. For more information about this tool, please visit the following website: https://github.com/yt-dlp/yt-dlp"
# This should be a number, incremented with each change
85
+
release=${RELEASE} \
86
+
io.k8s.display-name="yt-dlp" \
87
+
summary="yt-dlp: A feature-rich command-line audio/video downloader." \
88
+
description="yt-dlp is a feature-rich command-line audio/video downloader with support for thousands of sites. The project is a fork of youtube-dl based on the now inactive youtube-dlc. For more information about this tool, please visit the following website: https://github.com/yt-dlp/yt-dlp"
0 commit comments