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.
+