From a3e2a9f37843adf8f6c3771f9fcf2448e97a038d Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Wed, 1 Mar 2023 17:56:55 -0800 Subject: [PATCH] readthedocs install --- docs/index.rst | 1 + docs/install.rst | 142 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 docs/install.rst diff --git a/docs/index.rst b/docs/index.rst index 5564031f..8ee85a75 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -21,5 +21,6 @@ Contents .. toctree:: :maxdepth: 2 + install presets config diff --git a/docs/install.rst b/docs/install.rst new file mode 100644 index 00000000..c2d7f70b --- /dev/null +++ b/docs/install.rst @@ -0,0 +1,142 @@ +Install +======= +``ytdl-sub`` can be installed on the following platforms. + +.. contents:: Table of Contents + :depth: 1 + +Docker Compose +-------------- +The ytdl-sub docker image uses +`Linux Server's `_ +`base alpine image `_ +It looks, feels, and operates like other LinuxServer images. This is the +recommended way to use ytdl-sub. + +The docker image is intended to be used as a console. For automating +``subscriptions.yaml`` downloads to pull new media, see +`this guide `_ +on how set up a cron job in the docker container. + +.. code-block:: yaml + + services: + ytdl-sub: + image: ghcr.io/jmbannon/ytdl-sub:latest + container_name: ytdl-sub + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Los_Angeles + volumes: + - :/config + - :/tv_shows # optional + - :/movies # optional + - :/music_videos # optional + - :/music # optional + restart: unless-stopped + +Docker +-------------- +.. code-block:: bash + + docker run -d \ + --name=ytdl-sub \ + -e PUID=1000 \ + -e PGID=1000 \ + -e TZ=America/Los_Angeles \ + -v :/config \ + -v :/tv_shows \ + -v :/movies \ + -v :/music_videos \ + -v :/music \ + --restart unless-stopped \ + ghcr.io/jmbannon/ytdl-sub:latest + +Windows +-------------- +From powershell, run: + +.. code-block:: powershell + + # Download ffmpeg/ffprobe dependencies from yt-dlp + curl.exe -L -o ffmpeg.zip https://github.com/yt-dlp/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip + tar -xf ffmpeg.zip + move "ffmpeg-master-latest-win64-gpl\bin\ffmpeg.exe" "ffmpeg.exe" + move "ffmpeg-master-latest-win64-gpl\bin\ffprobe.exe" "ffprobe.exe" + + # Download ytdl-sub + curl.exe -L -o ytdl-sub.exe https://github.com/jmbannon/ytdl-sub/releases/latest/download/ytdl-sub.exe + ytdl-sub.exe -h + +Linux +-------------- +Requires ffmpeg as a dependency. Can typically be installed with any Linux package manager. +.. code-block:: bash + + curl -L -o ytdl-sub https://github.com/jmbannon/ytdl-sub/releases/latest/download/ytdl-sub + chmod +x ytdl-sub + ytdl-sub -h + +You can also install using yt-dlp's ffmpeg builds. This ensures your ffmpeg is up to date: + +.. code-block:: bash + + curl -L -o ffmpeg.tar.gz https://github.com/yt-dlp/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-linux64-gpl.tar.xz + tar -xf ffmpeg.tar.gz + chmod +x ffmpeg-master-latest-linux64-gpl/bin/ffmpeg + chmod +x ffmpeg-master-latest-linux64-gpl/bin/ffprobe + + # May need sudo / root permissions to perform + mv ffmpeg-master-latest-linux64-gpl/bin/ffmpeg.exe /usr/bin/ffmpeg + mv ffmpeg-master-latest-linux64-gpl/bin/ffprobe.exe /usr/bin/ffprobe + +Linux ARM +-------------- +Requires ffmpeg as a dependency. Can typically be installed with any Linux package manager. +.. code-block:: bash + + curl -L -o ytdl-sub https://github.com/jmbannon/ytdl-sub/releases/latest/download/ytdl-sub_aarch64 + chmod +x ytdl-sub + ytdl-sub -h + +You can also install using yt-dlp's ffmpeg builds. This ensures your ffmpeg is up to date: + +.. code-block:: bash + + curl -L -o ffmpeg.tar.gz https://github.com/yt-dlp/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-linuxarm64-gpl.tar.xz + tar -xf ffmpeg.tar.gz + chmod +x ffmpeg-master-latest-linuxarm64-gpl/bin/ffmpeg + chmod +x ffmpeg-master-latest-linuxarm64-gpl/bin/ffprobe + + # May need sudo / root permissions to perform + mv ffmpeg-master-latest-linuxarm64-gpl/bin/ffmpeg.exe /usr/bin/ffmpeg + mv ffmpeg-master-latest-linuxarm64-gpl/bin/ffprobe.exe /usr/bin/ffprobe + + +PIP +-------------- +You can install our +`PyPI package `_. +Both ffmpeg and Python 3.10 or greater are required. + +.. code-block:: bash + + python3 -m pip install -U ytdl-sub + +Local Install +-------------- +With a Python 3.10 virtual environment, you can clone and install the repo using + +.. code-block:: bash + + git clone https://github.com/jmbannon/ytdl-sub.git + cd ytdl-sub + + pip install -e . + +Local Docker Build +-------------- +Run ``make docker`` in the root directory of this repo to build the image. This +will build the python wheel and install it in the Dockerfile. +