An open API service indexing awesome lists of open source software.

https://github.com/dnomd343/alltube-docker

Docker of AllTube Download
https://github.com/dnomd343/alltube-docker

alltube docker docker-image youtube-dl youtube-dl-gui

Last synced: about 1 year ago
JSON representation

Docker of AllTube Download

Awesome Lists containing this project

README

          

## Quick Start

[AllTube Download](https://github.com/Rudloff/alltube) is a Web GUI for [youtube-dl](https://github.com/ytdl-org/youtube-dl), you can use it to download videos from a lot of websites online, even if they don't want you to do this.

*AllTube* provide an [official site](http://alltubedownload.net/) to use *youtube-dl* online, or you can create one under your own domain. Unfortunately, the deployment of *AllTube* is a bit cumbersome, and a good docker can make your deployment faster.

First of all, you must have a docker environment, if not you should [install docker](https://docs.docker.com/engine/install/) first. After completion, use the following command to start *AllTube*.

```bash
docker run -d --restart always --name alltube -p 24488:80 dnomd343/alltube
```

After the command is run, *Alltube* will work on `tcp/24488`, of course, this port can be arbitrary. We can also specify the working options of *Alltube* through environment variables, the following are built-in options.

+ `TITLE=...` :Specify the website title.

+ `REMUX=ON` :Merge best audio and best video.

+ `STREAM=ON` :Allow stream videos through server.

+ `CONVERT=ON` :Enabled audio conversion.

+ `PORT=...` :Specify the service port, default in `80`

Here is an example:

```bash
docker run -d --restart always --name alltube \
--env TITLE="My Alltube Site" \
--env CONVERT=ON \
--env STREAM=ON \
--env REMUX=ON \
--env PORT=24488 \
--network host dnomd343/alltube
```

Next, configure your web server reverse proxy to `localhost:24488`, let's take *Nginx* as an example here.

```nginx
server {
listen 80;
server_name video.343.re; # your domain
return 301 https://$server_name$request_uri;
}

server {
listen 443 ssl http2;
server_name video.343.re; # your domain
ssl_certificate /etc/ssl/certs/343.re/fullchain.pem; # TLS certificate of your domain
ssl_certificate_key /etc/ssl/certs/343.re/privkey.pem; # TLS private key of your domain
location / {
proxy_http_version 1.1;
proxy_set_header Connection '';
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:24488;
}
}
```

Finally, use the `nginx -s reload` command to take effect, visit your domain name and enjoy it!

## Advanced

If necessary, you can use the following command to build the image yourself.

```bash
docker build -t alltube https://github.com/dnomd343/alltube-docker.git
```

Due to the stagnation of the [youtube-dl](https://github.com/ytdl-org/youtube-dl) update, currently we use the [yt-dlp](https://github.com/yt-dlp/yt-dlp) project, you can manually change `YTDLP` in the Dockerfile to specify the latest version.

If you don't need the conversion function, you can remove the installation of `ffmpeg`, which will reduce the image size to a certain extent.

In addition, the project supports multi-stage builds, using the `buildx` command will speed up the build process. Below is an example of using `buildx` to build multi-architecture images.

```bash
docker buildx build -t dnomd343/alltube \
--platform="linux/amd64,linux/386,linux/arm64,linux/arm/v7" \
https://github.com/dnomd343/alltube-docker.git --push
```

## License

MIT ©2023 [@dnomd343](https://github.com/dnomd343)