Skip to content
This repository has been archived by the owner on Jun 2, 2022. It is now read-only.

Latest commit

 

History

History
86 lines (67 loc) · 5.26 KB

README_en.md

File metadata and controls

86 lines (67 loc) · 5.26 KB

Acknowledgments

Overview

Deployment

First run

More usages and precautions

Overview

This project integrates metube yt-dlp web frontend, Aria2 + WebUI, Rclone + WebUI with auto-upload function, customizable portal page, Filebrowser.

Lite version(without yt-dlp web frontend metube)
This version still has yt-dlp and only costs 40MB memory while idling.

Stand alone Aria2 container with Rclone auto-upload function

Heroku version

image

  1. Rclone auto-upload function only needs to prepare rclone.conf file, and all other configurations are set to go.
  2. AMD64/Arm64/Armv7 multi-architecture support.
  3. All web services and remote control paths are behind caddy reverse proxy and protected by password. You can customize base URL to hide you web services from brute force attack, and enable auto-https function from caddy.
  4. Customizable portal page.
  5. Rclone have multiple auto-upload modes, copy, move, and uploading while seeding.
  6. YT-dlp Web front-end metube also supports Rclone auto-upload after downloads completed.
  7. Rclone runs in daemon mode, easy to manually transfer files and monitor transfers in real time on WebUI.
  8. Rclone which runs in standalone container can have customized parameters in docker-compose file.
  9. You can connect to Aria2 and Rclone from other frontends such as AriaNg/RcloneNg running on other hosts.
  10. All configurations are stored in config data volume for easy migration.
  11. runit-based process management, each service can be started and stopped independently.
  12. Support using PUID/GUID env to run processes in container under non-root users.

Deployment

  1. Download docker-compose file
  2. Set envs and run container with following command:
docker-compose -f docker-compose_en.yml up -d
  1. Visit IP address/domain name + base URL to open portal page, then open AriaNg and fill in RPC secret token with PASSWORD env value in AriaNg settings to connect to Aria2.
  2. Open Filerowser page and upload prepared rclone.conf file to config folder, then run following command to to enable auto-upload function.
docker restart allinone

More usages and precautions

  1. How to use yt-dlp via command line:
docker exec allinone yt-dlp
# Set alias:  
alias dlpr="docker exec allinone yt-dlp --exec ytdlptorclone.sh -P /mnt/data/videos"
# Download videos to /mnt/data/videos folder, then send job to Rclone according to POST_MODE env.
dlpr https://www.youtube.com/watch?v=rbDzVzBsbGM
  1. Considering security reasons, the initial user of Filebrowser doesn't have administrator privileges. If administrator privileges are wanted, run following commands:
docker exec -it allinone sh
# enter container shell
sv stop filebrowser
# stop filebrowser service
filebrowser -d /mnt/config/filebrowser.db users add 用户名 密码 --perm.admin
# add new account with admin privileges
sv start filebrowser
# start filebrowser service
  1. To reset filebrowser settings, delete filebrowser.db file under config folder.
  2. You can't config Rclone remote via Rclone WebUI. It is recommended to run rclone config on local desktop OS.
  3. If you frequently apply for certificates, caddy will be throttled and cause startup failures. So if you are using auto-https function, caddy directory under config folder should not be deleted/moved frequently.
  4. Under config/aria2 folder there are Aria2 related config files. script.conf is Aria2 automation configuration file which allows you to change the automatic file cleanup settings and specify the Rclone upload directory.
    tracker.sh automatically updates Aria2 tracker list every 24 hours. Noting that original tracker list will be overwritten. If you need to disable this fuction, rename or delete tracker.sh.
  5. Under config/homer_conf folder there are portal page config file and icon resources, for more information of config file: https://github.com/bastienwirtz/homer/blob/main/docs/configuration.md
    After icons added to this folder, set icon path to such as ./assets/tools/example.png to use newly added icons.