GoAutoYT makes it easy for you to automatically download videos from as many YouTube channels as you'd like.
-
Clean, very simple design - The dashboard only contains an input form where you can add a channel and configure checking intervals and what to download, and a little list of all your channels where you can delete them or tell the server to check for new uploads immediately.
-
Everything is on a single page - You can view and control everything from just one page.
-
Makes downloading videos/audio automatically very easy - Just paste a link of a channel you want to download, set a checking interval and that's it, the server will keep checking for new uploads and download if necessary.
- Windows, Mac or Linux - Only tested on Linux, but should work on Mac and Windows
- Go, version 1.13.4 or newer
- youtube-dl
git clone https://github.com/XiovV/go-auto-yt.git
cd go-auto-yt
go build
./go-auto-yt
You can now go to https://localhost:8080 and start using GoAutoYT.
- Docker - Built on 19.03.3
- Docker Compose - Build on 1.24.0
The docker-compose.yml
file in the repository can be used as a guide for setting up your own containers. the only thing that needs to be checked is the volumes
section. If you keep the default, you need to ensure that there are downloads and config folders in the same directory as the docker-compose.yml
file. Otherwise, feel free to modify those mapping to your own local directories. Docker Bind Mount Docs
volumes:
# Choose ONE of these
- ./downloads:/app/downloads # local folder mapping
# - downloads:/app/downloads # docker volume mapping
# And ONE of these
- ./config:/app/config # local folder mapping
# - config:/app/config # docker volume mapping
If you wish to use Docker volume mappings, comment out the local folder lines and uncomment the docker volume lines. You must also uncomment the root volumes
section at the bottom of the sample YAML file. This will instruct docker to create the volumes.
# uncomment this if using the docker volume mapping above
volumes:
downloads:
config:
You can view these volumes with the docker volumes
command and view further information with docker volume inspect VOLUME_NAME
. Docker Volume Docs
The port can also be changed by modifying the ports:
item. By default, this is set to 8080 but if you wanted to change it to port 9000, for example, modify the docker-compose.yml to reflect the below. This follows the standard docker container networking model of host:container.
ports:
- 9000:8080
The container runs with PID/GID of 1000 and UMASK of 022 by default. This can be changed by passing environment variables to the container like so:
environment:
- PUID=1001
- PGID=1001
- UMASK_SET=0044
Once the configuration is complete, docker-compose up -d
will pull and run the container for you in the background. The container will now be accessible from http://localhost:8080 (or whichever port you've modified it to) on that machine. Using docker logs
will show the container logs for troubleshooting.
- Login screen
- Ability to change channel/playlist preferences
- Custom video resolution selection
- Notifications when a new upload is detected
- Specify after what amount of time to automatically delete videos
- Support more file extensions
- Go - Go Language
- Gorilla Mux - Go Multiplexer
- Bootstrap - CSS Framework