From f8258f415781906fc7501c8ad2860607c3be1eec Mon Sep 17 00:00:00 2001
From: geekau <117238609+geekau@users.noreply.github.com>
Date: Wed, 28 Dec 2022 01:48:14 +1000
Subject: [PATCH 01/29] initial document edits
---
docs/img/screenshot.png | 0
docs/javascript/extra.js | 0
docs/stylesheets/extra.css | 0
docs/test.md | 0
mkdocs.yml | 28 ++++++++++++++++++++++++++++
requirements.txt | 2 +-
6 files changed, 29 insertions(+), 1 deletion(-)
create mode 100644 docs/img/screenshot.png
create mode 100644 docs/javascript/extra.js
create mode 100644 docs/stylesheets/extra.css
create mode 100644 docs/test.md
diff --git a/docs/img/screenshot.png b/docs/img/screenshot.png
new file mode 100644
index 0000000..e69de29
diff --git a/docs/javascript/extra.js b/docs/javascript/extra.js
new file mode 100644
index 0000000..e69de29
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
new file mode 100644
index 0000000..e69de29
diff --git a/docs/test.md b/docs/test.md
new file mode 100644
index 0000000..e69de29
diff --git a/mkdocs.yml b/mkdocs.yml
index cb52e8d..27cf765 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -1 +1,29 @@
site_name: MediaStack.Guide
+site_url: https://example.com/
+
+nav:
+ - Home: index.md
+ - About: about.md
+
+theme:
+ name: material
+
+ palette:
+ - scheme: slate
+ toggle:
+ icon: material/brightness-7
+ name: Switch to dark mode
+ - scheme: default
+ toggle:
+ icon: material/brightness-4
+ name: Switch to light mode
+
+ custom_dir: overrides
+
+extra_css:
+ - stylesheets/extra.css
+
+extra_javascript:
+ - javascripts/extra.js
+
+
diff --git a/requirements.txt b/requirements.txt
index 88d6f11..4eb9bb3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,4 +3,4 @@ mkdocs-bootswatch
mkdocs-minify-plugin
mkdocs-material
mkdocs-awesome-pages-plugin
-mkdocs-git-revision-date-localized-plugin
\ No newline at end of file
+mkdocs-git-revision-date-localized-plugin
From 33c99a015b8f68551f0dcaf56edf81d80d682249 Mon Sep 17 00:00:00 2001
From: geekau <117238609+geekau@users.noreply.github.com>
Date: Wed, 28 Dec 2022 02:43:24 +1000
Subject: [PATCH 02/29] document prep
---
README.md | 2 +
docs/contributing.md | 177 ++++++
docs/index.md | 2 +-
docs/part1.md | 796 +++++++++++++++++++++++++++
docs/part2.md | 1001 ++++++++++++++++++++++++++++++++++
docs/quick-build.md | 497 +++++++++++++++++
docs/starting/docker.md | 1 +
docs/starting/download.md | 8 +
docs/starting/filesystems.md | 0
docs/starting/intro.md | 1 +
docs/stylesheets/extra.css | 3 +
docs/test.md | 19 +
mkdocs.yml | 79 ++-
requirements.txt | 1 +
14 files changed, 2581 insertions(+), 6 deletions(-)
create mode 100644 docs/contributing.md
create mode 100644 docs/part1.md
create mode 100644 docs/part2.md
create mode 100644 docs/quick-build.md
create mode 100644 docs/starting/docker.md
create mode 100644 docs/starting/download.md
create mode 100644 docs/starting/filesystems.md
create mode 100644 docs/starting/intro.md
diff --git a/README.md b/README.md
index d2bdf81..36d0d91 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,4 @@
# mediastack.guide
Content for MediaStack.Guide Website
+
+Goto: [https://MediaStack.Guide](https://MediaStack.Guide)
\ No newline at end of file
diff --git a/docs/contributing.md b/docs/contributing.md
new file mode 100644
index 0000000..ccdc38c
--- /dev/null
+++ b/docs/contributing.md
@@ -0,0 +1,177 @@
+# Contributing to https://MediaStack.Guide
+
+Anyone can easily join and contribute to the https://MediaStack.Guide GitHub repo, to improve the overall documentation / website by following these steps.
+
+First, you will need an active GitHub.com account if you are looking to push changes / updates back to the https://MediaStack.Guide repo on GitHub
+
+Setting up your environment to run MkDocs for Development / Contribution to https://MediaStack.Guide
+
+**Download and Install Microsoft Visual Studio Code**
+ - https://code.visualstudio.com/download
+
+**Download and Install Git for Windows**
+ - https://git-scm.com/download/win
+
+**Download and Install Python**
+ - https://www.python.org/downloads
+
+**Download and Install Miniconda**
+ - https://docs.conda.io/en/latest/miniconda.html
+
+**Goto Visual Studio Code Extentions (Ctrl+Shift+X) and Install:**
+ - Python (by Microsoft) Or at: https://marketplace.visualstudio.com/items?itemName=ms-python.python
+ - Python Environment Manager Or at: https://marketplace.visualstudio.com/items?itemName=donjayamanne.python-environment-manager
+ - Start git-bash Or at: https://marketplace.visualstudio.com/items?itemName=McCarter.start-git-bash
+ - GitHub Repositories Or at: https://marketplace.visualstudio.com/items?itemName=GitHub.remotehub
+ - GitHub Pull Requests and Issues Or at: https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github
+ - YAML Or at: https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml
+ - shell-format https://marketplace.visualstudio.com/items?itemName=foxundermoon.shell-format
+
+**Optional Visual Studio Code Extentions:**
+ - Azure Repos (Optional for TFVC) Or at: https://marketplace.visualstudio.com/items?itemName=ms-vscode.azure-repos
+ - WSL (optional) - If using WSL Or at: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl
+ - WSL Recommender - If using WSL Or at: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl-recommender
+
+**Test all of the programs are working correctly:**
+ - Open Windows Start Menu, you should be able to see:
+ - Anaconda Prompt (Miniconda3)
+ - Git Bash
+ - Python 3.11 (64-bit)
+
+ - Start "Git Bash" and run these commands to see if they're in the environment path (may need a reboot if this is the first time running them)
+ - Execute "conda"
+ - Execute "pip"
+ - Execute "py --version"
+
+>The above tests should confirm you have the correct packages installed and the paths are working, in order to create the Conda environment needed to host the MkDocs files while editing / contributing on your local system.
+
+
+Start "Git Bash" from the Windows Start Menu, and create a folder to replicate any GitHub repos to.. i.e. "C:\GitHub"
+
+```
+mkdir C:\GitHub
+cd C:\GitHub
+git clone https://github.com/geekau/mediastack.guide.git
+cd mediastack.guide
+code .
+```
+
+Visual Studio will now open and ask you to trust the files you have pull from GitHub into the "C:\GitHub\mediastack.guide" folder - Select Yes to trust the folder.
+
+
+**Select Python Intepreter**
+
+In Visual Studio Code opening the Command Palette (Ctrl+Shift+P), start typing "Python: Select Interpreter" - Press Enter
+
+Select: "Python 3.9... ('base') C:\ProgramData\Miniconda3\python.exe **Conda**"
+
+**Select Terminal Intepreter**
+
+In Visual Studio Code opening the Command Palette (Ctrl+Shift+P), start typing "Terminal: Select Default Profile" - Press Enter and select: "Git Bash"
+
+From the top menu, select "Terminal" --> "New Terminal" (Ctrl+Shift+`), the new terminal should now be "Git Bash".
+
+**Setup Python environment to support the downloaded MediaStack.Guide files**
+
+From the Git Bash terminal, type ls -la, you should be inside the "C:\GitHub\mediastack.guide" folder, and be able to see the following files:
+
+- init_setup.sh - Script to built a local Python environment on your system for development / testing
+- requirements.txt - Includes the files needed as part of the local environment (MkDocs, Material for MkDocs, Awesome Pages for MkDocs etc..)
+- runtime.txt - Sets the Conda sets the Python version to 3.7, so all developers contributing on MediaStack.Guide repo are all using the same version
+
+As this is the first time using the Git Bash terminal, you may need to initialiase it with the following command, then closing / restarting the terminal window:
+
+```
+conda init bash
+```
+
+If you are in the correct folder and can see all of these files, then you can execute the following command in the Git Bash terminal to build your environment:
+
+```
+bash init_setup.sh
+```
+
+>This will take a few minutes to build your local environment, depending on your Internet speed.
+
+**Activate the virtual environment for the mediastack.guide project**
+
+In order to run any of the commands / scripts which have now been set up in the "ENV" environment, you need to activiate the environment with the following command:
+
+```
+conda activiate ./env
+```
+
+Now the environment has been activated, you can call commands from that environment, to help you develop and test using the environment which is now standardised for all contributing developers.
+
+Type the following command to run a local webserver on port 8888, which will serve all of the MkDocs files from your working copy
+
+```
+mkdocs serve
+```
+
+You should see the following output:
+```
+$ mkdocs serve
+INFO - Building documentation...
+INFO - Cleaning site directory
+INFO - Documentation built in 0.02 seconds
+INFO - [12:00:00] Watching paths for changes: 'docs', 'mkdocs.yml'
+INFO - [12:00:00] Serving on http://127.0.0.1:8000/
+```
+
+You should be able to open a web browser on http://127.0.0.1:8000/ and see all of the files you have pulled down from the repository, and they will automatically update on the local web server as you make any file saves to your local copy of the repository.
+
+>Press CTRL+C to exit the mkdocs server
+
+**Project development branches on GitHub**
+
+If you make changes to your local copies of the files and want to "push" them back up to the GitHub repository, there are currently three branches being used for development / release:
+
+- commits: This is the branch that all community contributions should be pushed to.
+- preview: The review committee will pull changes which have been uploaded to the commit branch, into the preview branch, in order to stage any updates, prior to going into the main branch.
+- main: This is the "main" / production branch, that is linked to the https://MediaStack.Guide web server, and all updates will be reviewed rigoursly prior to merging from the preview branch.
+
+
+**Viewing development / production branches on the website**
+
+- main: https://MediaStack.Guide
+- preview: https://
+- commits: https://
+
+
+**Open Markdown preview window in the side window**
+
+In Visual Studio Code opening the Command Palette (Ctrl+Shift+P), start typing "Markdown: Open Preview to the Side" - Press Enter
+
+
+**Environments are not working**
+
+If the commands for conda, pip, bash, py etc... are not working, you may need to add these folders to your "PATH" system environment variable, and restart your computer:
+```
+C:\Program Files\Python311\
+C:\Program Files\Python311\Scripts\
+C:\ProgramData\Miniconda3
+C:\ProgramData\Miniconda3\Scripts
+C:\ProgramData\Miniconda3\shell\condabin
+```
+
+**Additional guidance on how to set up Python and Conda with Visual Studio Code**
+
+Setup Anaconda (Python) to Work With Visual Studio Code on Windows:
+ - https://opensourceoptions.com/blog/setup-anaconda-python-to-work-with-visual-studio-code-on-windows/
+
+Python for Visual Studio Code:
+ - https://docs.anaconda.com/anaconda/user-guide/tasks/integration/python-vsc/
+
+
+**Some guidance on how to work collaboratively with others, using Visual Studio Code and GitHub**
+
+Good reading on how to Collaborate on GitHub using Visual Studio Code
+ - https://code.visualstudio.com/docs/sourcecontrol/overview
+ - https://code.visualstudio.com/docs/sourcecontrol/github
+ - https://code.visualstudio.com/docs/sourcecontrol/faq
+
+signing commits
+https://ona.io/home/signing-git-commits-using-your-gpg-key/
+
+git config --global commit.gpgsign true
diff --git a/docs/index.md b/docs/index.md
index 000ea34..af8127d 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,4 +1,4 @@
-# Welcome to MkDocs
+# Welcome to MediaStack.Guide
For full documentation visit [mkdocs.org](https://www.mkdocs.org).
diff --git a/docs/part1.md b/docs/part1.md
new file mode 100644
index 0000000..b81cecb
--- /dev/null
+++ b/docs/part1.md
@@ -0,0 +1,796 @@
+**PART 1 - Introduction**
+
+Set up a full VPN encrypted Jellyfin, Jellyseerr, NZBGet, Transmission and \*ARR media stack using this docker-compose guide in approximately 30 - 60 minutes, on Linux, Windows or Synology NAS, and potentially more Docker enabled environments.
+
+This guide will cover all the steps needed to initially install and configure a secure docker hosted media environment, with all the applications needed to download torrents and Usenet content which you have a right to use in your media library, and allow you to stream the media via a simple web browser, and even stream the media to your Smart TV / Apple TV apps around the house.
+
+This guide ensures all network traffic is securely hidden using a VPN, and encrypting ALL traffic in / out of your home network. It can also be used on your Synology NAS, or any other Linux / Windows / MacOS machine running the Docker environment.
+
+With many people owning CDs, DVD, and Blu-ray disks, there is demand to make people's media content more transferrable in their home media systems, so it can be viewed on their personal devices. People also want to be able to put their own home movies / photos onto their media servers, so it too can be freely shared between their devices.
+
+**NOTE:** This guide is not about, nor promotes, the illegal piracy of digital media content from their respected / licensed owners.
+
+**NOTE:** It is highly recommended not adding any of your own media files or libraries into the Docker folders / applications, until after setting up the entire media stack, then you can add your media in a structured manner.
+
+**TLDR - Short Version For Those People That Really Really Know What They're Doing:**
+
+1. [Download Docker Compose Media Stack - YAML file](https://github.com/geekau/media-stack/blob/main/docker-compose-media-stack.yaml)
+2. [Download Docker Compose Media Stack - Environment file](https://github.com/geekau/media-stack/blob/main/docker-compose-media-stack.env)
+3. Update ENV file with docker / local subnet details
+4. Update ENV file with local host folder details
+5. Update ENV file with PUID / PGID / TZ detail
+6. Update ENV file with VPN details
+7. Setup subfolders for apps / categories - commands below
+8. Deploy docker-compose file
+9. Configure applications as needed
+10. Come back to this guide because you missed something ![:)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 "Smile :)")
+
+For those that are not super gurus and fully understand all of these applications already, continue with the rest of the guide.
+
+
+
+**PART 2 - Docker Media Applications and Their Roles / Functions**
+
+This guide will focus on Jellyfin and the \*ARR media libraries in order to manage your media libraries and make your media accessible across your home network and devices.
+
+The Gluetun docker container will establish a secure VPN tunnel to your choice of VPN service provider, and then it will force all of the other docker applications in the stack to use the VPN tunnel, if they need to communicate out to the Internet. If Gluetun drops the VPN tunnel at any time, for any reason, then all Internet traffic between the docker applications and the Internet are blocked until the VPN connection is re-established. This provides encrypted security to all data transfers, and assurance that unencrypted data will not be sent if there is a network error.
+
+All local data traffic between the applications in the docker stack, use the basic HTTP / unencrypted protocol, as the data in not going out to the Internet. This saves a considerable amount of configuration of digital certificates on portals / data traffic which will only be used internally.
+
+**NOTE:** All network traffic going in and out of the **DOCKER\_SUBNET** goes through the Gluetun security container. Some guides advise to only secure the network traffic for the download clients, this guide takes a more secure approach and secures ALL network going out to the Internet.
+
+The table below shows the docker applications which will be installed, their default port numbers and what function they perform:
+
+
+
+Portal URL:
+
+Application:
+
+Role / Function:
+
+No Portal -->
+
+Gluetun
+
+VPN Client - Supports extensive Internet providers and protocols
+
+[http://localhost:6789](http://localhost:6789)
+
+NZBGet
+
+Download client - Used to download NZB from Usenet groups
+
+[http://localhost:9091](http://localhost:9091)
+
+Transmission
+
+Download Client - Used to download torrent files
+
+[http://localhost:8096](http://localhost:8096)
+
+Jellyfin
+
+Media Library / Player - Organise, manage, and share digital media files to networked devices
+
+[http://localhost:5055](http://localhost:5055)
+
+Jellyseerr
+
+Request management and media discovery tool (Overseerr Fork for Jellyfin)
+
+[http://localhost:9696](http://localhost:9696)
+
+Prowlarr
+
+Index and Search Management for "\*ARR" applications below
+
+[http://localhost:8686](http://localhost:8686)
+
+Lidarr
+
+Library Manager for Music content management
+
+[http://localhost:8090](http://localhost:8090)
+
+Mylar3
+
+Library Manager for Comic content management
+
+[http://localhost:7878](http://localhost:7878)
+
+Radarr
+
+Library Manager for Movie content management
+
+[http://localhost:8787](http://localhost:8787)
+
+Readarr
+
+Library Manager for Book / Epub content management
+
+[http://localhost:8989](http://localhost:8989)
+
+Sonarr
+
+Library Manager for TV Show / Series / Anime content management
+
+[http://localhost:6969](http://localhost:6969)
+
+Whisparr
+(see note)
+
+Library Manager for Adult movie content management
+
+
+**NOTE:** This guide also includes Whisparr which is a Library Manager for movies from the Adult entertainment industry. It is included as its part of the \*ARR product family, we don't judge what people do / don't watch, but we do urge the use of access controls / security on adult content, so minors and other groups are not exposed to this content if they are not of legal age under your regional laws.
+
+In order to deploy the docker-compose file and host the applications, Docker must be installed as a prerequisite on your Linux, Windows, or Synology hosting environment. The following guide will help set up your Docker environment, and help manage the applications once they are installed:
+
+[Tutorial - Ultimate Starter - Docker, Portainer, Portainer Agents, and Auto-Updating Everything with Watchtower](https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/)
+
+**NOTE:** This guide assumes you have installed Docker, and Portainer for managing your docker environment.
+
+
+
+**PART 3 - Configuring the Docker-Compose Environment Settings**
+
+This implementation will use a docker-compose configuration file and an accompanying environment file, containing all of the variables for the docker-compose file, so it can be customised to your individual requirements. This allows complex docker builds to be rapidly deployed over and over with relative ease, and minimal input. In fact, it is quicker and easier to delete all of the docker applications and redeploy it again, rather than trying to do any fault finding when errors occur. It is also a simply way to upgrade application versions, by deleting the entire docker stack, and redeploying again using updated images.
+
+[**Download Docker Compose Media Stack - Yaml file**](https://github.com/geekau/media-stack/blob/main/docker-compose-media-stack.yaml)
+[**Download Docker Compose Media Stack - Environment file**](https://github.com/geekau/media-stack/blob/main/docker-compose-media-stack.env)
+
+Below are some of the planning details / settings you need to consider, which are located inside the Environment File - they should be updated to suit your needs.
+
+**Define Docker Stack and Local Network Details:**
+
+You can change the subnet / gateway of the network inside docker where these applications will be deployed, if you are not experienced with docker, then leave the subnet / gateway settings alone.
+
+Put your internal home network details into the **LOCAL\_SUBNET** variable, this will tell the VPN client to allow local computers on this network, they are allowed to access each of the applications inside the secure docker stack.
+
+**DOCKER\_SUBNET**\=172.28.10.0/24
+**DOCKER\_GATEWAY**\=172.28.10.1
+**LOCAL\_SUBNET**\=192.168.1.0/24 <-- your local / home network subnet details here
+
+Once the docker stack has been created and the VPN connection established, Gluetun also allows all computers on the local network, to piggy back off the VPN connection and send all web traffic from your local computer through the secure tunnel. You can change your web proxy to the IP address of your Docker host, using port 8888. A point to remember, if your Docker stack is disabled / turned off, then your web browsers will stop working until you restart the Docker host / stack, or remove the proxy setting in your web browsers.
+
+**Set up VPN Connection for Entire Docker Stack:**
+
+Its a mandatory requirement you have an active VPN connection, otherwise Gluetun will not establish a VPN tunnel, and there will be no data forwarded to the Internet for the entire docker stack.
+
+A full list of supported VPN / Wireguard providers can be found on the Gluetun wiki on the right hand side menu: [Home · qdm12/gluetun Wiki](https://github.com/qdm12/gluetun/wiki)
+
+Gluetun also supports custom VPN configurations if you have alternate VPN setups, the docker-compose file has the necessary variables if you need to set up a custom VPN connection, including Wireguard.
+
+**VPN\_SERVICE\_PROVIDER**\=VPN provider name
+**VPN\_USERNAME**\=
+**VPN\_PASSWORD**\=
+**SERVER\_REGION**\=
+
+**Main Folders For Media and Docker Persistent Configurations:**
+
+This is the most important component of your media server, were data is going to be stored, and how all the different Docker applications are going to access the different media / configuration files.
+
+When you set up folders / volumes on the host computer, you need to map them in the Docker configuration, so the applications can access the data. The docker-compose file has already set up all the correct folder mappings between the host computer and docker applications by using environment variables in the YAML file, however you will need to update the variables below so the the docker-compose build knows which folders to map.
+
+When considering media storage, you also need to consider files are going to be downloaded by the Docker applications and moved between folders, which are actually being moved by the underlaying host computer. So you need to consider what happens when moving a 10GB file between two folders inside different Docker applications, may in fact be getting transferred to different HDDs / Filesystems / Volumes, on the host system - this can greatly slow down the performance of disk operations and docker performance.
+
+It is highly recommended the locations you choose for the MEDIA, TORRENTS, USENET, and WATCH folders, are located on the same HDD / Volume / Partition on the local host computer. The Docker stack has been carefully planned, and as long as these host folders are using these principles, then the Docker application will take advantage of Atomic Moves (instant) inside the containers.
+
+**FOLDER\_FOR\_DOCKER\_DATA**\= # Folder to store persistent configuration settings for all the docker applications
+**FOLDER\_FOR\_MEDIA**\= # Folder where root of media library exists
+**FOLDER\_FOR\_TORRENTS**\= # Folder where all torrent files will be downloaded (Transmission)
+**FOLDER\_FOR\_USENET**\= # Folder where all NZB Usenet files will be downloaded (NZBGet)
+**FOLDER\_FOR\_WATCH**\= # Folder to place NZB and Torrent files for manual downloading
+
+The following table provides examples on how the folders located on the Host computer, will be mapped to the folders inside the Docker containers.
+
+
+
+Environment Variable:
+
+Synology Example:
+
+Linux Example:
+
+Windows Example:
+
+Docker Path:
+
+FOLDER\_FOR\_DOCKER\_DATA
+
+/volume1/docker
+
+/opt/docker
+
+D:\\Docker
+
+Differs by container
+
+FOLDER\_FOR\_MEDIA
+
+/volume1/media
+
+/opt/media
+
+D:\\Media
+
+/data/media
+
+FOLDER\_FOR\_TORRENTS
+
+/volume1/data/torrents
+
+/opt/torrents
+
+D:\\Torrents
+
+/data/torrents
+
+FOLDER\_FOR\_USENET
+
+/volume1/data/usenet
+
+/opt/usenet
+
+D:\\Usenet
+
+/data/usenet
+
+FOLDER\_FOR\_WATCH
+
+/volume1/data/watch
+
+/opt/watch
+
+D:\\Watch
+
+/data/watch
+
+
+You need to define your own folders for Synology / Linux / Windows, however the locations you define in the variables, will be mapped to the docker application as per the Docker Path column.
+
+**NOTE:** It is recommended the folders you use on the host computer, remain empty until completing the entire guide and setting up all the applications. So if you plan to use folder names that current have media, you should rename the old folders, create new ones, then copy the media into the new folders after completing this guide.
+
+
+
+**PART 4 - Folders for Media Categories and Docker Applications**
+
+Now that you have identified the folders where you are going to locate your media types, download files, and docker configuration settings, you need to set up the sub-folders in each of these areas, so they are consistent between the host computer and each of the docker containers.
+
+Synology Users: Ideally you should create these folders in "File Station", but it will take a while to do them individually, so you can do them using SSH, logged into the Synology OS. Refer to the Docker / Portainer guide if needed, and minimise the amount of unnecessary commands executed while in SSH session: [Tutorial - Ultimate Starter - Docker, Portainer, Portainer Agents, and Auto-Updating Everything with Watchtower](https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/)
+
+
+**FOLDER\_FOR\_DOCKER\_DATA Sub-Folders:**
+
+These folders will hold all the persistent configuration settings for each of the docker containers being deployed in the docker-compose file. If one of the containers / applications become corrupt, you can delete it and redeploy it using the same configuration information. If you want to reset the configuration for one of the applications, you just need to delete the contents of the respective folder and restart the container.
+
+Synology NAS Users: Make sure a suitable volume / share is created using DSM before executing by SSH.
+
+Code:
+
+ cd /volume1/docker
+ pwd # check you're in correct folder before next command
+ sudo mkdir gluetun jellyfin jellyseerr lidarr mylar nzbget prowlarr qbittorrent radarr readarr sabnzbd sonarr transmission whisparr
+
+
+Linux Users:
+
+Code:
+
+ cd /opt/docker
+ sudo mkdir gluetun jellyfin jellyseerr lidarr mylar nzbget prowlarr qbittorrent radarr readarr sabnzbd sonarr transmission whisparr
+
+
+Windows Users:
+
+Code:
+
+ cd D:\Docker
+ mkdir gluetun,jellyfin,jellyseerr,lidarr,mylar,nzbget,prowlarr,qbittorrent,radarr,readarr,sabnzbd,sonarr,transmission,whisparr
+
+
+
+**FOLDER\_FOR\_MEDIA **Sub-Folders**:**
+
+Each of the media subfolders will store your media based on the media category... i.e. Anime in the "anime" folder, and Movies in the "movies" folder etc... Each of the \*ARR media libraries which are responsible for managing media types, will be linked to that media folder inside the container.
+
+i.e. Radarr will be linked to managed the movies located in the "/data/movies" folder, which will be mapped back to the "movies" sub-folder inside FOLDER\_FOR\_MEDIA on the host computer.
+
+Synology NAS Users: Make sure a suitable volume / share is created using DSM before executing by SSH.
+
+Code:
+
+ cd /volume1/media
+ pwd # check you're in correct folder before next command
+ sudo mkdir adult anime audio books comics movies music photos podcasts series software
+
+
+Linux Users:
+
+Code:
+
+ cd /opt/media
+ sudo mkdir adult anime audio books comics movies music photos podcasts series software
+
+
+Windows Users:
+
+Code:
+
+ cd D:\Media
+ mkdir adult,anime,audio,books,comics,movies,music,photos,podcasts,series,software
+
+
+
+**FOLDER\_FOR\_TORRENTS **Sub-Folders**:**
+
+The sub-folders inside the Torrent folder, is to handle category downloading by Transmission.
+
+Synology NAS Users: Make sure a suitable volume / share is created using DSM before executing by SSH.
+
+Code:
+
+ cd /volume1/data/torrents
+ pwd # check you're in correct folder before next command
+ sudo mkdir adult anime audio books comics movies music podcasts prowlarr series software
+
+
+Linux Users:
+
+Code:
+
+ cd /opt/torrents
+ sudo mkdir adult anime audio books comics movies music podcasts prowlarr series software
+
+
+Windows Users:
+
+Code:
+
+ cd D:\Torrents
+ mkdir adult,anime,audio,books,comics,movies,music,podcasts,prowlarr,series,software
+
+
+
+**FOLDER\_FOR\_USENET **Sub-Folders**:**
+
+The sub-folders inside the Usenet folder, is to handle category downloading by NZBGet.
+
+Synology NAS Users: Make sure a suitable volume / share is created using DSM before executing by SSH.
+
+Code:
+
+ cd /volume1/data/usenet
+ pwd # check you're in correct folder before next command
+ sudo mkdir adult anime audio books comics movies music podcasts prowlarr series software incomplete intermediate queue tmp scripts
+
+
+Linux Users:
+
+Code:
+
+ cd /opt/usenet
+ sudo mkdir adult anime audio books comics movies music podcasts prowlarr series software incomplete intermediate queue tmp scripts
+
+
+Windows Users:
+
+Code:
+
+ cd D:\Usenet
+ mkdir adult,anime,audio,books,comics,movies,music,podcasts,prowlarr,series,software,incomplete,intermediate,queue,tmp,scripts
+
+
+
+**FOLDER\_FOR\_WATCH **Sub-Folders**:**
+
+Nothing... there are no sub-folders needed for the Watch folder, however whenever you place a .nzb or .torrent file into this folder, it will automatically be picked up by either NZBGet or Transmission and commence downloading the files manually.
+
+Once manual .nzb and .torrent files have been downloaded by NZBGet and Transmission, they will be saved in the FOLDER\_FOR\_USENET and FOLDER\_FOR\_TORRENTS respectively. If they are media files, they will not be imported into any of the \*ARR media libraries / Jellyfin automatically, they will need to be manually imported into the media managers / Jellyfin.
+
+The Watch folder and manual downloading will help users who want to download none media centre oriented files, such as torrents for Ubuntu ISO files etc... then the download clients will do all the work of pulling in the files for you.
+
+
+**Docker Application Folder Structure:**
+
+You have now created the following folder structure inside your Docker containers, which will be mapped to the appropriate folders / files on your host computer, which were specified in the "FOLDER\_FOR" variables.
+
+
+
+> ├── data
+> ⠀⠀⠀⠀⠀├── media
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── photos
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software
+> ⠀⠀⠀⠀⠀├── torrents
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software
+> ⠀⠀⠀⠀⠀├── usenet
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── incomplete
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── intermediate
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── queue
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── scripts
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── software
+> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── tmp
+> ⠀⠀⠀⠀⠀└── watch
+>
+> Click to expand...
+
+
+
+
+**PART 5 - File Permissions Between Docker Containers and Host Computer**
+
+One of the biggest issues new users face with using Docker and accessing files on the host computer, is the inability of the container applications accessing folders / files due to incorrect permissions. If the container has incorrect permissions to the local filesystem, then access will be denied, and the container applications do not function as expected.
+
+To overcome this issue, Docker can access the folders / files of the local host computer, as a specific user and group which exists on the local system, however its imperative the local user and group which is specified in the ENV file configuration, actually exists and has the correct permissions to the folder and files on the host.
+
+For Synology / Linux users, follow the earlier guide on setting up Docker / Portainer, and create the "docker" user as documented: [Tutorial - Ultimate Starter - Docker, Portainer, Portainer Agents, and Auto-Updating Everything with Watchtower](https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/)
+
+When logged into the terminal on Linux and Synology (via SSH), run the following command:
+
+
+Code:
+
+ sudo id docker
+
+
+This will return an entry similar to:⠀⠀⠀⠀**uid=131(docker) gid=123(docker) groups=123(docker)**
+
+This means the "docker" user has User ID of 131, Group ID of 123, and is in the following groups... just 123, which is docker. If you convert the uid and gid to PUID and PGID respectively, your config should look like this:
+
+**PUID**\=131
+**PGID**\=123
+**UMASK**\=0002 <-- Don't change this unless you know what you're doing
+**TIMEZONE**\=Australia/Brisbane
+
+Update your local Timezone using this list: [List of tz database time zones - Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
+
+**NOTE:** PUID / PGID will vary from system to system, you can't use Docker configurations from the Internet and expect them to work, unless you adjust the PUID / PGID values to match your system.
+
+
+**File Permissions for Synology NAS Users:**
+
+Synology DSM has a very complex set of permissions and folder attributes underneath the DSM web interface, effectively where the shares are located in "File Station", the the underlying folder permissions are "777" (and more), which you don't want to mess with at the command line.
+
+
+Code:
+
+ drwxrwxrwx+ 1 root root 436 Jan 1 00:10 /volume1/docker
+
+
+This means the root user and root group own the /volume1/docker share, however all of the folders and files have 777 permissions inherited recursively throughout the sub-folder structure.
+
+This might sound a bit complex, but the key point is just to use the DSM File Station web interface, and add the "docker" user to either the main shared folder, such as "/volume1/docker", or just to the selective sub-folders within a shared folder, such as "/volume1/data/torrents", "/volume1/data/usenet", and "/volume1/data/watch". This would mean the "docker" user only has access to the folders (and sub-folders) of torrents, usenet, and watch, inside the shared folder /volume1/data.
+
+Ultimately, you need to ensure the "docker" user has read/write access to whatever folders you are using on the Synology NAS, using DSM Portal.
+
+
+**File Permissions for Linux OS Users:**
+
+When you created the "docker" user for Linux, you also created a "docker" group. Additionally, you added your own Linux user account into the "docker" group, so you want to apply "docker:docker" permissions to folders for the correct access permissions to filter through the file structure.
+
+If you want to be security conscience and only allow members of the "docker" group (and running docker applications) access to for docker and media folders, you can execute the following commands, which also turn on the SetGid bit for the group, so any new folder / file created inside these folders will have full permissions to anyone in the "docker" group; so being a member of the "docker" group is key.
+
+
+Code:
+
+ sudo chmod -R u+rwx,g+rws,o+rx,o-w /opt/docker /opt/media /opt/usenet /opt/torrents /opt/watch
+ sudo chown -R docker:docker /opt/docker /opt/media /opt/usenet /opt/torrents /opt/watch
+
+
+
+Code:
+
+ drwxrwsr-x+ 15 docker docker 4096 Jan 01 00:10 /opt/docker
+ drwxrwsr-x+ 12 docker docker 4096 Jan 01 00:10 /opt/media
+ drwxrwsr-x+ 12 docker docker 4096 Jan 01 00:10 /opt/torrents
+ drwxrwsr-x+ 17 docker docker 4096 Jan 01 00:10 /opt/usenet
+ drwxrwsr-x+ 2 docker docker 53248 Jan 01 00:10 /opt/watch
+
+
+
+If you don't share your Linux host computer with other users and you are having problems with access and permissions, you can always using the following commands, which allow everyone to have absolute access:
+
+
+Code:
+
+ sudo chmod -R 777 /opt/docker /opt/media /opt/usenet /opt/torrents /opt/watch
+ sudo chown -R docker:docker /opt/docker /opt/media /opt/usenet /opt/torrents /opt/watch
+
+
+**NOTE:** If you ever experience issues with file / permission access issues, then rerun both the "chmod" and "chown" commands above, and restart your docker media stack.
+
+
+**File Permissions for Windows OS Users:**
+
+Is this even needed, does Docker run as system or local user account? - needs testing.
+
+
+
+**PART 6 - Deploying the Docker Compose Media Stack**
+
+
+When you deploy the docker-compose build, it will download 12 Docker images from the public DockerHub repository before building the Docker containers and secure network. As its the first time you've deployed the docker-compose stack, it will take a few minutes to download the necessary Docker images. If you need to redeploy the docker-compose due to customisation, or fixing a fault, the containers will be instantly, as the images will still be available on your host computer.
+
+You can deploy the docker-compose build two ways, either via the Linux terminal (PowerShell for Windows), or via Portainer if you installed it as part of the earlier Docker / Portainer guide: [Tutorial - Ultimate Starter - Docker, Portainer, Portainer Agents, and Auto-Updating Everything with Watchtower](https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/)
+
+If you have issues loading the YAML file, whether its corrupt, or you've made changes, you can copy and paste the entire YAML file contents to an online YAML Validation Tool, and it will advise if, and where, there are errors in the YAML code, so you can fix it.
+
+**Online YAML Validator:** [Validate YAML - Online YAML Tools](https://onlineyamltools.com/validate-yaml)
+
+**NOTE:** Don't add any of your current media files into the folders you created above, we'll add all the media at the end in a structured process / format.
+
+
+**Deployment via Synology SSH / Linux Terminal / Windows** **PowerShell****:**
+
+Deploying the docker-compose media stack is exactly the same process using Synology SSH / Linux Terminal / Windows PowerShell, as the only difference between these systems is the paths for each Operating System, however we've added the paths for the relevant Operating Systems into the Environment file, so Docker will just pick this up during the build and map the local folders you've already declared.
+
+Execute the following command to build the docker compose media stack:
+
+
+Code:
+
+ docker-compose --file docker-compose-media-stack.yaml --project-name media_stack --env-file docker-compose-media-stack.env up
+
+
+You will notice all of the images being downloaded from DockerHub, then all of the containers will display their log output on the screen, which is an easy way to identify if any errors occur.
+
+Press "CTRL+ C" to exit the docker console, if you're happy there were no errors and you want it to run in "detached mode" (i.e. in the background), the run the command again with the "-d" (detached) argument.
+
+
+Code:
+
+ docker-compose --file docker-compose-media-stack.yaml --project-name media_stack --env-file docker-compose-media-stack.env up -d
+
+
+NOTE: While you now have a running media stack in Docker, you will need to manage all changes / executions from the terminal window / PowerShell from now on, and that's OK, however if you want the flexibility and ease of use to change / save settings in an easy to use GUI, then Portainer may be the way to load and manage your docker compose media stake.
+
+
+**Deployment via Portainer GUI on Synology / Linux / Windows:**
+
+Deploying the docker-compose media stack via Portainer, will be exactly the same on Synology / Linux / Windows, assuming Portainer has already been installed on the Docker Host, and the file paths have been updated in the ENV file for each respective Operating System.
+
+\- Open Portainer at: [https://localhost:9443](https://localhost:9443)
+
+\- Connect to your local Docker environment in the Portainer portal, then select "Stack" in the left menu, then "Add Stack" on the right side of the page.
+
+\- Stack Name: "media\_stack" <-- Must be lowercase and only use underscores or hyphens
+
+\- Select: "Upload" -- Press "Upload File", then select the "docker-compose-media-stack.yaml" file and save.
+
+\- Select: "Load Variables From .ENV File", then select the "docker-compose-media-stack.env" file and save.
+
+\- "Enable access control": Disable this if you do not have multiple users in Portainer (Optional)
+
+\- Select "Deploy The Stack".
+
+\- Go make a coffee if this is the first time downloading the images, it will take a few minutes.
+
+
+**Configuration Persistence for Docker Containers:**
+
+Great care has been taken to make sure all of the configuration settings in each of the docker containers, have been mapped into their individual folders in the **FOLDER\_FOR\_DOCKER\_DATA** location; if you check these folders, they are now full and contained the configuration of each application.
+
+This means you can completely delete all Docker containers, Docker images, uninstall the Docker application, and then rebuild everything again, and as long as you use the same .YAML and .ENV files with their settings, then your whole media stack will be rebuilt and operate exactly how is was running prior to you stopping it.
+
+This also allows you to easily migrate to new servers / host computers, fire up the docker compose media stack, and be up and running again as soon as the docker images have been downloaded.
+
+Back up the **OLDER\_FOR\_DOCKER\_DATA** sub-folders to save you rebuilding after a system failure / migration.
+
+
+**Test Redeploying Your Docker Compose Media Stack:**
+
+Now is the best time to validate your docker compose configuration, open some of the applications using the links at the very top to make sure they're up and running, then:
+
+\- If you used docker-compose command at the terminal / PowerShell, go to the .ENV file, then make the following change, and run the docker-compose up command again.
+
+
+Code:
+
+ TP_THEME=dracula
+
+
+\- If you used Portainer, go to "Stacks" -- "media\_stack" -- "Editor", find "TP\_THEME" down the bottom in the variables, and change the value to "dracula", then select "Actions: Update The Stack".
+
+Once you have redeployed the docker-compose via the terminal / Portainer, go back into the applications using the links up the top again, and check that your chance has occurred.
+
+**NOTE:** The TP\_THEME is used in all docker containers, except Jellyfin, Jellyseerr, and Whisparr.
+
+
+
+
+**PART 7 - Configuring Your Torrent / NZB Download Clients
+
+
+Validating The Security of Your VPN Network Connection:**
+
+As the Gluetun container is providing full VPN encryption for the entire Docker stack, its important to first check the VPN is providing obscurity for your Internet connection.
+
+From any computer in your network, you will be able to see what the IP Address for your Internet connection is by going to [ifconfig.io](http://ifconfig.io)
+
+Now open Portainer, and go to the Transmission and NZBGet containers and connect to "Console", then type the following into the terminal window:
+
+
+Code:
+
+ curl ifconfig.io
+
+
+This will show the IP Address being used by your Transmission and NZBGet containers, which is being provided by the Gluetun VPN connection.
+
+You can check the location of the IP Address at [IP Location](https://iplocation.com)
+
+**NOTE:** If the Gluetun container is not running, or does not have an active VPN connection, then no traffic from the other containers (Transmission / NZBGet etc…) will be allowed to go out to the Internet; it is all blocked unless a secure VPN tunnel is active.
+
+**NOTE:** If you are using an active VPN account and are not able to secure a VPN connection, you should seek assistance before progressing. Synology users may need to check VPN / TUN prerequisite details in this article, and seek guidance from the Synology community: [Synology prerequisites · qdm12/gluetun Wiki](https://github.com/qdm12/gluetun/wiki/Synology-prerequisites)
+
+
+**Transmission - Torrent Download Client:**
+
+Transmission connects to trackers, seeders and peers in the torrent network in order to access content which has been uploaded to torrent groups.
+
+1\. Open Transmissions Portal: [http://localhost:9091](http://localhost:9091)
+
+2\. Press the "Spanner" icon in the bottom left corner to open "Preferences Menu"
+
+3\. Torrents Tab - Downloading to… Change this to: **/data/torrents**
+
+4\. You can adjust Torrent, Speed, Peer, and Network settings in this section. Only adjust these if you know what you're doing. Don't change the download path or peering port, as these a relative to the Transmission Docker container, not your local file or network settings - adjust these in the ENV docker-compose file.
+
+5\. If you need to manually download torrent files, they can be placed into your **FOLDER\_FOR\_WATCH** folder, and Transmission will start to download the file.
+
+6\. Completed manual file downloads will be placed into **FOLDER\_FOR\_TORRENT** folder.
+
+
+**NZBGet - Usenet Download Client:**
+
+1\. Open NZBGet Portal: [http://localhost:6789](http://localhost:6789)
+
+* Default Username: nzbget
+* Default Password: tegbzn6789
+
+2\. Go to the Settings page: [http://localhost:6789/#ConfigTab](http://localhost:6789/#ConfigTab)
+
+3\. "PATHS" menu, change these paths only:
+
+* MainDir: /data/usenet
+* DestDir: /data/usenet
+* NzbDir: /data/watch
+
+
+4\. "NEWS-SERVERS" menu: Use this page to configure all your Usenet News Servers - Gaining access to Usenet News Servers is out of scope for this guide - sorry.
+
+5\. "SECURITY" menu: Leave these as default. However, you can empty both ControlUsername and ControlPassword fields if you want to remove username and password prompts each time you access the NZBGet portal.
+
+6\. "CATEGORIES" menu: DELETE ALL THE DEFAULT CATEGORIES
+
+7\. Add the following new category names, destdirs, and aliases for each of the "ARR" applications:
+
+**NOTE:** They must be in LOWERCASE only.
+
+
+
+**ARE THESE THE CORRECT CATEGORIES FOR STARTERS?
+
+ARE THE CATEGORY ALIASES ALLOCATED CORRECTLY?**
+
+
+
+
+
+Category.Name:
+
+Category.DestDir
+
+Category.Aliases
+
+adult
+
+adult
+
+xxx,\*hentai
+
+anime
+
+anime
+
+audio
+
+audio
+
+audible
+
+books
+
+books
+
+epub
+
+comics
+
+comics
+
+manga
+
+movies
+
+movies
+
+music
+
+music
+
+podcasts
+
+podcasts
+
+prowlarr
+
+prowlarr
+
+series
+
+series
+
+tv\*
+
+software
+
+software
+
+console,pc
+
+
+**NOTE:** You should now have 11 categories.... all in lowercase.
+
+8\. "RSS FEEDS" menu: Leave these as default
+
+9\. "INCOMING NZBS" menu: Change "NzbDirFileAge" to 5 seconds
+
+11\. "DOWNLOAD QUEUE" menu: Leave these as default
+
+12\. "CONNECTION" menu: Leave these as default
+
+13\. "LOGGING" menu: Leave these as default
+
+14\. "SCHEDULER" menu: Leave these as default
+
+15\. "CHECK AND REPAIR" menu: Leave these as default
+
+16\. "UNPACK" menu: Leave these as default
+
+17\. "EXTENSION SCRIPTS" menu: Leave these as default
+
+18\. Save all your changes and allow NZBGet to restart
+
+
+.
\ No newline at end of file
diff --git a/docs/part2.md b/docs/part2.md
new file mode 100644
index 0000000..e3cd024
--- /dev/null
+++ b/docs/part2.md
@@ -0,0 +1,1001 @@
+**NOTE: This is PAGE 2 of** [**Ultimate Starter - Jellyfin, Jellyseerr, NZBGet, Torrents and \*ARR Media Stack**](https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/)
+
+
+
+**PART 8 - Configuring the \*ARR Media Library Managers / Index Manager**
+
+Prowlarr \*ARR Indexer and Search Manager: [http://localhost:9696](http://localhost:9696/)
+
+Now that we have both the Download Clients set up on Page 1, we're going to set up Prowlarr, which is an index and search manager for all the ARR applications; it handles search requests on behalf of Sonarr, Radarr, Lidarr etc.. to all the indexers, and returns the results to each ARR application that initiated the index search.
+
+1\. In "Indexers" -- "Add Indexer", to get started, add about eight indexers which are listed as public - these will mostly be Torrent indexers, as all NZB Indexers are private and you need an account to access the indexer services.
+
+2\. Make sure you select a Base URL and test the connection before saving. Some indexers have multiple URLs to choose from, and you may need to change the Base URL if any on them fail the connection test.
+
+3\. Once you have several indexers, select "Test All Indexers" to test their connectivity / status.
+
+4\. You can also test the "Search" function by typing "Big Buck Bunny" and checking that results are returned - Do not download anything yet, there is much more to set up before importing media.
+
+**NOTE:** If you're using Windows as your Docker host, you may need to open up network ports in the Windows 11 firewall, before you can access the web portals from the local network:
+
+*
+
+
+5\. "Settings" -- "Indexers" menu: Only used if you need index proxies
+
+6\. "Settings" -- "Apps" menu: Go to all the other ARR applications listed below, then navigate to "Settings" -- "General" and copy the API Key from each application. Then back in Prowlarr, click "Add Application", and use the API Key to link the other application to Prowlarr.
+
+**For example: To add Radarr**
+
+* Name: Radarr
+* Sync Level: Full Sync
+* Prowlarr: Add "[http://localhost:9696](http://localhost:9696)" Check the field to see if the text is actually in there.
+* Reader: Add "[http://localhost:7878](http://localhost:7878)" Check the field to see if the text is actually in there.
+* API Key: Copied from Radarr application in "Settings" -- "General"
+* Test and Save
+
+Repeat this step for all \*ARR applications until you have Lidarr, Mylar, Radarr, Readarr, Sonarr and Whisparr listed in the Prowlarr applications - There should be six.
+
+**NOTE For Mylar:** Go to "Settings" -- "Web Interface" -- Tick Enable API -- Generate API Key -- Save Changes -- Restart Mylar -- API Key can now be copied.
+
+
+
+\*ARR Application:
+
+Link to API Key:
+
+Lidarr
+
+[http://localhost:8686/settings/general](http://localhost:8686/settings/general)
+
+Mylar3
+
+[http://localhost:8090/config](http://localhost:8090/config) Then Select "Web Interface" Tab
+
+Radarr
+
+[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
+
+Readarr
+
+[http://localhost:8787/settings/general](http://localhost:8787/settings/general)
+
+Sonarr
+
+[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
+
+Whisparr
+
+[http://localhost:6969/settings/general](http://localhost:6969/settings/general)
+
+Prowlarr
+
+[http://localhost:9696/settings/downloadclients](http://localhost:9696/settings/downloadclients)
+
+
+
+7\. "Settings" -- "Download Clients" menu:
+
+
+* Go to all SEVEN of the ARR applications listed in the table below, then navigate to "Settings" -- "Download Clients" and add the following two download clients to each of the seven applications. Make sure you change the category for each application… the categories MUST be in lowercase.
+
+
+
+ARR Application:
+
+Download Category:
+(must be in lowercase)
+
+Prowlarr
+
+prowlarr
+
+Lidarr
+
+music
+
+Mylar3
+
+comics
+
+Rradarr
+
+movies
+
+Readarr
+
+books
+
+Sonarr
+
+series
+
+Whisparr
+
+adult
+
+
+
+* Add NZBGet
+ * Name: NZBGet
+ * Host: localhost
+ * Port: 6789
+ * Username: nzbget Empty if you removed this earlier
+ * Password: tegbzn6789 Empty if you removed this earlier
+ * Category: < --- In "lowercase" - refer to table above, for each \*ARR application category
+* Add Transmission
+ * Name: Transmission
+ * Enabled: Ticked
+ * Host: localhost
+ * Port: 9091
+ * Username: empty
+ * Password: empty
+ * Category: < --- In "lowercase" - refer to table above, for each \*ARR application category
+
+
+
+8\. Add the "Root Folder" for all of the \*ARR medial managers, so they are able to access / manage the media in each library.
+
+**NOTE: It is recommended you allow all of the Media Library Managers to totally manage your media, including the renaming and sorting of media into its own media folder structure and naming conventions. Select "Show Advanced" and follow the naming conventions in the table below, for the relevant media managers.
+
+NOTE: Do not add your own media into your media folders yet, we will prepare all of your existing media in steps further below, before importing into each of the media libraries, to ensure they're in a format that the \*ARR applications will each read be able to identify and match to Internet media lookup searches.**
+
+
+
+Library Manager:
+
+Media Path:
+
+Media Renaming Conventions:
+
+Lidarr:
+[http://localhost:8686/settings/mediamanagement](http://localhost:8686/settings/mediamanagement)
+
+/data/media/music
+
+[Lidarr Settings](https://wiki.servarr.com/lidarr/settings)
+(No guidance available - refer to other apps in wiki)
+
+Mylar3:
+[http://localhost:8090/config](http://localhost:8090/config)
+
+/data/media/comics
+
+[Folder and File formats · mylar3/mylar3 Wiki](https://github.com/mylar3/mylar3/wiki/Folder-and-File-formats) (minor guidance)
+
+Radarr:
+[http://localhost:7878/settings/mediamanagement](http://localhost:7878/settings/mediamanagement)
+
+/data/media/movies
+
+[Radarr Settings](https://wiki.servarr.com/radarr/settings#community-naming-suggestions)
+
+Readarr:
+[http://localhost:8787/settings/mediamanagement](http://localhost:8787/settings/mediamanagement)
+
+/data/media/books
+
+[Readarr Settings](https://wiki.servarr.com/readarr/settings#book-file-naming)
+
+Sonarr:
+[http://localhost:8989/settings/mediamanagement](http://localhost:8989/settings/mediamanagement)
+
+/data/media/series
+
+[Sonarr Settings](https://wiki.servarr.com/sonarr/settings#community-naming-suggestions)
+
+[Whisparr:
+http://localhost:6969/settings/mediamanagement](http://Whisparr: http://localhost:6969/settings/mediamanagement)
+
+/data/media/adult
+
+[Whisparr Settings](https://wiki.servarr.com/whisparr/settings#community-naming-suggestions)
+
+
+**NOTE:** Prowlarr is an index and search manager, it does not manage media libraries.
+
+
+**Example set up steps for Radarr to manage media renaming**
+
+* [http://localhost:7878/settings/mediamanagement](http://localhost:7878/settings/mediamanagement)
+
+
+* Turn on "Show Advanced" options
+* Rename Movies: Ticked
+* Replace Characters: Ticked
+* Colon Replace: Replace with Space Dash Space
+* Standard Movie Format: {Movie Title} ({Release Year}) - {Quality Title} {MediaInfo Simple}
+* Movie Folder Format: {Movie Title} ({Release Year}) \[imdbid-{ImdbId}\]
+* Create Empty Folders: Not Ticked
+* Delete Empty Folders: Ticked # Depends on your preference
+* Unmonitor Deleted Movies: Ticked
+* Propers and Repacks: Prefer and Upgrade
+* Analyze video files: Ticked
+* Rescan Movie Folder: Always
+* Change File Date: None
+* Recycle Bin: Optional
+* Set Permissions: Ticked # Depends on your preference
+* Chmod Folder: 775 # Depends on your preference
+* Chmod Group: users # Depends on your preference
+
+
+**Example set up steps for Sonarr to manage media renaming**
+
+* [http://localhost:8989/settings/mediamanagement](http://localhost:8989/settings/mediamanagement)
+
+
+* Turn on "Show Advanced" options
+* Rename Episodes: Ticked
+* Replace Illegal Characters: Ticked
+*
+
+* Standard Episode Format:
+ * {Series Title} S{season:00}E{episode:00} - {Episode Title} {Quality Title} {MediaInfo Simple}
+* Daily Episode Format:
+ * {Series Title} {Air-Date} - {Episode Title} {Quality Title} {MediaInfo Simple}
+* Anime Episode Format:
+ * {Series Title} S{season:00}E{episode:00} - {Episode Title} {Quality Title} {MediaInfo Simple}
+* Series Folder Format:
+ * {Series Title} ({Series Year}) \[imdbid-{ImdbId}\]
+* Multi-Episode Style: Extend
+* Create Empty Folders: Not Ticked
+* Delete Empty Folders: Ticked # Depends on your preference
+* Unmonitor Deleted Episodes: Ticked
+* Propers and Repacks: Prefer and Upgrade
+* Analyze video files: Ticked
+* Rescan Episode Folder: Always
+* Change File Date: None
+* Recycle Bin: Optional
+* Set Permissions: Ticked # Depends on your preference
+* Chmod Folder: 775 # Depends on your preference
+* Chmod Group: users # Depends on your preference
+
+
+Complete remaining Media Library Managers as per step 8 guidance and table.
+
+
+
+**Mylar3 needs extra steps to get set up properly and integrated into Prowlarr**
+
+9\. Complete these additional steps to configure Mylar3, which are slightly different to the rest of the \*ARR family
+
+
+* Go to Mylar3 "Settings" -- "Web Interface":
+* ComicVine API Key:
+ * Go over to ComicVine at Gamespot, and register for a user account: [Comic Vine](https://comicvine.gamespot.com) When you're logged in to ComicVine, head to this page for your personal API Key: [Comic Reviews, News, and Forums - Comic Vine](https://comicvine.gamespot.com/api/)
+ * Copy your Comic Vine API Key, then goto Mylar3 "Settings" -- "Web Interface" and copy the key into the field on the top right
+* Basic HTTP Host: 0.0.0.0
+* HTTP Port: 8090
+* Authentication: None
+* HTTP Usernam: Empty
+* HTTP Password: Empty
+* Comic Path Location: /data/media/comics
+* Enforce Permissions: ticked
+* Directory CHMOD: 0777
+* File CHMOD: 0660
+* Owner: 1000 --- Change this to the numeric PUID value of the Docker user account you created earlier
+* Group: 1000 --- Change this to the numeric PGID value of the Docker user account you created earlier
+
+
+* Mylar3 "Settings" -- "Download Settings"
+
+
+* NZBget: Ticked
+* NZBGet Host: [http://localhost](http://localhost)
+* NZBGet Port: 6789
+* NZBGet Username: Empty the field
+* NZBGet Password: Empty the field
+* NZBGet Download Directory: /data/usenet
+* NZBGet Category: comics
+* Enable Completed Download Handling: Ticked
+* Usenet Retention (in days) - This depends on your Usenet service provider
+
+
+
+* Use Torrents: Tickered
+* Minimum # of seeders: 3
+* NOTE: Seed numbers is a personnal choice, the lower the number could result in stalled downloads
+* Transmission: Ticked
+* Transmission Host: [http://localhost](http://localhost)
+* Transmission Username: Empty the field
+* Transmission Password: Empty the field
+* Transmission Directory: /data/torrents
+
+
+
+* Mylar3 "Settings" -- "Search Providers"
+* Torrents: Ticked
+* Enabled Torznab: Ticked
+* Use Newznab: Ticked
+
+
+**NOTE:** There is no need to manually update the Torrent / Usenet settings listed on this page, Prowlarr will
+automatically make the relevant changes to search providers as they're added to the \*ARR Index Manager.
+
+
+10\. Finish the basic customisation below for all of the \*ARR settings:
+
+
+\*ARR Application:
+
+Link to Settings Page
+
+Prowlarr
+
+[http://localhost:9696/settings](http://localhost:9696/settings)
+
+Lidarr
+
+[http://localhost:8686/settings](http://localhost:8686/settings)
+
+Mylar3
+
+[http://localhost:8090/config](http://localhost:8090/config) Then Select "Web Interface" Tab
+
+Radarr
+
+[http://localhost:7878/settings](http://localhost:7878/settings)
+
+Readarr
+
+[http://localhost:8787/settings](http://localhost:8787/settings)
+
+Sonarr
+
+[http://localhost:8989/settings](http://localhost:8989/settings)
+
+Whisparr
+
+[http://localhost:6969/settings](http://localhost:6969/settings)
+
+
+"Settings" -- "UI" menu:
+
+* Set up all the system locale / date and time formats for your region / liking
+
+
+"Settings" -- "Indexers" menu:
+
+* These are a list of indexers, which are configured using Prowlarr, and replicated to each of the ARR applications. If you need to update your indexers, do this in Prowlarr.
+
+
+"Settings" -- "Quality" menu:
+
+* This page allows you to configure all the general quality, size limits, for all the different download options.
+
+
+Home Page For Each \*APP Application:
+
+* Click "Options" icon on right hand side and select the viewable options to suit your needs.
+
+
+Test Each of Your \*APP Application:
+
+* From the application home page, select "Add New", and search title for each application's media category.
+* You should get search results for each of the media types that each application is responsible for managing.
+
+
+
+**NOTE: Whisparr - Adult Movie Industry Metadata**
+
+Whisparr will correctly locate metadata for adult movie industry content, however Jellyfin does not, for reasons we won't go into here. However, you can save the metadata for adult content from Whisparr into the movie folder on the hard drive, then Jellyfin can be set up to read and import the metadata correctly.
+
+Go to "Whisparr" -- "Settings" -- "Metadata" -- "Edit Kodi (XBMC) / Emby Metadata" and select all options, except for "Use Movie.nfo", and save. This will create .nfo and cover art files inside the movie folder, which Jellyfin will scrape during import of the adult library.
+
+**NOTE:** This technique can be used for other media types which do not work well in Jellyfin metadata look ups.
+
+
+NOTE: If you have following this guide step by step, you'll probably notice the theme used across most of the applications is, or is not to your likely, you can change the theme to something that suites you suit by editing the following variable in the .ENV file, and redeploying your media stack configuration discussed on Page 1.
+
+
+Code:
+
+ TP_THEME=nord
+
+
+Refer to colour these codes at: [Aquamarine - theme.park Docs](https://docs.theme-park.dev/theme-options/aquamarine/)
+
+
+
+
+**PART 9 - Organising Your Media Library And Importing Into \*ARR Apps**
+
+Now that we've set up the Media Library Managers and Index Manager with the correct settings, including filenames for all media content, we can commence importing any of your current media repositories into the respective Media Library Managers for each media format type.
+
+**NOTE: The success of importing media files into the media libraries and having them identified correctly by the library managers, depends heavily on the how well they are organised and named in the first place. Don't expect to load random files which have no naming conventions, or cannot identify what the content is, to be picked up and imported correctly. Do some effort first to save you importing time - otherwise: the old adage is… shit in, shit out.**
+
+My personal preference is to use Filebot with the following renaming conventions to get things organised, before I manually add anything into the \*ARR media folders.
+
+
+**Filebot Renaming Preset String for Series / TV Shows:**
+
+D:/Storage/renaming/series/{ny.colon(' - ').ascii()} \[tmdbid-{id}\]/Season {s00}/{ny.colon(' - ').ascii()} {s00e00} - {t.ascii()} {" - $hd $vf $vc $ac"}
+
+
+**Filebot Renaming Preset String for Movies / Adult:**
+
+D:/Storage/renaming/movies/{ny.colon(' - ').ascii()} \[imdbid-{imdbid}\]/{ny.colon(' - ').ascii()} {" - $hd $vf $vc $ac"}
+
+
+**Filebot Renaming Preset String for Music / Audio:**
+
+D:/Storage/renaming/music/{artist.upperInitial().ascii()}/{album.upperInitial().ascii()} ({y})/{albumArtist.upperInitial().ascii()} - {album.upperInitial().ascii()} - {pi.pad(3)+' - '} {t.ascii()}
+
+
+Change "D:/Storage" to suit your requirements. Being on the same drive / partition as the original media which is being renamed, will save considerable time moving files between partitions or across network shares. i.e. Don't use a different partition / HDD as the destination, it will take forever.
+
+**NOTE:** Do all media renaming outside of \*ARR folders, then slowly control the import of the renamed media into each of the Library Managers.
+
+Once you have prepared all of your current media folders, start importing a few series / movies at a time, to ensure the \*ARR Library Manager is detecting the new media, and that you're comfortable with the process.
+
+As you start adding files in the following folders, the files will be immediately accessible in each of the \*ARR apps
+
+
+
+Host Computer Folder Location:
+
+\*ARR Library Manager
+
+FOLDER\_FOR\_MEDIA/adult
+
+Whisparr
+
+FOLDER\_FOR\_MEDIA/books
+
+Readarr
+
+FOLDER\_FOR\_MEDIA/comics
+
+Mylar3
+
+FOLDER\_FOR\_MEDIA/movies
+
+Radarr
+
+FOLDER\_FOR\_MEDIA/music
+
+Lidarr
+
+FOLDER\_FOR\_MEDIA/series
+
+Sonarr
+
+
+
+Head over the your \*ARR application to "Settings" -- "Media Management"… you'll note that the root folder "/data/media/series" etc... inside each Docker container now says there are a number of "Unmapped Folders".
+
+To import the new media you copied into your FOLDER\_FOR\_MEDIA folders, open the link that says "Path: /data/media/series", it will now show the series / movies which you added, and will attempt to identify these new series / movies by looking them up via the Internet databases.
+
+NOTE: This could take some time depending on how large the media library is.
+
+NOTE: DO NOT IMPORT ANY MOVIE / SERIES WHICH ARE INCORRENTLY IDENTIFIED, RENAME THEM AND TRY TO IMPORT THEM AGAIN LATER
+
+Select all of the folders / media which has been correctly identified by using the checkboxes on the left hand side, then down the bottom select whether to monitor the first season, or the entire season (this is your personal choice), then select the option "Import \* Series" - This will commence the import and renaming if you opted to rename.
+
+For any movie / series which was incorrectly identified, go to your local media directory and rename the folder, and then import the new folder after the \*ARR manager correctly identifies the folder content.
+
+Once identified, select "Import \* Series". If successful, you will receive a message that says: All series in /data/media/imports have been imported.
+
+Use the same process in all of the other \*ARR applications to import your existing media library into the corresponding \*ARR Media Library Manager.
+
+NOTE:: If you do a lot of transcoding and changing the encoding types / bitrates across your library, the Filebot renaming strings can be used to update your media library as needed, however you'll need to refresh your \*ARR Media Library Managers / Jellyfin to make sure they pick up the new names.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+**WARNING - THE BELOW INFORMATION IS STILL BEING FORMATTED FOR PRESENTATION - IT SHOULD BE ACCURATE, BUT DIFFICULT TO READ. AM CURRENTLY FORMATTING NOW.**
+
+
+
+
+
+
+
+
+
+**PART 10 - Configuring Jellyfin Media Server**
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\#### Configuring Jellyfin to access all Media Libraries
+
+Firstly, head over and set up accounts at Fanart and Opensubtitles, so you can enrich your Jellyfin media content. Once you have accounts, you'll need to copy the API Key from each of your account profiles
+[https://fanart.tv](https://fanart.tv/)
+[https://opensubtitles.com](https://opensubtitles.com/) (opensubtitles.org and opensubtitles.com are the same, but .com is the newer site for accounts)
+
+
+
+* Head over to Jellyfin at [http://localhost:8096](http://localhost:8096/) where you will be welcomed to Jellyfin, choose your desired language and select "Next".
+* Create a username / password for the first user account (it will become the admin account) - you can have a blank password if you desire - Select "Next".
+* DO NOT ADD MEDIA at this time, select "Next", as we want to set up Fanart and other plugins first.
+* Select your Metadata Language and Country and select "Next".
+* Set up remote access: Remote connections (Ticked), Enable port mapping (No / Unticked) - Select "Next", the "Finsh".
+* You'll be presented with a signin page, use the username / password entered previously.
+
+
+Press the hamburger icon (3 lines) in top left corner to open the menu, then select "Dashboard", go down the bottom of the menu and open "Plugins", the select "Repositories" up the top, and add the following:
+
+Repository Name: Daniel Adov
+Repository URL: [https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json](https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json)
+
+Using the "Plugins" -- "Catalogue" menu, add the following plugins to your Jellyfin instance:
+
+
+* AniDB
+* AniList
+* Fanart
+* Merge Versions
+* Open Subtitles
+* Playback Reporting
+* Reports
+* Skin Manager
+* TMDb Box Sets
+* Tvmaze
+* TheTVDB
+
+
+These plugins should already be installed by default:
+
+
+* AudioDB
+* MusicBrainz - Installed by default
+* OMDb - Installed by default
+* Studio Images
+* TMDb
+
+
+Now that all of the plugins have been installed, go to Docker / Portainer, select the Jellyfin container and restart it. Then come back to Jellyfin config.
+
+Open the hamburger menu in top left corner again and then select "Dashboard", go down the bottom of the menu and open "Plugins", and configure the following plugins:
+
+
+* AniDB - Defaults
+* AniList - Defaults
+* Fanart - Add "Personal API Key" from your Fanart.tv account, and save.
+* Merge Versions - Defaults
+* Open Subtitles - Add Username / Password / API Key from your OpenSubtitles.com account, and save.
+* Playback Reporting - Defaults
+* Reports - Defaults
+* Skin Manager - Select a skin of your choosing, however further customisation is outside the scope of this guide.
+* TMDb - Include adult content (Optional), Import season name (Ticked), Max Cast Members (25), Image Scaling (Optional), and save.
+* TMDb Box Sets - Defaults
+* Tvmaze - Nil
+* TheTVDB - If there is no API Key pre-installed, you will need to register at [https://TheTVDB.com](https://thetvdb.com/) to obtain one.
+
+
+"Playback" -- "Transcoding"
+Depending on the computer / NAS you are running Docker / Jellyfin, its possible to use hardware acceleration for transcoding - this configuration has been set up to map /dev/dri from the docker container to the host, so it will work, but will be dependent upon your personal hardware configuration. You will need to seek further advise from the Jellyfin community at Reddit / Discord / Youtube on settings for your hardware.
+
+Refer: [Hardware Acceleration | Jellyfin](https://jellyfin.org/docs/general/administration/hardware-acceleration/)
+DLNA (Digital Living Network Alliance): As this guide and configuration is built around a secure contained network for the entire media docker stack, the ports and services needed to support DLNA have not been mapped and exposed to the host network. The docker configuration can be customised to allow for DLNA, however it is outside the scope of this starter guide. So these settings won't work unless the docker-compose is reconfigured by yourself.
+
+"Libraries" -- "Display"
+Date added behavior for new content: change to "Use date scanned into library".
+
+"Libraries" -- "Metadata"
+Select your language and country prior to setting up libraries and importing metadata.
+
+
+\## Adding Movie Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Movies
+Display Name: Movies
+Folders: Add - /data/media/movies
+Preferred Language: Personal Choice
+Country: Personal Choice, however it is linked to media ratings on IMDB, and will allow restrictions to children and other users depending on the content you have in the library.
+
+Enable real time monitoring: Ticked
+
+Order for Metadata Downloaders:
+
+* TheMovieDB
+* The Open Movie Database
+* AniList
+* AniDB
+
+Automatically refresh metadata from the internet: Never
+
+Order for Image Fetchers:
+
+* Fanart
+* TheMovieDB
+* The Open Movie Database
+* AniList
+* AniDB
+* Embedded Image Extractor (should be first for dedicated libraries with home video recordings / personal media)
+* Screen Grabber (should be second for dedicated libraries with home video recordings / personal media)
+
+Subtitle Downloads
+
+* Language: Personal Choice
+* Subtitle Downloaders - Open Subtitles: Ticked (Disable for libraries with dedicated home video recordings / personal media)
+
+
+NOTE: If you choose to use an adult movie library, use the same process as above to set up a new / separate adult library, so access to be restricted to certain user accounts.
+
+\## Adding Music Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Music
+Display Name: Music
+Folders: Add - /data/media/music
+Preferred Language: Personal Choice
+Country: Personal Choice, however it is linked to media ratings on OMDB, and will allow restricting content to other users.
+
+Enable real time monitoring: Ticked
+
+Order for Metadata Downloaders (Artists):
+
+*
+
+* MusicBrainz
+*
+
+* TheAudioDB
+
+
+Order for Metadata Downloaders (Albums):
+
+*
+
+* MusicBrainz
+*
+
+* TheAudioDB
+
+
+Order for Image Fetchers (Artists):
+
+*
+
+* Fanart
+*
+
+* TheAudioDB
+
+
+Order for Image Fetchers (Albums):
+
+*
+
+* Fanart
+*
+
+* TheAudioDB
+
+
+Automatically refresh metadata from the internet: Never
+
+Order for Image Fetchers (Music Videos):
+
+*
+
+* Fanart
+*
+
+* Embedded Image Extractor
+*
+
+* Screen Grabber
+
+
+Save artwork into media folders: Ticked
+
+
+\## Adding TV Shows / Series Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Shows
+Display Name: Series
+Folders: Add - /data/media/series
+Preferred Language: Personal Choice
+Country: Personal Choice, however it is linked to the media rating on IMDB,
+and will allow restrictions to children and other users depending on the categorisation you allow other users to access.
+
+Enable real time monitoring: Ticked
+
+Order for Metadata Downloaders (TV Shows):
+
+*
+
+* TheTVDB
+*
+
+* Tvmaze
+*
+
+* AniList
+*
+
+* AniDB
+*
+
+* TheMovieDB
+*
+
+* The Open Movie Database
+*
+
+* Missing Episode Fetcher
+
+
+Order for Metadata Downloaders (Seasons):
+
+*
+
+* TheTVDB
+*
+
+* AniDB
+*
+
+* TheMovieDB
+
+
+
+Order for Metadata Downloaders (Episodes):
+
+*
+
+* TheTVDB
+*
+
+* Tvmaze
+*
+
+* AniDB
+*
+
+* TheMovieDB
+*
+
+* The Open Movie Database
+
+
+Automatically refresh metadata from the internet: Never
+
+Order for Image Fetchers (TV Shows):
+
+* Fanart
+* TVmaze
+* TheTVDB
+* AniDB
+* AniList
+* TheMovieDB
+
+Order for Image Fetchers (Seasons):
+
+* Fanart
+* TVmaze
+* TheTVDB
+* AniDB
+* AniList
+* TheMovieDB
+
+
+Order for Image Fetchers (Episodes):
+
+* TVmaze
+* TheTVDB
+* TheMovieDB
+* The Open Movie Database
+* Embedded Image Extractor
+* Screen Grabber
+
+Subtitle Downloads
+
+* Language: Personal Choice
+* Subtitle Downloaders - Open Subtitles: Ticked (Disable for libraries with dedicated home video recordings / personal media)
+
+
+\## Adding Books Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Books
+Display Name: Books
+Folders: Add - /data/media/books
+
+Enable real time monitoring: Ticked
+
+
+\## Adding Comic / Manga Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Books
+Display Name: Comics
+Folders: Add - /data/media/comics
+
+Enable real time monitoring: Ticked
+
+
+\## Adding Photo Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Photos
+Display Name: Photos
+Folders: Add - /data/media/photos
+
+Enable real time monitoring: Ticked
+
+Order for Image Fetchers (Videos):
+
+* Embedded Image Extractor
+* Screen Grabber
+
+
+
+
+
+
+
+
+
+
+PART 11 - Configuring Jellyseerr
+
+
+[http://localhost:5055](http://localhost:5055) jellyseerr
+
+
+
+When you open Jellyseer for the first time, you'll be asked to sign in… select "Use your Jellyfin Account", and enter the details from your Jellyfin server in order to link it to Jellyseerr.
+
+Jellyfin URL: [http://localhost:8096](http://localhost:8096)
+Email Address: The email address is only used if you want to set up notifications when media has been downloaded, however it is a mandatory field.
+Username: Same username as Jellyfin
+Password: Same password as Jellyfin
+
+After connecting Jellyseerr to Jellyfin, you will need to synchronise the libraries between the two applications.
+
+Select "Sync Libraries", then use the slide toggle to select "Movies" and "Series", However…. DO NOT PRESS "START SCAN", skip the library scan and go straight to "Continue".
+
+**NOTE**: We skip the library scan on initial setup as it can take quite a while to scan the libraries, it is also dependant on Jellyfin having its libraries fully scanned and up to date, so it will be better to scan the libraries after all the configurations are completed.
+
+NOTE: Adult Content - Jellyseerr does not manage Adult content requests, so if you are using Whisparr, the library will appear in "Jellyfin Libraries", however there is no need to activate it for syncing. If the library exists in Jellyfin, it will be seen in Jellyseerr, you just don't need to enable it.
+
+
+Radarr Settings:
+
+Setting up non-4K defaults
+
+Select "Add Radarr Server"
+Default Server: Yes
+4K Server: No
+Server Name: Radarr - FHD 1080P
+Hostname of IP Address: localhost
+Port: 7878
+Use SSL: No
+API Key: Can be found in Radarr application on "Settings" -- "General" page.
+[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
+URL Base: Empty
+Quality Profile: HD-1080p
+Root Folder: /data/media/movies
+Minimum Availability: Released
+Tags: Empty
+External URL: [http://media-server:7878](http://media-server:7878) (Radarr's network address, used in links when sending email notifications)
+Enable Scan: Yes
+Enable Automatic Search: Yes
+
+Test and Save.
+
+Setting up 4K defaults
+Default Server: Yes
+4K Server: Yes
+Server Name: Radarr - UHD 4K
+Hostname of IP Address: localhost
+Port: 7878
+Use SSL: No
+API Key: Can be found in Radarr application on "Settings" -- "General" page.
+[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
+URL Base: Empty
+Quality Profile: Ultra-HD
+Root Folder: /data/media/movies
+Minimum Availability: Released
+Tags: Empty
+External URL: [http://media-server:7878](http://media-server:7878) (Radarr's network address, used in links when sending email notifications)
+Enable Scan: Yes
+Enable Automatic Search: Yes
+
+Test and Save.
+
+
+Sonarr Settings:
+
+Setting up non-4K defaults
+
+Select "Add Sonarr Server"
+Default Server: Yes
+4K Server: No
+Server Name: Sonarr - FHD 1080P
+Hostname of IP Address: localhost
+Port: 8989
+Use SSL: No
+API Key: Can be found in Radarr application on "Settings" -- "General" page.
+[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
+URL Base: Empty
+Quality Profile: HD-1080p
+Root Folder: /data/media/series
+Language Profile: **\* Personal Choice \***
+Tags: Empty
+URL Base: Empty
+Anime Quality Profile: HD-1080p
+Anime Root Folder: /data/media/anime
+Anime Language Profile: **\* Personal Choice \***
+Anime Tags: Empty
+Season Folders: Yes
+External URL: [http://media-server:8989](http://media-server:8989) (Sonarr's network address, used in links when sending email notifications)
+Enable Scan: Yes
+Enable Automatic Search: Yes
+
+Test and Save.
+
+
+
+
+Setting up 4K defaults
+
+Select "Add Sonarr Server"
+Default Server: Yes
+4K Server: No
+Server Name: Sonarr - UHD 4K
+Hostname of IP Address: localhost
+Port: 8989
+Use SSL: No
+API Key: Can be found in Radarr application on "Settings" -- "General" page.
+[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
+URL Base: Empty
+Quality Profile: Ultra-HD
+Root Folder: /data/media/series
+Language Profile: **\* Personal Choice \***
+Tags: Empty
+URL Base: Empty
+Anime Quality Profile: Ultra-4K
+Anime Root Folder: /data/media/anime
+Anime Language Profile: **\* Personal Choice \***
+Anime Tags: Empty
+Season Folders: Yes
+External URL: [http://media-server:8989](http://media-server:8989) (Sonarr's network address, used in links when sending email notifications)
+Enable Scan: Yes
+Enable Automatic Search: Yes
+
+Test and Save.
+
+
+After adding the connectors to Radarr and Sonarr, Jellyseerr will be fully functional, however we want to do some additional configurations before importing users and media information from Jellyfin.
+
+Go to "Settings" -- "General" and make any changes to region and language as needed.
+
+
+Go to "Settings" -- "Users" and make any changes for users, you may want to change the default permissions assigned to new users.
+
+If you want to allow all users to automatically request, approve and download any media type and quality up to 1080P, then you would select "Request", "Auto-Approved", and "Auto-Request". You can select additional permissions and allow automated 4K requests, however the data will quickly add up on the server if is it not controlled, so grant this privilege with due care.
+
+NOTE: These privileges / permissions are applied when new accounts are created or imported from Jellyfin, they do not effect existing user accounts.
+
+
+Go to "Settings" -- "Jellyfin" and select "Start Scan" to commence scanning the Jellyfin libraries for all media.
+
+Go to "Settings" -- "Notifications", you can add any email server settings or integrations if you want to get notifications on the status of your media requests.
+
+Go to the "Users" menu, and you can now create local users, or "Import Jellyfin Users" (preferred). The new users will be granted the privileges / permissions which we set up earlier.
\ No newline at end of file
diff --git a/docs/quick-build.md b/docs/quick-build.md
new file mode 100644
index 0000000..5d4c2c7
--- /dev/null
+++ b/docs/quick-build.md
@@ -0,0 +1,497 @@
+# Docker Media Stack
+>You can download these files easily, by going to [https://github.com/geekau/media-stack](https://github.com/geekau/media-stack) then selecting "**Code**" --> "**Download Zip**".
+
+These Docker Compose configurations will help you rapidly deploy all the applications you need in a Docker stack, to operate a Jellyfin, Jellyseerr, Torrent, Usenet, \*ARR Media Library Managers, Reverse Proxy, MFA Authenticated Access, and Tdarr Automated Media Transcoding enabled media stack, and has been thoroughly testing on Linux, Windows and Synology NAS servers.
+
+## 1 - Prepare / rename media library if needed:
+If you are setting up your media server and media libraries for the very first time, or your media is very poorly named, it is recommended you use Filebot with the following naming standards below, to initially sort all of your media. Otherwise the Media Library Managers and Jellyfin may not be able to identify your media titles, media art, and subtitles, if the original filenames are of a poor standard.
+
+Change "**D:/Storage**" to suit your needs, however use the same disk as the original media, so it is renamed quickly in place, rather than copied to a different disk or network; this could take a great deal of time to complete depending on size of the libraries / media you are renaming.
+>This can be skipped if you have a well organised / structured media library already.
+
+**Filebot Renaming Preset String for Series / TV Shows:**
+```
+D:/Storage/renamed/series/{ny.colon(' - ').ascii()} [tmdbid-{id}]/Season {s00}/{ny.colon(' - ').ascii()} {s00e00} - {t.ascii()} {" - $hd $vf $vc $ac"}
+```
+
+**Filebot Renaming Preset String for Movies / Adult:**
+```
+D:/Storage/renamed/movies/{ny.colon(' - ').ascii()} [imdbid-{imdbid}]/{ny.colon(' - ').ascii()} {" - $hd $vf $vc $ac"}
+```
+
+**Filebot Renaming Preset String for Music / Audio:**
+```
+D:/Storage/renamed/music/{artist.upperInitial().ascii()}/{album.upperInitial().ascii()} ({y})/{albumArtist.upperInitial().ascii()} - {album.upperInitial().ascii()} - {pi.pad(3)+' - '} {t.ascii()}
+```
+
+## 2 - Edit the "docker-compose.env" file, and update variables to suit your environment.
+
+
+```
+DOCKER_SUBNET=172.28.10.0/24
+DOCKER_GATEWAY=172.28.10.1
+LOCAL_SUBNET=10.168.1.0/24
+LOCAL_DOCKER_IP=10.168.1.111
+```
+
+
+### Docker Host Folders Locations:
+Add the folder locations to the ENV file, where your docker configurations and media / downloads will be stored:
+>Folders need to exist before running "docker-compose" commands. Valid choices are Linux, Windows or NAS folder naming conventions.
+```
+FOLDER_FOR_CONFIGS=/home/geekau/docker
+FOLDER_FOR_MEDIA=/home/geekau/media-stack
+```
+
+### At Linux / Synology terminal, use the "id" command to identify user ID and group ID.
+```
+sudo id geekau
+uid=1000(geekau) gid=1000(geekau) groups=1000(geekau)
+```
+Update the ENV file with these details:
+```
+PUID=1000 <-- Update this value from "id" command
+PGID=1000 <-- Update this value from "id" command
+TIMEZONE=Australia/Brisbane
+```
+Update your local Timezone using this list: [List of Timezone Database - Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
+
+### Update your VPN Service Provider details for Gluetun to create VPN tunnel.
+Add your VPN service provider details.
+>If you don't have a VPN service provider configured, Gluetun will not establish a secure VPN tunnel, and will not allow any network traffic out onto the Internet.
+```
+VPN_SERVICE_PROVIDER=VPN provider name
+VPN_USERNAME=
+VPN_PASSWORD=
+SERVER_REGION=
+```
+== **All containers are initally configured to sit behind the VPN connection for security / privacy. If you want the containers to have direct Internet access, follow the steps in each of the YAML files to change the network configuration, and restart the container.** ==
+
+## 3 - Set up all of the folders / subfolders:
+The commands suit the folders defined above in your ENV file for **FOLDER_FOR_CONFIGS** and **FOLDER_FOR_MEDIA**.
+
+### For Linux hosted data folders:
+If you used Linux / NAS folders in the ENV file, then use the following commands to create the necessary folders:
+```
+export FOLDER_FOR_CONFIGS=/home/geekau/docker
+export FOLDER_FOR_MEDIA=/home/geekau/media-stack
+
+sudo -E mkdir -p $FOLDER_FOR_CONFIGS/{authelia,bazarr,ddns-updater,gluetun,heimdall,jellyfin,jellyseerr,lidarr,mylar3,portainer,prowlarr,qbittorrent,radarr,readarr,sabnzbd,sonarr,swag,tdarr,tdarr_transcode_cache,unpackerr,whisparr}
+sudo -E mkdir -p $FOLDER_FOR_MEDIA/media/{adult,anime,audio,books,comics,movies,music,photos,podcasts,series,software}
+sudo -E mkdir -p $FOLDER_FOR_MEDIA/usenet/{adult,anime,audio,books,comics,movies,music,prowlarr,podcasts,series,software}
+sudo -E mkdir -p $FOLDER_FOR_MEDIA/torrents/{adult,anime,audio,books,comics,movies,music,prowlarr,podcasts,series,software}
+sudo -E mkdir -p $FOLDER_FOR_MEDIA/watch
+sudo -E chmod -R 775 $FOLDER_FOR_CONFIGS $FOLDER_FOR_MEDIA
+sudo -E chown -R geekau:geekau $FOLDER_FOR_CONFIGS $FOLDER_FOR_MEDIA
+```
+### For Window hosted data folders:
+If you used Windows folders in the ENV file, then use the following commands to create the necessary folders:
+```
+set FOLDER_FOR_CONFIGS=D:\Storage\Docker
+set FOLDER_FOR_MEDIA=D:\Storage\Media-Stack
+
+FOR /D %I IN (authelia bazarr ddns-updater gluetun heimdall jellyfin jellyseerr lidarr mylar3 portainer prowlarr qbittorrent radarr readarr sabnzbd sonarr swag tdarr tdarr_transcode_cache unpackerr whisparr) DO mkdir %FOLDER_FOR_CONFIGS%\%I
+FOR /D %I IN (adult anime audio books comics movies music photos podcasts series software) DO mkdir %FOLDER_FOR_MEDIA%\media\%I
+FOR /D %I IN (adult anime audio books comics movies music podcasts prowlarr series software) DO mkdir %FOLDER_FOR_MEDIA%\usenet\%I
+FOR /D %I IN (adult anime audio books comics movies music podcasts prowlarr series software) DO mkdir %FOLDER_FOR_MEDIA%\torrents\%I
+mkdir %FOLDER_FOR_MEDIA%\watch
+```
+### Folder mappings between host and Docker containers:
+After you run the commands above (Linux or Windows), **this will be your folder structure INSIDE your docker containers**:
+```
+$ tree $FOLDER_FOR_MEDIA
+
+⠀⠀⠀⠀⠀Host Computer:⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Inside Containers:
+├── /FOLDER_FOR_MEDIA ⠀ ├── /data
+⠀⠀⠀⠀⠀├── media ⠀⠀⠀⠀├── media <-- Media is located / managed under this folder
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── photos │⠀⠀⠀⠀├── photos
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
+⠀⠀⠀⠀⠀├── torrents ⠀⠀⠀⠀├── torrents <-- Downloads for Torrent data
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr │⠀⠀⠀⠀├── prowlarr
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
+⠀⠀⠀⠀⠀├── usenet ⠀⠀⠀⠀├── usenet <-- Downloads for Usenet data
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr │⠀⠀⠀⠀├── prowlarr
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
+⠀⠀⠀⠀⠀└── watch ⠀⠀⠀⠀└── watch <-- Add .nzb and .torrent files for manual download
+
+```
+
+## 4 - Install the Docker applications individually as you need them.
+
+**NOTE: Gluetun MUST be installed as the first container**, as it sets up the VPN and the internal Bridge network the other containers will join (**media_network**).
+
+
+### Deploy VPN and Internal Docker Bridge "media_network":
+```
+sudo docker-compose --file docker-compose-gluetun.yaml --env-file docker-compose.env up -d
+```
+**NOTE - Windows users:** Do not use the "**sudo**" at the front of the commands.
+
+==**NOTE:** "WARNING: Found orphan containers (gluetun, qbittorrent, sabnzbd, prowlarr, prowlarr) for this project"==
+
+This ==WARNING== can be safely ignored, as we're loading the project apps one at a time, rather than all in one YAML file.
+
+## Deploy Media Server and Content Request Manager:
+```
+sudo docker-compose --file docker-compose-jellyfin.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-jellyseerr.yaml --env-file docker-compose.env up -d
+```
+
+
+## Deploy Index Manager and Media Library Managers:
+```
+sudo docker-compose --file docker-compose-prowlarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-lidarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-mylar3.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-radarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-readarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-sonarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-whisparr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-bazarr.yaml --env-file docker-compose.env up -d
+```
+
+
+## Deploy Download Clients:
+```
+sudo docker-compose --file docker-compose-qbittorrent.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-sabnzbd.yaml --env-file docker-compose.env up -d
+```
+
+
+## Deploy Archive Unpacker and Automatic Video Re-encoding:
+```
+sudo docker-compose --file docker-compose-unpackerr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-tdarr.yaml --env-file docker-compose.env up -d
+```
+
+
+## Deploy Reverse Proxy (with SSL Certbot) and Cloudflare Proxy
+```
+sudo docker-compose --file docker-compose-swag.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-authelia.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-heimdall.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-ddns-updater.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-flaresolverr.yaml --env-file docker-compose.env up -d
+```
+>The "your-domain-name.com" / IP Address validation is performed when the container is started for the first time. Nginx won't be up and start the web server, until ssl certs are successfully generated and installed.
+
+## Deploy Portainer-CE to View Docker via GUI
+```
+sudo docker-compose --file docker-compose-portainer.yaml --env-file docker-compose.env up -d
+```
+
+
+
+## Application Portals:
+
+ Portal | Application | Function
+-------- | -------- | --------
+[https://localhost:9443](https://localhost:9443)|Portainer|GUI Interface for Docker Management
+[http://localhost:6767](http://localhost:6767)|Bazarr|Subtitle Manager for Radarr / Sonarr
+[http://localhost:8191](http://localhost:8191)|FlareSolverr|Provides status message only
+[http://localhost:8096](http://localhost:8096)|Jellyfin|(Media Player)
+[http://localhost:5055](http://localhost:5055)|Jellyseerr|(Content Request Management)
+[http://localhost:8686](http://localhost:8686)|Lidarr|(Library Manager - Music)
+[http://localhost:8090](http://localhost:8090)|Mylar3|(Library Manager - Comics)
+[http://localhost:9696](http://localhost:9696)|Prowlarr|(Index and Search Management)
+[http://localhost:7878](http://localhost:7878)|Radarr|(Library Manager - Movies)
+[http://localhost:8787](http://localhost:8787)|Readarr|(Library Manager - Books)
+[http://localhost:8100](http://localhost:8100)|SABnzbd|(Library Manager - TV Shows)
+[http://localhost:8989](http://localhost:8989)|Sonarr|(Library Manager - TV Shows)
+[http://localhost:8265](http://localhost:8265)|Tdarr|Automatic Audio/Video Library Transcoding
+[http://localhost:6969](http://localhost:6969)|Whisparr|(Library Manager - XXX)
+[http://localhost:8200](http://localhost:8200)|qBittorrent|(Downloader - Torrents)
+[http://localhost:5080](http://localhost:5080)|SWAG - Nginx|Web Server for Reverse Proxy HTTP
+[http://localhost:5433](http://localhost:5433)|SWAG - Nginx|Web Server for Reverse Proxy HTTPS
+[http://localhost:6500](http://localhost:6500)|DDNS-Updater|Web Portal - DDNS-Updater Status
+
+**Default qBittorrent Portal Access:** Username: **admin** Password: **adminadmin**
+
+**NOTE: If the qBittorrent portal fails to load with an error message**, it may be due to the themepark module, this can be resolved by editing "FOLDER_FOR_CONFIGS/qbittorrent/qBittorrent/qBittorrent.conf" and changing "WebUI\AlternativeUIEnabled=true" to "false" and restarting qBittorrent.
+
+## For Reverse Proxy into your network (from the Internet):
+
+ Portal | Application | Function
+-------- | -------- | --------
+[http://your-domain-name.com](http://your-domain-name.com)|SWAG|Reverse Proxy
+[https://your-domain-name.com](http://your-domain-name.com)|SWAG|Reverse Proxy
+
+The SWAG container provides Nginx Reverse Proxy and MFA running on ports **5080/HTTP** and **5443/HTTPS**, so they don't conflict with other services running on the Docker host computer. To access your Reverse Proxy from the Internet, you need to set up your gateway / router, to allow Internet ports **80** and **443** into your network, but redirect them to the Docker host IP Address on ports **5080** and **5443** respectively.
+
+Port **80** will be accessible on the Internet and redirected to the Reverse Proxy on port **5080**, however it will redirect to HTTPS protocol using port **443** via the Internet, which will also be redirected to the Reverse Proxy on port **5443**. Reverse Proxy port numbers can be changed as required in the ENV file if required.
+
+The SWAG container requires a resolvable domain name, and will automatically install SSL certificates using either Let's Encrypt or Zero SSL providers, and is also able to provide Multi-Factor Authentication (MFA), to provide strong security for your Internet connected applications.
+
+ - [https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia](https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia)
+
+
+
+## Configuring DDNS-Updater for Reverse Proxy
+
+Reference: [https://hub.docker.com/r/qmcgaw/ddns-updater](https://hub.docker.com/r/qmcgaw/ddns-updater)
+
+If you have a Dynamic IP address, you will need a way to keep your Dynamic IP Address insync with your registered domain name. The DNS-Updater container supports MANY DDNS service providers, however we need to use Cloudflare as part of the Authelia zero trust framework for our multifacture authentication, so it makes sense to use Cloudflare to also host your domain and update it with DDNS-Updater. Head over to Cloudflare and register a free account: [https://dash.cloudflare.com/sign-up](https://dash.cloudflare.com/sign-up)
+
+Once you have registered a free account with Cloudflare, you can transfer your existing domain to Cloudflare with "Domain Registration" --> "Transfer Domains", or you can purchase a new domain inside Cloudflare with "Domain Registration" --> "Purchase Domains".
+
+If you don't want to pay for a domain and want to use a free DDNS domain, then check out the DDNS-Updater documenation and follow the DDNS set up for your preferred option.
+
+Configure the DDNS-Updater by editing the "config.json" file with the details and credentials for your DDNS provider.
+
+```
+sudo vi FOLDER_FOR_CONFIGS/ddns-updater/config.json
+
+{
+ "settings": [
+ {
+ "provider": "cloudflare",
+ "zone_identifier": "zone id",
+ "domain": "your-domain-name.com",
+ "host": "@",
+ "ttl": 600,
+ "token": "yourtoken",
+ "ip_version": "ipv4"
+ }
+ ]
+}
+```
+
+Restart the DDNS-Updater container, then check the status at: [http://localhost:6500](http://localhost:6500)
+
+
+## Configuring SWAG HTTP / DNS
+In order for the Certbot tool inside SWAG to be able to request / issue a digital SSL certificate from Let's Encrypt or ZeroSSL, you need to set up the validation type in ENV.
+```
+sudo vi docker-compose.env
+VALIDATION=dns
+DNSPLUGIN=cloudflare
+```
+If you're using "dns" as the validation process, select the DNS plugin that suits your environment, and make appropriate updates.
+
+DNS plugins are located: "**FOLDER_FOR_CONFIGS/swag/dns-conf/**"
+
+>The domain name you used in "**URL**" MUST resolve back to your Internet IP address, and your Internet Router / Firewall be set up to forward the ports **80** and **443** to your Docker host IP address, on ports **5080** and **5443** respectively.
+
+Refer to:
+
+- [https://docs.linuxserver.io/general/swag#cert-provider-lets-encrypt-vs-zerossl](https://docs.linuxserver.io/general/swag#cert-provider-lets-encrypt-vs-zerossl)
+- [https://docs.linuxserver.io/general/swag#web-hosting-examples](https://docs.linuxserver.io/general/swag#web-hosting-examples)
+- [https://docs.linuxserver.io/general/swag#reverse-proxy](https://docs.linuxserver.io/general/swag#reverse-proxy)
+- [https://docs.linuxserver.io/general/swag#authorization-method](https://docs.linuxserver.io/general/swag#authorization-method)
+
+SWAG has many different plugins available to help validate your "your-domain-name.com" / IP address, via DNS, they are located in the $FOLDER_FOR_CONFIGS/swag/dns-conf folder.
+For example, to set up the Cloudflare plugin, edit the following:
+```
+sudo vi $FOLDER_FOR_CONFIGS/swag/dns-conf/cloudflare.ini
+```
+**You can then update the ENV file, delete the SWAG container and re-deploy it, to build a new container with the updated configurations.**
+
+###Once your SWAG Server has validated "your-domain-name.com" / IP address, and installed an SSL certificate, the Nginx web server will start working.
+
+###If you have forwarded ports 80 and 443 to the Docker host on 5080 and 5443, then you should be able to access the Nginx web server welcome page from the Internet.
+
+You can use an online remote web browser to check if your site is accessible from the Internet. Go to [https://www.browserling.com](https://www.browserling.com) and put in your domain name to test.
+
+>NOTE: All HTTP traffic on port 80 is automatically redirected to HTTPS on port 443, so it helps to have both ports open and redirected.
+
+
+
+## Activate Authelia Integration in SWAG Container
+
+How to set up users, passwords and groups in Authelia
+[https://www.authelia.com/reference/guides/passwords/](https://www.authelia.com/reference/guides/passwords/)
+
+
+[https://www.authelia.com/integration/prologue/get-started/](https://www.authelia.com/integration/prologue/get-started/)
+
+
+```
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/authelia-server.conf
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/authelia-location.conf
+
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
+include /config/nginx/authelia-server.conf;
+
+sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-server.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-server.conf
+sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-location.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-location.conf
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## 5 - Configuring the docker applications after they have been deployed
+Refer to:
+
+- [https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/](https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/)
+- [https://www.synoforum.com/resources/ultimate-starter-page-2-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.185/](https://www.synoforum.com/resources/ultimate-starter-page-2-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.185/)
+
+Follow what is in these pages for now, they will be updated further to include these applications / setup.
+
+
+
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+
+### Document Heimdell integration better
+### Document Authelia so the authentication mechanisms are working....
+One factor / two factor authentication.
+
+
+
+
+## Activate Heimdall Integration in SWAG Container
+```
+sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf
+
+#Enable this line
+include /config/nginx/authelia-location.conf;
+
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
+
+```
+
+
+# THESE ARE ITEMS FOR NOTES ONLY AT THIS POINT
+
+```
+Text Editor - Open:
+
+heimdall.subfolder.conf.sample
+sudo vi $FOLDER_FOR_CONFIGS/swag/www/index.html
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
+sudo -E vi $FOLDER_FOR_CONFIGS/authelia/
+sudo -E vi $FOLDER_FOR_CONFIGS/authelia/
+
+```
+
+
+[https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia](https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia)
+
+Test...
+
+
+
+
+
+
+# THESE ARE ITEMS FOR NOTES ONLY AT THIS POINT
+
+
+
+cat /home/geekau/docker/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
+
+/home/geekau/docker/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
+
+
+
+
+$FOLDER_FOR_CONFIGS/swag/
+$FOLDER_FOR_CONFIGS/swag/dns-conf/
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/
+$FOLDER_FOR_CONFIGS/swag/nginx/
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy.conf
+$FOLDER_FOR_CONFIGS/swag/nginx/nginx.conf
+
+
+
+sudo -E cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf
+sudo -E cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf
+ls -la $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/*.conf
+ls -la $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/
+
+mv /mnt/user/appdata/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample /mnt/user/appdata/swag/nginx/proxy-confs/sonarr.subdomain.conf
+
+
+
+audiobookshelf.subdomain.conf.sample
+audiobookshelf.subfolder.conf.sample
+authelia.subdomain.conf.sample
+bazarr.subdomain.conf.sample
+bazarr.subfolder.conf.sample
+filebot.subdomain.conf.sample
+filebot.subfolder.conf.sample
+jellyfin.subdomain.conf.sample
+jellyfin.subfolder.conf.sample
+jellyseerr.subdomain.conf.sample
+lidarr.subdomain.conf.sample
+lidarr.subfolder.conf.sample
+mylar.subdomain.conf.sample
+mylar.subfolder.conf.sample
+portainer.subdomain.conf.sample
+portainer.subfolder.conf.sample
+prowlarr.subdomain.conf.sample
+prowlarr.subfolder.conf.sample
+qbittorrent.subdomain.conf.sample
+qbittorrent.subfolder.conf.sample
+radarr.subdomain.conf.sample
+radarr.subfolder.conf.sample
+readarr.subdomain.conf.sample
+readarr.subfolder.conf.sample
+sabnzbd.subdomain.conf.sample
+sabnzbd.subfolder.conf.sample
+sonarr.subdomain.conf.sample
+sonarr.subfolder.conf.sample
+tdarr.subdomain.conf.sample
+
+
+
+
+
+
diff --git a/docs/starting/docker.md b/docs/starting/docker.md
new file mode 100644
index 0000000..102e200
--- /dev/null
+++ b/docs/starting/docker.md
@@ -0,0 +1 @@
+# Installing Docker
diff --git a/docs/starting/download.md b/docs/starting/download.md
new file mode 100644
index 0000000..1e8c0e8
--- /dev/null
+++ b/docs/starting/download.md
@@ -0,0 +1,8 @@
+# Download Docker Build Files
+
+Goto: [https://github.com/geekau/media-stack](https://github.com/geekau/media-stack)
+
+Download this repository to your computer by selecting "**Code**" --> "**Download Zip**".
+
+# Follow the installation instructions at: [https://MediaStack.Guide](https://MediaStack.Guide)
+
diff --git a/docs/starting/filesystems.md b/docs/starting/filesystems.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/starting/intro.md b/docs/starting/intro.md
new file mode 100644
index 0000000..b408019
--- /dev/null
+++ b/docs/starting/intro.md
@@ -0,0 +1 @@
+# Intro to MediaStack
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
index e69de29..8266dcd 100644
--- a/docs/stylesheets/extra.css
+++ b/docs/stylesheets/extra.css
@@ -0,0 +1,3 @@
+.md-grid {
+ max-width: 1440px;
+}
diff --git a/docs/test.md b/docs/test.md
index e69de29..504519c 100644
--- a/docs/test.md
+++ b/docs/test.md
@@ -0,0 +1,19 @@
+>
+
+
+
+
+
+
+
+
+
+These Docker-Compose YAML and ENV files work together to help you rapidly deploy a full VPN encrypted Jellyfin, Jellyseerr, SABnzbd, qBittorrent and *ARR media stack, which can be deployed in only a few minutes on Linux, Windows or Synology NAS Docker hosts.
+
+Ultimate Starter - (PAGE 1) - Jellyfin, Jellyseerr, SABnzbd, Torrents and *ARR Media Library Stack
+https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/
+
+Ultimate Starter - (PAGE 2) - Jellyfin, Jellyseerr, SABnzbd, Torrents and *ARR Media Library Stack
+https://www.synoforum.com/resources/ultimate-starter-page-2-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.185/
+
+You can then use the above guides to configure the settings for each of the applications - they are mostly cut-and-paste, to help simplify and speed up the configuration for relatively inexperienced users.
diff --git a/mkdocs.yml b/mkdocs.yml
index 27cf765..151a82c 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -1,22 +1,69 @@
+# yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json
+
site_name: MediaStack.Guide
-site_url: https://example.com/
+site_url: https://mediastack.guide/
+
+repo_url: https://github.com/geekau/media-stack
+repo_name: media-stack
+
+plugins:
+ - search
+ - git-committers:
+ repository: geekau/media-stack
+ branch: main
nav:
- - Home: index.md
- - About: about.md
+ - Home: index.md
+ - Introduction:
+ - Intro to MediaStack: starting/intro.md
+ - Applications and Their Roles: starting/applicationroles.md
+ - Installing Docker on Host OS: starting/docker.md
+ - Docker Filesystems / Folders: starting/filesystems.md
+ - Download Docker Build Files: starting/download.md
+ - Installing Docker Apps:
+ - Configuring Environment: installation/environment.md
+ - Installing Apps Individually: installation/individualinstall.md
+ - Installing Apps Collectively: installation/collectiveinstall.md
+ - Configuring Environment: installation/environment.md
+ - installation/df
+ - Contributing to MediaStack:
+ -
+ - contributing.md
+ - Download: download.md
+ - environment.md
+ - quick-build.md
+ - test.md
theme:
name: material
+ icon: fontawesome/brands/git
+ repo: fontawesome/brands/git-alt
palette:
- scheme: slate
toggle:
icon: material/brightness-7
- name: Switch to dark mode
+ name: Switch to Light Mode
- scheme: default
toggle:
icon: material/brightness-4
- name: Switch to light mode
+ name: Switch to Dark Mode
+ features:
+ - navigation.instant
+ - navigation.tracking
+ - navigation.tabs
+ - navigation.tabs.sticky
+ - navigation.sections
+ - navigation.expand
+ - navigation.prune
+ - navigation.indexes
+ - toc.follow
+ - toc.integrate
+ - navigation.top
+ - search.suggest
+ - search.highlight
+ - header.autohide
+
custom_dir: overrides
@@ -27,3 +74,25 @@ extra_javascript:
- javascripts/extra.js
+extra:
+ consent:
+ title: Cookie Consent
+ description: >-
+ We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users
+ find what they're searching for. With your consent, you're helping us to make our documentation better.
+
+ social:
+ - icon: fontawesome/brands/github
+ link: https://github.com/geekau/MediaStack.Guide
+ name: "GitHub: MediaStack.Guide"
+
+ - icon: fontawesome/brands/github
+ link: https://github.com/geekau/media-stack
+ name: "GitHub: media-stack"
+
+ - icon: fontawesome/brands/twitter
+ link: https://twitter.com/squidfunk
+ name: "Twitter: squidfunk"
+
+copyright: >
+ Copyright © 2023 - MediaStack.Guide – Change Cookie Settings
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 4eb9bb3..7e0f8ae 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,3 +4,4 @@ mkdocs-minify-plugin
mkdocs-material
mkdocs-awesome-pages-plugin
mkdocs-git-revision-date-localized-plugin
+mkdocs-git-committers-plugin-2
\ No newline at end of file
From 5822a9b740cddc06f57159efe9d28920b005aa8a Mon Sep 17 00:00:00 2001
From: geekau <117238609+geekau@users.noreply.github.com>
Date: Wed, 28 Dec 2022 02:57:42 +1000
Subject: [PATCH 03/29] fix nav
---
mkdocs.yml | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/mkdocs.yml b/mkdocs.yml
index 151a82c..1c7dba0 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -25,9 +25,9 @@ nav:
- Installing Apps Individually: installation/individualinstall.md
- Installing Apps Collectively: installation/collectiveinstall.md
- Configuring Environment: installation/environment.md
- - installation/df
+ - installation/deletethis.md
- Contributing to MediaStack:
- -
+ - testing.md
- contributing.md
- Download: download.md
- environment.md
@@ -36,9 +36,7 @@ nav:
theme:
name: material
- icon: fontawesome/brands/git
- repo: fontawesome/brands/git-alt
-
+
palette:
- scheme: slate
toggle:
From c427742fc05a7bb3370d7a38c11b85828b7557a0 Mon Sep 17 00:00:00 2001
From: geekau <117238609+geekau@users.noreply.github.com>
Date: Wed, 28 Dec 2022 03:06:25 +1000
Subject: [PATCH 04/29] dev test overrides
---
mkdocs.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkdocs.yml b/mkdocs.yml
index 1c7dba0..c849fe6 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -63,7 +63,7 @@ theme:
- header.autohide
- custom_dir: overrides
+# custom_dir: overrides
extra_css:
- stylesheets/extra.css
From c263460d7970cb61ef3e46765b50a31afa793b06 Mon Sep 17 00:00:00 2001
From: geekau <117238609+geekau@users.noreply.github.com>
Date: Wed, 28 Dec 2022 03:12:29 +1000
Subject: [PATCH 05/29] testing
---
mkdocs.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkdocs.yml b/mkdocs.yml
index c849fe6..b8725b5 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -63,7 +63,7 @@ theme:
- header.autohide
-# custom_dir: overrides
+## custom_dir: overrides
extra_css:
- stylesheets/extra.css
From 6841c1281ba607982cd8fdb9cc636b888486fc49 Mon Sep 17 00:00:00 2001
From: geekau <117238609+geekau@users.noreply.github.com>
Date: Wed, 28 Dec 2022 03:22:17 +1000
Subject: [PATCH 06/29] test further
---
mkdocs.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkdocs.yml b/mkdocs.yml
index b8725b5..c849fe6 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -63,7 +63,7 @@ theme:
- header.autohide
-## custom_dir: overrides
+# custom_dir: overrides
extra_css:
- stylesheets/extra.css
From c2293e8bd6efc3586230ec36e4754a3db013ed1f Mon Sep 17 00:00:00 2001
From: geekau
Date: Wed, 28 Dec 2022 12:02:12 +1000
Subject: [PATCH 07/29] test gpg sig
---
docs/index.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/index.md b/docs/index.md
index af8127d..520cac5 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -2,7 +2,7 @@
For full documentation visit [mkdocs.org](https://www.mkdocs.org).
-## Commands
+## Commandssesss.
* `mkdocs new [dir-name]` - Create a new project.
* `mkdocs serve` - Start the live-reloading docs server.
From 2a23ace53c99e0e637ad318536209ec738ad2e08 Mon Sep 17 00:00:00 2001
From: geekau
Date: Sat, 14 Jan 2023 21:31:27 +1000
Subject: [PATCH 08/29] page structure updates
---
docs/index.md | 43 ++++++++
.../collectiveinstall.md} | 0
docs/install/environment.md | 5 +
docs/install/individualinstall.md | 0
docs/intro/applicationroles.md | 0
docs/{starting => intro}/docker.md | 0
docs/{starting => intro}/download.md | 0
docs/intro/filesystems.md | 0
docs/{starting => intro}/intro.md | 0
docs/stylesheets/extra.css | 5 +
mkdocs.yml | 100 ++++++++++++++----
requirements.txt | 3 +-
12 files changed, 132 insertions(+), 24 deletions(-)
rename docs/{starting/filesystems.md => install/collectiveinstall.md} (100%)
create mode 100644 docs/install/environment.md
create mode 100644 docs/install/individualinstall.md
create mode 100644 docs/intro/applicationroles.md
rename docs/{starting => intro}/docker.md (100%)
rename docs/{starting => intro}/download.md (100%)
create mode 100644 docs/intro/filesystems.md
rename docs/{starting => intro}/intro.md (100%)
diff --git a/docs/index.md b/docs/index.md
index 520cac5..e9a311d 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -15,3 +15,46 @@ For full documentation visit [mkdocs.org](https://www.mkdocs.org).
docs/
index.md # The documentation homepage.
... # Other markdown pages, images and other files.
+
+```diagram
+graph TB
+ c1-->a2
+ subgraph one
+ a1-->a2
+ end
+ subgraph two
+ b1-->b2
+ end
+ subgraph three
+ c1-->c2
+ end
+```
+
+
+
+![Image title](https://dummyimage.com/600x400/eee/aaa){ loading=lazy,align=left }
+
+++ctrl+alt+del++
+
+
+
+!!! attention
+
+ This is an Attention field... copy this example
+
+---
+
+!!! important
+
+ This is an Important field... copy this example
+
+---
+
+!!! info
+
+ This is an Info field... copy this example
+
+---
\ No newline at end of file
diff --git a/docs/starting/filesystems.md b/docs/install/collectiveinstall.md
similarity index 100%
rename from docs/starting/filesystems.md
rename to docs/install/collectiveinstall.md
diff --git a/docs/install/environment.md b/docs/install/environment.md
new file mode 100644
index 0000000..a36d6fd
--- /dev/null
+++ b/docs/install/environment.md
@@ -0,0 +1,5 @@
+# Docker Environment File
+
+The docker applications are deployed and configured by using an environment file, which ensures all variables and settings are shared consistantly across all of the applications as they are deployed.
+
+The environment file is called docker-compose.env, and it is exactly the same file located in each of the folders
diff --git a/docs/install/individualinstall.md b/docs/install/individualinstall.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/intro/applicationroles.md b/docs/intro/applicationroles.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/starting/docker.md b/docs/intro/docker.md
similarity index 100%
rename from docs/starting/docker.md
rename to docs/intro/docker.md
diff --git a/docs/starting/download.md b/docs/intro/download.md
similarity index 100%
rename from docs/starting/download.md
rename to docs/intro/download.md
diff --git a/docs/intro/filesystems.md b/docs/intro/filesystems.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/starting/intro.md b/docs/intro/intro.md
similarity index 100%
rename from docs/starting/intro.md
rename to docs/intro/intro.md
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
index 8266dcd..4dc9cac 100644
--- a/docs/stylesheets/extra.css
+++ b/docs/stylesheets/extra.css
@@ -1,3 +1,8 @@
.md-grid {
max-width: 1440px;
}
+.md-typeset .admonition,
+.md-typeset details {
+ border-width: 2;
+ border-left-width: 8px;
+}
diff --git a/mkdocs.yml b/mkdocs.yml
index c849fe6..55d426a 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -3,28 +3,30 @@
site_name: MediaStack.Guide
site_url: https://mediastack.guide/
-repo_url: https://github.com/geekau/media-stack
repo_name: media-stack
+repo_url: https://github.com/geekau/media-stack
plugins:
- search
- - git-committers:
- repository: geekau/media-stack
- branch: main
+ - glightbox
+# - git-committers:
+# repository: geekau/media-stack
+# branch: main
+
nav:
- Home: index.md
- Introduction:
- - Intro to MediaStack: starting/intro.md
- - Applications and Their Roles: starting/applicationroles.md
- - Installing Docker on Host OS: starting/docker.md
- - Docker Filesystems / Folders: starting/filesystems.md
- - Download Docker Build Files: starting/download.md
+ - Intro to MediaStack: intro/intro.md
+ - Applications and Their Roles: intro/applicationroles.md
+ - Installing Docker on Host OS: intro/docker.md
+ - Docker Filesystems / Folders: intro/filesystems.md
+ - Download Docker Build Files: intro/download.md
- Installing Docker Apps:
- - Configuring Environment: installation/environment.md
- - Installing Apps Individually: installation/individualinstall.md
- - Installing Apps Collectively: installation/collectiveinstall.md
- - Configuring Environment: installation/environment.md
+ - Configuring Environment: install/environment.md
+ - Installing Apps Individually: install/individualinstall.md
+ - Installing Apps Collectively: install/collectiveinstall.md
+ - Configuring Environment: install/environment.md
- installation/deletethis.md
- Contributing to MediaStack:
- testing.md
@@ -36,32 +38,84 @@ nav:
theme:
name: material
+ icon:
+ repo: fontawesome/brands/github
+ admonition:
+ note: fontawesome/solid/note-sticky
+ abstract: fontawesome/solid/book
+ info: fontawesome/solid/circle-info
+ tip: fontawesome/solid/bullhorn
+ success: fontawesome/solid/check
+ question: fontawesome/solid/circle-question
+ warning: fontawesome/solid/triangle-exclamation
+ failure: fontawesome/solid/bomb
+ danger: fontawesome/solid/skull
+ bug: fontawesome/solid/robot
+ example: fontawesome/solid/flask
+ quote: fontawesome/solid/quote-left
- palette:
- - scheme: slate
+ palette:
+ - media: "(prefers-color-scheme: light)"
+ scheme: default
+ primary: blue
+ accent: red
toggle:
- icon: material/brightness-7
- name: Switch to Light Mode
- - scheme: default
- toggle:
- icon: material/brightness-4
+ icon: material/lightbulb
name: Switch to Dark Mode
+ - media: "(prefers-color-scheme: dark)"
+ scheme: slate
+ primary: yellow
+ accent: red
+ toggle:
+ icon: material/lightbulb-outline
+ name: Switch to Light Mode
+
features:
+ - content.tabs.link
- navigation.instant
- navigation.tracking
+ - navigation.top
- navigation.tabs
- navigation.tabs.sticky
- navigation.sections
- navigation.expand
- - navigation.prune
- - navigation.indexes
+# - navigation.prune
+# - navigation.indexes
- toc.follow
- toc.integrate
- - navigation.top
- search.suggest
- search.highlight
- header.autohide
+markdown_extensions:
+ - admonition
+ - pymdownx.betterem
+ - pymdownx.details
+ - pymdownx.critic
+ - pymdownx.caret:
+ smart_insert: true
+ insert: true
+ superscript: true
+ - pymdownx.keys
+ - pymdownx.mark
+ - pymdownx.tilde
+ - pymdownx.tabbed:
+ alternate_style: true
+ - pymdownx.tasklist:
+ custom_checkbox: true
+ - pymdownx.superfences
+ - attr_list
+ - def_list
+ - footnotes
+ - md_in_html
+ - toc:
+ title: "On This Page:"
+ toc_depth: 3
+ permalink: true
+ permalink_title: "Permanent Link "
+ slugify: !!python/name:pymdownx.slugs.uslugify
+
+
# custom_dir: overrides
diff --git a/requirements.txt b/requirements.txt
index 7e0f8ae..bda9596 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,4 +4,5 @@ mkdocs-minify-plugin
mkdocs-material
mkdocs-awesome-pages-plugin
mkdocs-git-revision-date-localized-plugin
-mkdocs-git-committers-plugin-2
\ No newline at end of file
+mkdocs-git-committers-plugin-2
+mkdocs-glightbox
From 365e23a3b019233fc1db27d122ae7a3b0c0ba65c Mon Sep 17 00:00:00 2001
From: geekau
Date: Sun, 15 Jan 2023 03:13:27 +1000
Subject: [PATCH 09/29] major layout prep
---
.../arr-applications.md} | 0
docs/configure/cloudflare-domains.md | 1 +
docs/configure/cloudflare-zero-trust.md | 1 +
docs/configure/ddns-updater.md | 1 +
docs/configure/download-clients.md | 1 +
docs/configure/jellyfin.md | 1 +
docs/configure/jellyseerr.md | 1 +
docs/configure/swag.md | 1 +
docs/{ => contributing}/contributing.md | 0
.../collectiveinstall.md => img/favicon.ico} | 0
docs/index.md | 109 ++++++++++++-
.../collective-install.md} | 5 +
.../{environment.md => environment-file.md} | 0
.../individual-install.md} | 3 +
docs/install/individualinstall.md | 0
docs/install/portainer.md | 1 +
docs/intro/application-roles.md | 1 +
docs/intro/applicationroles.md | 0
docs/intro/docker-filesystems.md | 8 +
.../{download.md => download-mediastack.md} | 0
docs/intro/filesystems.md | 0
docs/intro/{docker.md => install-docker.md} | 0
docs/intro/media-library.md | 1 +
docs/intro/{intro.md => mediastack.md} | 0
docs/stylesheets/extra.css | 7 +-
docs/test.md | 19 ---
init_setup.sh | 8 +-
mkdocs.yml | 147 +++++++++---------
requirements.txt | 9 +-
29 files changed, 224 insertions(+), 101 deletions(-)
rename docs/{part1.md => configure/arr-applications.md} (100%)
create mode 100644 docs/configure/cloudflare-domains.md
create mode 100644 docs/configure/cloudflare-zero-trust.md
create mode 100644 docs/configure/ddns-updater.md
create mode 100644 docs/configure/download-clients.md
create mode 100644 docs/configure/jellyfin.md
create mode 100644 docs/configure/jellyseerr.md
create mode 100644 docs/configure/swag.md
rename docs/{ => contributing}/contributing.md (100%)
rename docs/{install/collectiveinstall.md => img/favicon.ico} (100%)
rename docs/{quick-build.md => install/collective-install.md} (99%)
rename docs/install/{environment.md => environment-file.md} (100%)
rename docs/{part2.md => install/individual-install.md} (99%)
delete mode 100644 docs/install/individualinstall.md
create mode 100644 docs/install/portainer.md
create mode 100644 docs/intro/application-roles.md
delete mode 100644 docs/intro/applicationroles.md
create mode 100644 docs/intro/docker-filesystems.md
rename docs/intro/{download.md => download-mediastack.md} (100%)
delete mode 100644 docs/intro/filesystems.md
rename docs/intro/{docker.md => install-docker.md} (100%)
create mode 100644 docs/intro/media-library.md
rename docs/intro/{intro.md => mediastack.md} (100%)
delete mode 100644 docs/test.md
diff --git a/docs/part1.md b/docs/configure/arr-applications.md
similarity index 100%
rename from docs/part1.md
rename to docs/configure/arr-applications.md
diff --git a/docs/configure/cloudflare-domains.md b/docs/configure/cloudflare-domains.md
new file mode 100644
index 0000000..c78436f
--- /dev/null
+++ b/docs/configure/cloudflare-domains.md
@@ -0,0 +1 @@
+# Cloudflare Domain Management
diff --git a/docs/configure/cloudflare-zero-trust.md b/docs/configure/cloudflare-zero-trust.md
new file mode 100644
index 0000000..8d56c01
--- /dev/null
+++ b/docs/configure/cloudflare-zero-trust.md
@@ -0,0 +1 @@
+# Cloudflare - Zero Trust Network Access
diff --git a/docs/configure/ddns-updater.md b/docs/configure/ddns-updater.md
new file mode 100644
index 0000000..97879ae
--- /dev/null
+++ b/docs/configure/ddns-updater.md
@@ -0,0 +1 @@
+# DDNS-Updater - Keep Dynamic IP / DNS Mappings Updated
diff --git a/docs/configure/download-clients.md b/docs/configure/download-clients.md
new file mode 100644
index 0000000..6a75975
--- /dev/null
+++ b/docs/configure/download-clients.md
@@ -0,0 +1 @@
+# Configure Download Clients
diff --git a/docs/configure/jellyfin.md b/docs/configure/jellyfin.md
new file mode 100644
index 0000000..031b68a
--- /dev/null
+++ b/docs/configure/jellyfin.md
@@ -0,0 +1 @@
+# Jellyfin Media Server
diff --git a/docs/configure/jellyseerr.md b/docs/configure/jellyseerr.md
new file mode 100644
index 0000000..1193aec
--- /dev/null
+++ b/docs/configure/jellyseerr.md
@@ -0,0 +1 @@
+# Jellyseerr - Media Request Manager
diff --git a/docs/configure/swag.md b/docs/configure/swag.md
new file mode 100644
index 0000000..5485403
--- /dev/null
+++ b/docs/configure/swag.md
@@ -0,0 +1 @@
+# SWAG - Secure Web Application Gateway
diff --git a/docs/contributing.md b/docs/contributing/contributing.md
similarity index 100%
rename from docs/contributing.md
rename to docs/contributing/contributing.md
diff --git a/docs/install/collectiveinstall.md b/docs/img/favicon.ico
similarity index 100%
rename from docs/install/collectiveinstall.md
rename to docs/img/favicon.ico
diff --git a/docs/index.md b/docs/index.md
index e9a311d..8c44b43 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -16,7 +16,7 @@ For full documentation visit [mkdocs.org](https://www.mkdocs.org).
index.md # The documentation homepage.
... # Other markdown pages, images and other files.
-```diagram
+``` mermaid
graph TB
c1-->a2
subgraph one
@@ -30,6 +30,30 @@ graph TB
end
```
+!!! danger
+
+ === "C"
+
+ ``` c
+ #include
+
+ int main(void) {
+ printf("Hello world!\n");
+ return 0;
+ }
+ ```
+
+ === "C++"
+
+ ``` c++
+ #include
+
+ int main(void) {
+ std::cout << "Hello world!" << std::endl;
+ return 0;
+ }
+ ```
+
![Image title](https://dummyimage.com/600x400/eee/aaa){ loading=lazy,align=left }
@@ -41,15 +65,15 @@ graph TB
Image caption
-!!! attention
+!!! note
- This is an Attention field... copy this example
+ This is a Note field... copy this example
---
-!!! important
+!!! abstract
- This is an Important field... copy this example
+ This is an Abstract field... copy this example
---
@@ -57,4 +81,77 @@ graph TB
This is an Info field... copy this example
----
\ No newline at end of file
+ === "Linux Shell"
+
+ ``` shell
+ This is linux code
+ ```
+ === "Windows Prompt"
+
+ ``` powershell
+ This is linux code
+ ```
+
+ === "Synology SSH"
+
+ ``` putty
+ This is linux code
+ ```
+
+---
+
+!!! tip
+
+ This is a Tip field... copy this example
+
+---
+
+!!! success
+
+ This is a Success field... copy this example
+
+---
+
+!!! question
+
+ This is a Question field... copy this example
+
+---
+
+!!! warning
+
+ This is a Warning field... copy this example
+
+---
+
+!!! failure
+
+ This is a Failure field... copy this example
+
+---
+
+!!! danger
+
+ This is a Danger field... copy this example
+
+---
+
+!!! bug
+
+ This is a Bug field... copy this example
+
+---
+
+!!! example
+
+ This is an Example field... copy this example
+
+---
+
+!!! quote
+
+ This is a Quote field... copy this example
+
+---
+
+
diff --git a/docs/quick-build.md b/docs/install/collective-install.md
similarity index 99%
rename from docs/quick-build.md
rename to docs/install/collective-install.md
index 5d4c2c7..496d48b 100644
--- a/docs/quick-build.md
+++ b/docs/install/collective-install.md
@@ -1,3 +1,8 @@
+# Collective Installation
+
+
+
+
# Docker Media Stack
>You can download these files easily, by going to [https://github.com/geekau/media-stack](https://github.com/geekau/media-stack) then selecting "**Code**" --> "**Download Zip**".
diff --git a/docs/install/environment.md b/docs/install/environment-file.md
similarity index 100%
rename from docs/install/environment.md
rename to docs/install/environment-file.md
diff --git a/docs/part2.md b/docs/install/individual-install.md
similarity index 99%
rename from docs/part2.md
rename to docs/install/individual-install.md
index e3cd024..95ae152 100644
--- a/docs/part2.md
+++ b/docs/install/individual-install.md
@@ -1,3 +1,6 @@
+# Individual Installation
+
+
**NOTE: This is PAGE 2 of** [**Ultimate Starter - Jellyfin, Jellyseerr, NZBGet, Torrents and \*ARR Media Stack**](https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/)
diff --git a/docs/install/individualinstall.md b/docs/install/individualinstall.md
deleted file mode 100644
index e69de29..0000000
diff --git a/docs/install/portainer.md b/docs/install/portainer.md
new file mode 100644
index 0000000..4338ff9
--- /dev/null
+++ b/docs/install/portainer.md
@@ -0,0 +1 @@
+# Installing and Managing Docker Applications with Portainer
diff --git a/docs/intro/application-roles.md b/docs/intro/application-roles.md
new file mode 100644
index 0000000..eb555e3
--- /dev/null
+++ b/docs/intro/application-roles.md
@@ -0,0 +1 @@
+# Docker Applications and Their Roles
diff --git a/docs/intro/applicationroles.md b/docs/intro/applicationroles.md
deleted file mode 100644
index e69de29..0000000
diff --git a/docs/intro/docker-filesystems.md b/docs/intro/docker-filesystems.md
new file mode 100644
index 0000000..e60a38a
--- /dev/null
+++ b/docs/intro/docker-filesystems.md
@@ -0,0 +1,8 @@
+# Docker Filesystems and Folders
+df
+df
+
+## df
+
+## df
+sdf
diff --git a/docs/intro/download.md b/docs/intro/download-mediastack.md
similarity index 100%
rename from docs/intro/download.md
rename to docs/intro/download-mediastack.md
diff --git a/docs/intro/filesystems.md b/docs/intro/filesystems.md
deleted file mode 100644
index e69de29..0000000
diff --git a/docs/intro/docker.md b/docs/intro/install-docker.md
similarity index 100%
rename from docs/intro/docker.md
rename to docs/intro/install-docker.md
diff --git a/docs/intro/media-library.md b/docs/intro/media-library.md
new file mode 100644
index 0000000..7474a08
--- /dev/null
+++ b/docs/intro/media-library.md
@@ -0,0 +1 @@
+# Organising Your Media Library
\ No newline at end of file
diff --git a/docs/intro/intro.md b/docs/intro/mediastack.md
similarity index 100%
rename from docs/intro/intro.md
rename to docs/intro/mediastack.md
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
index 4dc9cac..f98dbee 100644
--- a/docs/stylesheets/extra.css
+++ b/docs/stylesheets/extra.css
@@ -1,8 +1,13 @@
.md-grid {
- max-width: 1440px;
+ max-width: 1840px;
}
+
.md-typeset .admonition,
.md-typeset details {
border-width: 2;
border-left-width: 8px;
}
+
+.md-header__button.md-icon {
+ color: black;
+}
\ No newline at end of file
diff --git a/docs/test.md b/docs/test.md
deleted file mode 100644
index 504519c..0000000
--- a/docs/test.md
+++ /dev/null
@@ -1,19 +0,0 @@
->
-
-
-
-
-
-
-
-
-
-These Docker-Compose YAML and ENV files work together to help you rapidly deploy a full VPN encrypted Jellyfin, Jellyseerr, SABnzbd, qBittorrent and *ARR media stack, which can be deployed in only a few minutes on Linux, Windows or Synology NAS Docker hosts.
-
-Ultimate Starter - (PAGE 1) - Jellyfin, Jellyseerr, SABnzbd, Torrents and *ARR Media Library Stack
-https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/
-
-Ultimate Starter - (PAGE 2) - Jellyfin, Jellyseerr, SABnzbd, Torrents and *ARR Media Library Stack
-https://www.synoforum.com/resources/ultimate-starter-page-2-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.185/
-
-You can then use the above guides to configure the settings for each of the applications - they are mostly cut-and-paste, to help simplify and speed up the configuration for relatively inexperienced users.
diff --git a/init_setup.sh b/init_setup.sh
index 9bfcd71..e112182 100644
--- a/init_setup.sh
+++ b/init_setup.sh
@@ -1,3 +1,9 @@
-conda create --prefix ./env python=3.7 -y
+echo [$(date)]: "START"
+export _VERSION_=3.7
+echo [$(date)]: "creating environment with python ${_VERSION_}"
+conda create --prefix ./env python=${_VERSION_} -y
+echo [$(date)]: "activate environment"
source activate ./env
+echo [$(date)]: "install requirements"
pip install -r requirements.txt
+echo [$(date)]: "END"
\ No newline at end of file
diff --git a/mkdocs.yml b/mkdocs.yml
index 55d426a..16cd162 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -13,32 +13,72 @@ plugins:
# repository: geekau/media-stack
# branch: main
-
nav:
- - Home: index.md
+ - Home: index.md
- Introduction:
- - Intro to MediaStack: intro/intro.md
- - Applications and Their Roles: intro/applicationroles.md
- - Installing Docker on Host OS: intro/docker.md
- - Docker Filesystems / Folders: intro/filesystems.md
- - Download Docker Build Files: intro/download.md
+ - Intro to MediaStack: intro/mediastack.md
+ - Applications and Their Roles: intro/application-roles.md
+ - Installing Docker on Host OS: intro/install-docker.md
+ - Organising Your Media Library: intro/media-library.md
+ - Docker Filesystems / Folders: intro/docker-filesystems.md
+ - Download Docker Build Files: intro/download-mediastack.md
- Installing Docker Apps:
- - Configuring Environment: install/environment.md
- - Installing Apps Individually: install/individualinstall.md
- - Installing Apps Collectively: install/collectiveinstall.md
- - Configuring Environment: install/environment.md
- - installation/deletethis.md
+ - Configuring Environment: install/environment-file.md
+ - Installing Apps Individually: install/individual-install.md
+ - Installing Apps Collectively: install/collective-install.md
+ - Configuring Environment: install/environment-file.md
+ - Portainer - Docker GUI: install/portainer.md
+ - Configure Docker Apps:
+ - Download Clients: configure/download-clients.md
+ - "*ARR (starr) Applications": configure/arr-applications.md
+ - Jellyfin Media Server: configure/jellyfin.md
+ - Jellyseerr - Request Media: configure/jellyseerr.md
+ - SWAG Reverse Proxy: configure/swag.md
+ - DDNS-Updater: configure/ddns-updater.md
+ - Cloudflare Zero Trust: configure/cloudflare-zero-trust.md
+ - Cloudflare Domain Management: configure/cloudflare-domains.md
- Contributing to MediaStack:
- - testing.md
- - contributing.md
- - Download: download.md
- - environment.md
- - quick-build.md
- - test.md
+ - Contributing: contributing/contributing.md
+
theme:
name: material
+
+ features:
+# - content.tabs.link
+ - navigation.instant
+ - navigation.tracking
+# - navigation.top
+ - navigation.tabs
+ - navigation.tabs.sticky
+ - navigation.sections
+# - navigation.expand
+ - navigation.prune
+ - navigation.indexes
+ - toc.follow
+# - toc.integrate
+ - search.suggest
+ - search.highlight
+ - header.autohide
+
+ palette:
+ - media: "(prefers-color-scheme: light)"
+ scheme: default
+ primary: deep purple
+ accent: light green
+ toggle:
+ icon: material/lightbulb
+ name: Switch to Dark Mode
+ - media: "(prefers-color-scheme: dark)"
+ scheme: slate
+ primary: yellow
+ accent: red
+ toggle:
+ icon: material/lightbulb-outline
+ name: Switch to Light Mode
+
icon:
+ logo: fontawesome/solid/photo-film
repo: fontawesome/brands/github
admonition:
note: fontawesome/solid/note-sticky
@@ -54,56 +94,28 @@ theme:
example: fontawesome/solid/flask
quote: fontawesome/solid/quote-left
- palette:
- - media: "(prefers-color-scheme: light)"
- scheme: default
- primary: blue
- accent: red
- toggle:
- icon: material/lightbulb
- name: Switch to Dark Mode
- - media: "(prefers-color-scheme: dark)"
- scheme: slate
- primary: yellow
- accent: red
- toggle:
- icon: material/lightbulb-outline
- name: Switch to Light Mode
-
- features:
- - content.tabs.link
- - navigation.instant
- - navigation.tracking
- - navigation.top
- - navigation.tabs
- - navigation.tabs.sticky
- - navigation.sections
- - navigation.expand
-# - navigation.prune
-# - navigation.indexes
- - toc.follow
- - toc.integrate
- - search.suggest
- - search.highlight
- - header.autohide
-
markdown_extensions:
- admonition
- pymdownx.betterem
- - pymdownx.details
- - pymdownx.critic
- - pymdownx.caret:
- smart_insert: true
- insert: true
- superscript: true
- - pymdownx.keys
+ - pymdownx.caret: {smart_insert: true, insert: true, superscript: true}
- pymdownx.mark
- pymdownx.tilde
+ - pymdownx.critic
+ - pymdownx.details
+ - pymdownx.highlight: {auto_title: true, anchor_linenums: true}
+ - pymdownx.inlinehilite
+ - pymdownx.keys
+ - pymdownx.smartsymbols
+ - pymdownx.snippets
+ - pymdownx.superfences:
+ custom_fences:
+ - name: mermaid
+ class: mermaid
+ format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.tabbed:
alternate_style: true
- - pymdownx.tasklist:
- custom_checkbox: true
- - pymdownx.superfences
+ slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}}
+ - pymdownx.tasklist: {custom_checkbox: true}
- attr_list
- def_list
- footnotes
@@ -113,24 +125,19 @@ markdown_extensions:
toc_depth: 3
permalink: true
permalink_title: "Permanent Link "
- slugify: !!python/name:pymdownx.slugs.uslugify
-
-
-
-# custom_dir: overrides
+ slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}}
extra_css:
- stylesheets/extra.css
extra_javascript:
- - javascripts/extra.js
-
+ - javascript/extra.js
extra:
consent:
title: Cookie Consent
description: >-
- We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users
+ We use cookies to recognise your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users
find what they're searching for. With your consent, you're helping us to make our documentation better.
social:
@@ -147,4 +154,4 @@ extra:
name: "Twitter: squidfunk"
copyright: >
- Copyright © 2023 - MediaStack.Guide – Change Cookie Settings
\ No newline at end of file
+ Copyright © 2023 - MediaStack.Guide - Update Change Cookie Settings
diff --git a/requirements.txt b/requirements.txt
index bda9596..0d69c7f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,8 +1,9 @@
mkdocs
-mkdocs-bootswatch
-mkdocs-minify-plugin
-mkdocs-material
mkdocs-awesome-pages-plugin
-mkdocs-git-revision-date-localized-plugin
+mkdocs-bootswatch
mkdocs-git-committers-plugin-2
+mkdocs-git-revision-date-localized-plugin
mkdocs-glightbox
+mkdocs-material
+mkdocs-minify-plugin
+mkdocs-redirects
\ No newline at end of file
From cd1beb86c10a7aad197df12675068b4bff57f0f6 Mon Sep 17 00:00:00 2001
From: geekau
Date: Sun, 15 Jan 2023 20:20:45 +1000
Subject: [PATCH 10/29] prep site content
---
docs/contributing/doc-template.md | 179 +++++++++++++++++++++++++++++
docs/index.md | 68 ++++++++---
docs/install/collective-install.md | 97 +---------------
docs/install/environment-file.md | 2 +
docs/intro/docker-filesystems.md | 111 +++++++++++++++++-
docs/intro/media-library.md | 27 ++++-
mkdocs.yml | 23 ++--
overrides/404.html | 9 ++
overrides/main.html | 7 ++
9 files changed, 398 insertions(+), 125 deletions(-)
create mode 100644 docs/contributing/doc-template.md
create mode 100644 overrides/404.html
create mode 100644 overrides/main.html
diff --git a/docs/contributing/doc-template.md b/docs/contributing/doc-template.md
new file mode 100644
index 0000000..d15b3c2
--- /dev/null
+++ b/docs/contributing/doc-template.md
@@ -0,0 +1,179 @@
+# Welcome to MediaStack.Guide
+
+For full documentation visit [mkdocs.org](https://www.mkdocs.org).
+
+## Commands
+
+* `mkdocs new [dir-name]` - Create a new project.
+* `mkdocs serve` - Start the live-reloading docs server.
+* `mkdocs build` - Build the documentation site.
+* `mkdocs -h` - Print help message and exit.
+
+### Third Heading
+
+This is the third heading.
+
+#### Fourth Heading
+
+This is the fourth heading.
+
+##### Fifth Heading
+
+This is the fifth heading.
+
+## Project layout
+
+ mkdocs.yml # The configuration file.
+ docs/
+ index.md # The documentation homepage.
+ ... # Other markdown pages, images and other files.
+
+``` mermaid
+graph TB
+ c1-->a2
+ subgraph Download Clients
+ a1-->a2
+ end
+ subgraph two
+ b1-->b2
+ end
+ subgraph three
+ c1-->c2
+ end
+```
+
+``` mermaid
+flowchart LR
+ subgraph Download Clients
+ SABnzbd-->VPN
+ qBittorrent-->VPN
+ end
+ subgraph Internet
+ VPN-->gateway[VPN Gateway]
+ end
+```
+
+
+
+
+!!! danger
+
+ === "C"
+
+ ``` c
+ #include
+
+ int main(void) {
+ printf("Hello world!\n");
+ return 0;
+ }
+ ```
+
+ === "C++"
+
+ ``` c++
+ #include
+
+ int main(void) {
+ std::cout << "Hello world!" << std::endl;
+ return 0;
+ }
+ ```
+
+
+
+![Image title](https://dummyimage.com/600x400/eee/aaa){ loading=lazy,align=left }
+
+++ctrl+alt+del++
+
+
+
+!!! note
+
+ This is a Note field... copy this example
+
+---
+
+!!! abstract
+
+ This is an Abstract field... copy this example
+
+---
+
+!!! info
+
+ This is an Info field... copy this example
+
+ === "Linux Shell"
+ ``` shell
+ This is linux code
+ ```
+ === "Windows Prompt"
+ ``` powershell
+ This is linux code
+ ```
+ === "Synology SSH"
+ ``` putty
+ This is linux code
+ ```
+
+---
+
+!!! tip
+
+ This is a Tip field... copy this example
+
+---
+
+!!! success
+
+ This is a Success field... copy this example
+
+---
+
+!!! question
+
+ This is a Question field... copy this example
+
+---
+
+!!! warning
+
+ This is a Warning field... copy this example
+
+---
+
+!!! failure
+
+ This is a Failure field... copy this example
+
+---
+
+!!! danger
+
+ This is a Danger field... copy this example
+
+---
+
+!!! bug
+
+ This is a Bug field... copy this example
+
+---
+
+!!! example
+
+ This is an Example field... copy this example
+
+---
+
+!!! quote
+
+ This is a Quote field... copy this example
+
+---
+
+
diff --git a/docs/index.md b/docs/index.md
index 8c44b43..ae02416 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,14 +1,40 @@
# Welcome to MediaStack.Guide
-For full documentation visit [mkdocs.org](https://www.mkdocs.org).
+These Docker Compose configurations will help you rapidly deploy all the applications you need in a Docker stack, to operate a Jellyfin, Jellyseerr, Torrent, Usenet, \*ARR Media Library Managers, Reverse Proxy, MFA Authenticated Access, and Tdarr Automated Media Transcoding enabled media stack, and has been thoroughly testing on Linux, Windows and Synology NAS servers.
-## Commandssesss.
+Set up a full VPN encrypted Jellyfin, Jellyseerr, NZBGet, Transmission and *ARR media stack using this docker-compose guide in approximately 30 - 60 minutes, on Linux, Windows or Synology NAS, and potentially more Docker enabled environments.
+
+This guide will cover all the steps needed to initially install and configure a secure docker hosted media environment, with all the applications needed to download torrents and Usenet content which you have a right to use in your media library, and allow you to stream the media via a simple web browser, and even stream the media to your Smart TV / Apple TV apps around the house.
+
+This guide ensures all network traffic is securely hidden using a VPN, and encrypting ALL traffic in / out of your home network. It can also be used on your Synology NAS, or any other Linux / Windows / MacOS machine running the Docker environment.
+
+With many people owning CDs, DVD, and Blu-ray disks, there is demand to make people's media content more transferrable in their home media systems, so it can be viewed on their personal devices. People also want to be able to put their own home movies / photos onto their media servers, so it too can be freely shared between their devices.
+
+NOTE: This guide is not about, nor promotes, the illegal piracy of digital media content from their respected / licensed owners.
+
+NOTE: It is highly recommended not adding any of your own media files or libraries into the Docker folders / applications, until after setting up the entire media stack, then you can add your media in a structured manner.
+
+
+
+## Commands
* `mkdocs new [dir-name]` - Create a new project.
* `mkdocs serve` - Start the live-reloading docs server.
* `mkdocs build` - Build the documentation site.
* `mkdocs -h` - Print help message and exit.
+### Third Heading
+
+This is the third heading.
+
+#### Fourth Heading
+
+This is the fourth heading.
+
+##### Fifth Heading
+
+This is the fifth heading.
+
## Project layout
mkdocs.yml # The configuration file.
@@ -19,7 +45,7 @@ For full documentation visit [mkdocs.org](https://www.mkdocs.org).
``` mermaid
graph TB
c1-->a2
- subgraph one
+ subgraph Download Clients
a1-->a2
end
subgraph two
@@ -30,6 +56,20 @@ graph TB
end
```
+``` mermaid
+flowchart LR
+ subgraph Download Clients
+ SABnzbd-->VPN
+ qBittorrent-->VPN
+ end
+ subgraph Internet
+ VPN-->gateway[VPN Gateway]
+ end
+```
+
+
+
+
!!! danger
=== "C"
@@ -82,21 +122,17 @@ graph TB
This is an Info field... copy this example
=== "Linux Shell"
-
- ``` shell
- This is linux code
- ```
+ ``` shell
+ This is linux code
+ ```
=== "Windows Prompt"
-
- ``` powershell
- This is linux code
- ```
-
+ ``` powershell
+ This is linux code
+ ```
=== "Synology SSH"
-
- ``` putty
- This is linux code
- ```
+ ``` putty
+ This is linux code
+ ```
---
diff --git a/docs/install/collective-install.md b/docs/install/collective-install.md
index 496d48b..d102c36 100644
--- a/docs/install/collective-install.md
+++ b/docs/install/collective-install.md
@@ -1,33 +1,13 @@
# Collective Installation
-
+
# Docker Media Stack
>You can download these files easily, by going to [https://github.com/geekau/media-stack](https://github.com/geekau/media-stack) then selecting "**Code**" --> "**Download Zip**".
These Docker Compose configurations will help you rapidly deploy all the applications you need in a Docker stack, to operate a Jellyfin, Jellyseerr, Torrent, Usenet, \*ARR Media Library Managers, Reverse Proxy, MFA Authenticated Access, and Tdarr Automated Media Transcoding enabled media stack, and has been thoroughly testing on Linux, Windows and Synology NAS servers.
-## 1 - Prepare / rename media library if needed:
-If you are setting up your media server and media libraries for the very first time, or your media is very poorly named, it is recommended you use Filebot with the following naming standards below, to initially sort all of your media. Otherwise the Media Library Managers and Jellyfin may not be able to identify your media titles, media art, and subtitles, if the original filenames are of a poor standard.
-
-Change "**D:/Storage**" to suit your needs, however use the same disk as the original media, so it is renamed quickly in place, rather than copied to a different disk or network; this could take a great deal of time to complete depending on size of the libraries / media you are renaming.
->This can be skipped if you have a well organised / structured media library already.
-
-**Filebot Renaming Preset String for Series / TV Shows:**
-```
-D:/Storage/renamed/series/{ny.colon(' - ').ascii()} [tmdbid-{id}]/Season {s00}/{ny.colon(' - ').ascii()} {s00e00} - {t.ascii()} {" - $hd $vf $vc $ac"}
-```
-
-**Filebot Renaming Preset String for Movies / Adult:**
-```
-D:/Storage/renamed/movies/{ny.colon(' - ').ascii()} [imdbid-{imdbid}]/{ny.colon(' - ').ascii()} {" - $hd $vf $vc $ac"}
-```
-
-**Filebot Renaming Preset String for Music / Audio:**
-```
-D:/Storage/renamed/music/{artist.upperInitial().ascii()}/{album.upperInitial().ascii()} ({y})/{albumArtist.upperInitial().ascii()} - {album.upperInitial().ascii()} - {pi.pad(3)+' - '} {t.ascii()}
-```
## 2 - Edit the "docker-compose.env" file, and update variables to suit your environment.
@@ -72,81 +52,6 @@ SERVER_REGION=
```
== **All containers are initally configured to sit behind the VPN connection for security / privacy. If you want the containers to have direct Internet access, follow the steps in each of the YAML files to change the network configuration, and restart the container.** ==
-## 3 - Set up all of the folders / subfolders:
-The commands suit the folders defined above in your ENV file for **FOLDER_FOR_CONFIGS** and **FOLDER_FOR_MEDIA**.
-
-### For Linux hosted data folders:
-If you used Linux / NAS folders in the ENV file, then use the following commands to create the necessary folders:
-```
-export FOLDER_FOR_CONFIGS=/home/geekau/docker
-export FOLDER_FOR_MEDIA=/home/geekau/media-stack
-
-sudo -E mkdir -p $FOLDER_FOR_CONFIGS/{authelia,bazarr,ddns-updater,gluetun,heimdall,jellyfin,jellyseerr,lidarr,mylar3,portainer,prowlarr,qbittorrent,radarr,readarr,sabnzbd,sonarr,swag,tdarr,tdarr_transcode_cache,unpackerr,whisparr}
-sudo -E mkdir -p $FOLDER_FOR_MEDIA/media/{adult,anime,audio,books,comics,movies,music,photos,podcasts,series,software}
-sudo -E mkdir -p $FOLDER_FOR_MEDIA/usenet/{adult,anime,audio,books,comics,movies,music,prowlarr,podcasts,series,software}
-sudo -E mkdir -p $FOLDER_FOR_MEDIA/torrents/{adult,anime,audio,books,comics,movies,music,prowlarr,podcasts,series,software}
-sudo -E mkdir -p $FOLDER_FOR_MEDIA/watch
-sudo -E chmod -R 775 $FOLDER_FOR_CONFIGS $FOLDER_FOR_MEDIA
-sudo -E chown -R geekau:geekau $FOLDER_FOR_CONFIGS $FOLDER_FOR_MEDIA
-```
-### For Window hosted data folders:
-If you used Windows folders in the ENV file, then use the following commands to create the necessary folders:
-```
-set FOLDER_FOR_CONFIGS=D:\Storage\Docker
-set FOLDER_FOR_MEDIA=D:\Storage\Media-Stack
-
-FOR /D %I IN (authelia bazarr ddns-updater gluetun heimdall jellyfin jellyseerr lidarr mylar3 portainer prowlarr qbittorrent radarr readarr sabnzbd sonarr swag tdarr tdarr_transcode_cache unpackerr whisparr) DO mkdir %FOLDER_FOR_CONFIGS%\%I
-FOR /D %I IN (adult anime audio books comics movies music photos podcasts series software) DO mkdir %FOLDER_FOR_MEDIA%\media\%I
-FOR /D %I IN (adult anime audio books comics movies music podcasts prowlarr series software) DO mkdir %FOLDER_FOR_MEDIA%\usenet\%I
-FOR /D %I IN (adult anime audio books comics movies music podcasts prowlarr series software) DO mkdir %FOLDER_FOR_MEDIA%\torrents\%I
-mkdir %FOLDER_FOR_MEDIA%\watch
-```
-### Folder mappings between host and Docker containers:
-After you run the commands above (Linux or Windows), **this will be your folder structure INSIDE your docker containers**:
-```
-$ tree $FOLDER_FOR_MEDIA
-
-⠀⠀⠀⠀⠀Host Computer:⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Inside Containers:
-├── /FOLDER_FOR_MEDIA ⠀ ├── /data
-⠀⠀⠀⠀⠀├── media ⠀⠀⠀⠀├── media <-- Media is located / managed under this folder
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── photos │⠀⠀⠀⠀├── photos
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
-⠀⠀⠀⠀⠀├── torrents ⠀⠀⠀⠀├── torrents <-- Downloads for Torrent data
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr │⠀⠀⠀⠀├── prowlarr
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
-⠀⠀⠀⠀⠀├── usenet ⠀⠀⠀⠀├── usenet <-- Downloads for Usenet data
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr │⠀⠀⠀⠀├── prowlarr
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
-⠀⠀⠀⠀⠀└── watch ⠀⠀⠀⠀└── watch <-- Add .nzb and .torrent files for manual download
-
-```
## 4 - Install the Docker applications individually as you need them.
diff --git a/docs/install/environment-file.md b/docs/install/environment-file.md
index a36d6fd..de2b3bf 100644
--- a/docs/install/environment-file.md
+++ b/docs/install/environment-file.md
@@ -3,3 +3,5 @@
The docker applications are deployed and configured by using an environment file, which ensures all variables and settings are shared consistantly across all of the applications as they are deployed.
The environment file is called docker-compose.env, and it is exactly the same file located in each of the folders
+
+d
\ No newline at end of file
diff --git a/docs/intro/docker-filesystems.md b/docs/intro/docker-filesystems.md
index e60a38a..067f8bb 100644
--- a/docs/intro/docker-filesystems.md
+++ b/docs/intro/docker-filesystems.md
@@ -1,8 +1,109 @@
# Docker Filesystems and Folders
-df
-df
-## df
+## Set up all of the folders / subfolders:
+The commands suit the folders defined above in your ENV file for `FOLDER_FOR_CONFIGS` and `FOLDER_FOR_MEDIA`.
-## df
-sdf
+## For Linux hosted data folders:
+If you used Linux / NAS folders in the ENV file, then use the following commands to create the necessary folders:
+
+
+!!! note "This is a note code fence"
+
+ Select something below:
+
+ FOLDER_FOR_CONFIGS
+ FOLDER_FOR_MEDIA
+
+
+ === "Linux Shell"
+
+ ``` bash
+ export FOLDER_FOR_CONFIGS=/home/geekau/docker
+ export FOLDER_FOR_MEDIA=/home/geekau/media-stack
+
+ sudo -E mkdir -p $FOLDER_FOR_CONFIGS/{authelia,bazarr,ddns-updater,gluetun,heimdall,jellyfin,jellyseerr,lidarr,mylar3,portainer,prowlarr,qbittorrent,radarr,readarr,sabnzbd,sonarr,swag,tdarr,tdarr_transcode_cache,unpackerr,whisparr}
+ sudo -E mkdir -p $FOLDER_FOR_MEDIA/media/{adult,anime,audio,books,comics,movies,music,photos,podcasts,series,software}
+ sudo -E mkdir -p $FOLDER_FOR_MEDIA/usenet/{adult,anime,audio,books,comics,movies,music,prowlarr,podcasts,series,software}
+ sudo -E mkdir -p $FOLDER_FOR_MEDIA/torrents/{adult,anime,audio,books,comics,movies,music,prowlarr,podcasts,series,software}
+ sudo -E mkdir -p $FOLDER_FOR_MEDIA/watch
+ sudo -E chmod -R 775 $FOLDER_FOR_CONFIGS $FOLDER_FOR_MEDIA
+ sudo -E chown -R geekau:geekau $FOLDER_FOR_CONFIGS $FOLDER_FOR_MEDIA
+ ```
+
+ === "Windows PowerShell"
+
+ ``` powershell
+ set FOLDER_FOR_CONFIGS=D:\Storage\Docker
+ set FOLDER_FOR_MEDIA=D:\Storage\Media-Stack
+
+ FOR /D %I IN (authelia bazarr ddns-updater gluetun heimdall jellyfin jellyseerr lidarr mylar3 portainer prowlarr qbittorrent radarr readarr sabnzbd sonarr swag tdarr tdarr_transcode_cache unpackerr whisparr) DO mkdir %FOLDER_FOR_CONFIGS%\%I
+ FOR /D %I IN (adult anime audio books comics movies music photos podcasts series software) DO mkdir %FOLDER_FOR_MEDIA%\media\%I
+ FOR /D %I IN (adult anime audio books comics movies music podcasts prowlarr series software) DO mkdir %FOLDER_FOR_MEDIA%\usenet\%I
+ FOR /D %I IN (adult anime audio books comics movies music podcasts prowlarr series software) DO mkdir %FOLDER_FOR_MEDIA%\torrents\%I
+ mkdir %FOLDER_FOR_MEDIA%\watch
+ ```
+
+ === "MacOS Shell"
+
+ ``` bash
+ Waiting Testing
+ ```
+
+ === "Synology NAS (SSH)"
+
+ ``` bash
+ Synology - ADD HERE
+ ```
+
+
+
+
+### For Window hosted data folders:
+If you used Windows folders in the ENV file, then use the following commands to create the necessary folders:
+### Folder mappings between host and Docker containers:
+After you run the commands above (Linux or Windows), **this will be your folder structure INSIDE your docker containers**:
+
+```
+$ tree $FOLDER_FOR_MEDIA
+
+⠀⠀⠀⠀⠀Host Computer:⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Inside Containers:
+├── /FOLDER_FOR_MEDIA ⠀ ├── /data
+⠀⠀⠀⠀⠀├── media ⠀⠀⠀⠀├── media <-- Media is located / managed under this folder
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── photos │⠀⠀⠀⠀├── photos
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
+⠀⠀⠀⠀⠀├── torrents ⠀⠀⠀⠀├── torrents <-- Downloads for Torrent data
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr │⠀⠀⠀⠀├── prowlarr
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
+⠀⠀⠀⠀⠀├── usenet ⠀⠀⠀⠀├── usenet <-- Downloads for Usenet data
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr │⠀⠀⠀⠀├── prowlarr
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
+⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
+⠀⠀⠀⠀⠀└── watch ⠀⠀⠀⠀└── watch <-- Add .nzb and .torrent files for manual download
+
+```
diff --git a/docs/intro/media-library.md b/docs/intro/media-library.md
index 7474a08..4d97cd8 100644
--- a/docs/intro/media-library.md
+++ b/docs/intro/media-library.md
@@ -1 +1,26 @@
-# Organising Your Media Library
\ No newline at end of file
+# Organising Your Media Library
+
+## Prepare / rename media library if needed:
+If you are setting up your media server and media libraries for the very first time, or your media is very poorly named, it is recommended you use Filebot with the following naming standards below, to initially sort all of your media. Otherwise the Media Library Managers and Jellyfin may not be able to identify your media titles, media art, and subtitles, if the original filenames are of a poor standard.
+
+Change =="D:/Storage"== to suit your needs, however use the same disk as the original media, so it is renamed quickly in place, rather than copied to a different disk or network; this could take a great deal of time to complete depending on size of the libraries / media you are renaming.
+
+>This can be skipped if you have a well organised / structured media library already.
+
+## Filebot Renaming Preset String for Series / TV Shows
+
+``` powershell
+D:/Storage/renamed/series/{ny.colon(' - ').ascii()} [tmdbid-{id}]/Season {s00}/{ny.colon(' - ').ascii()} {s00e00} - {t.ascii()} {" - $hd $vf $vc $ac"}
+```
+
+## Filebot Renaming Preset String for Movies / Adult
+
+``` powershell
+D:/Storage/renamed/movies/{ny.colon(' - ').ascii()} [imdbid-{imdbid}]/{ny.colon(' - ').ascii()} {" - $hd $vf $vc $ac"}
+```
+
+## Filebot Renaming Preset String for Music / Audio
+
+``` powershell
+D:/Storage/renamed/music/{artist.upperInitial().ascii()}/{album.upperInitial().ascii()} ({y})/{albumArtist.upperInitial().ascii()} - {album.upperInitial().ascii()} - {pi.pad(3)+' - '} {t.ascii()}
+```
diff --git a/mkdocs.yml b/mkdocs.yml
index 16cd162..09119e3 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -2,13 +2,17 @@
site_name: MediaStack.Guide
site_url: https://mediastack.guide/
+site_description: >
+ Quick-start guide to set up a full VPN encrypted streaming media service, with reverse-proxy / MFA access from the Internet, for Linux, Windows, Synology NAS, and more... Full Docker deployment for Jellyfin, Jellyseerr, Gluetun, DDNS-Updater, Prowlarr, Radarr, Sonarr, Lidarr, Mylar, Readarr, Whisparr, Bazarr, qBittorrent, SABnzbd, Unpackerr, SWAG, Heimdall, Authelia, Flaresolverr, and Portainer.
repo_name: media-stack
repo_url: https://github.com/geekau/media-stack
+edit_uri: blob/main/docs/
plugins:
- search
- glightbox
+# - typeset
# - git-committers:
# repository: geekau/media-stack
# branch: main
@@ -39,24 +43,27 @@ nav:
- Cloudflare Domain Management: configure/cloudflare-domains.md
- Contributing to MediaStack:
- Contributing: contributing/contributing.md
+ - Template: contributing/doc-template.md
theme:
name: material
-
+
features:
-# - content.tabs.link
+ - announce.dismiss
+ - content.tabs.link
+ - content.code.copy
- navigation.instant
- navigation.tracking
-# - navigation.top
+ - navigation.top
- navigation.tabs
- navigation.tabs.sticky
- navigation.sections
-# - navigation.expand
+ - navigation.expand
- navigation.prune
- navigation.indexes
- toc.follow
-# - toc.integrate
+ - toc.integrate
- search.suggest
- search.highlight
- header.autohide
@@ -93,7 +100,9 @@ theme:
bug: fontawesome/solid/robot
example: fontawesome/solid/flask
quote: fontawesome/solid/quote-left
-
+
+ custom_dir: overrides
+
markdown_extensions:
- admonition
- pymdownx.betterem
@@ -122,7 +131,7 @@ markdown_extensions:
- md_in_html
- toc:
title: "On This Page:"
- toc_depth: 3
+ toc_depth: 4
permalink: true
permalink_title: "Permanent Link "
slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}}
diff --git a/overrides/404.html b/overrides/404.html
new file mode 100644
index 0000000..77d5765
--- /dev/null
+++ b/overrides/404.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+ 404 - You made a boo boo...
+
+ Go back to: MediaStack.Guide
+
+{% endblock %}
diff --git a/overrides/main.html b/overrides/main.html
new file mode 100644
index 0000000..c999e02
--- /dev/null
+++ b/overrides/main.html
@@ -0,0 +1,7 @@
+{% extends "base.html" %}
+
+{% block announce %}
+
+ Listen Up.... This is an announcement..
+
+{% endblock %}
\ No newline at end of file
From bb6cfeab60fe6d66ba9e372116da39b8aa2be027 Mon Sep 17 00:00:00 2001
From: geekau
Date: Sun, 22 Jan 2023 01:58:03 +1000
Subject: [PATCH 11/29] Dev build
---
docs/index.md | 24 +++-
docs/install/environment-file.md | 195 ++++++++++++++++++++++++++++++-
docs/stylesheets/extra.css | 4 +-
mkdocs.yml | 29 +++--
overrides/main.html | 7 +-
requirements.txt | 1 -
6 files changed, 237 insertions(+), 23 deletions(-)
diff --git a/docs/index.md b/docs/index.md
index ae02416..f4c0ecd 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,8 +1,18 @@
# Welcome to MediaStack.Guide
-These Docker Compose configurations will help you rapidly deploy all the applications you need in a Docker stack, to operate a Jellyfin, Jellyseerr, Torrent, Usenet, \*ARR Media Library Managers, Reverse Proxy, MFA Authenticated Access, and Tdarr Automated Media Transcoding enabled media stack, and has been thoroughly testing on Linux, Windows and Synology NAS servers.
+With many people owning digital media such as CDs, DVD, and Blu-ray disks, home movies, personal photos, personal music collection, its common that people want to build home media servers in order to manage and access their digital libraries from any device within their home network, their mobile devices, and even remotely when they may be away on holidays or having a lunch break at work.
-Set up a full VPN encrypted Jellyfin, Jellyseerr, NZBGet, Transmission and *ARR media stack using this docker-compose guide in approximately 30 - 60 minutes, on Linux, Windows or Synology NAS, and potentially more Docker enabled environments.
+This guide will help you rapidly deploy all the applications you need in a full Docker build, to operate a Jellyfin, Jellyseerr, *ARR Media Library Managers (Prowlarr / Sonarr / Radarr / Lidarr / Readarr etc..) and Tdarr Automated Media Transcoding enabled media stack, and has been thoroughly tested on Linux, Windows and Synology NAS servers.
+
+
+Fully encrypted outbound network - The guide establishes a full VPN encrypted Internet connection for all outbound communications, so all network traffic to Torrent / Usenet and meta-data servers are fully encrypted as they leave your network, in order to provide you full privacy. If the VPN connection fails / drops, or is stopped for any reason, then all outbound traffic is completely restricted, until the VPN connection is re-established.
+
+
+
+Fully encrypted inbound - This guide will also establish an inbound Nginx reverse proxy into your network, using
+
+
+ Jellyfin, Jellyseerr, NZBGet, Transmission and *ARR media stack using this docker-compose guide in approximately 30 - 60 minutes, on Linux, Windows or Synology NAS, and potentially more Docker enabled environments.
This guide will cover all the steps needed to initially install and configure a secure docker hosted media environment, with all the applications needed to download torrents and Usenet content which you have a right to use in your media library, and allow you to stream the media via a simple web browser, and even stream the media to your Smart TV / Apple TV apps around the house.
@@ -10,11 +20,18 @@ This guide ensures all network traffic is securely hidden using a VPN, and encry
With many people owning CDs, DVD, and Blu-ray disks, there is demand to make people's media content more transferrable in their home media systems, so it can be viewed on their personal devices. People also want to be able to put their own home movies / photos onto their media servers, so it too can be freely shared between their devices.
-NOTE: This guide is not about, nor promotes, the illegal piracy of digital media content from their respected / licensed owners.
+NOTE:
NOTE: It is highly recommended not adding any of your own media files or libraries into the Docker folders / applications, until after setting up the entire media stack, then you can add your media in a structured manner.
+!!! warning "Piracy Notice"
+
+ This guide is not about, nor promotes, the illegal piracy of digital media content from their respected / licensed owners.
+
+ This guide assumes no responsibility for users who may access or download digital media content, which they do not have legal rights.
+
+
## Commands
@@ -188,6 +205,5 @@ flowchart LR
This is a Quote field... copy this example
----
diff --git a/docs/install/environment-file.md b/docs/install/environment-file.md
index de2b3bf..8686cb3 100644
--- a/docs/install/environment-file.md
+++ b/docs/install/environment-file.md
@@ -1,7 +1,196 @@
# Docker Environment File
-The docker applications are deployed and configured by using an environment file, which ensures all variables and settings are shared consistantly across all of the applications as they are deployed.
+The docker applications are deployed and configured using an environment file, which ensures all variables and settings are shared consistantly across all of the applications as they are deployed.
+
+The environment file is called `docker-compose.env`, and it is exactly the same file located in each of the folders
+
+!!! note "File: docker-compose.env <-- Default Configuration File"
+
+ ```
+ ###########################################################################
+ ###########################################################################
+ ###########################################################################
+ ##
+ ## Docker Compose Environment Variable file for Jellyfin Media Stack
+ ##
+ ## Update any of the environment variables below as required.
+ ##
+ ## It is highly recommended Linux users set up a "docker"
+ ## user, so the applications can access the local filesystem
+ ## with this user's access privileges. Use PUID / PGID to map
+ ## user access between the Docker apps and local filesystem.
+ ##
+ ###########################################################################
+ ###########################################################################
+ ###########################################################################
+
+ #Name of the project in Docker
+ COMPOSE_PROJECT_NAME=media-stack
+
+ # This is the network subnet which will be used inside the docker "media_network", change as required.
+ # LOCAL_SUBNET is your home network and is needed so the VPN client allows access to your home computers.
+ DOCKER_SUBNET=172.28.10.0/24
+ DOCKER_GATEWAY=172.28.10.1
+ LOCAL_SUBNET=10.168.1.0/24
+ LOCAL_DOCKER_IP=10.168.1.10
+
+ # Each of the "*ARR" applications have been configured so the theme can be changed to your needs.
+ # Refer to Theme Park for more info / options: https://docs.theme-park.dev/theme-options/aquamarine/
+ TP_THEME=nord
+
+ # These are the folders on your local host computer / NAS running docker, they MUST exist
+ # and have correct permissions for PUID and PGUI prior to running the docker-compose.
+ #
+ # Use the commands in the Guide to create all the sub-folders in each of these folders.
+
+ # Host Data Folders - Will accept Linux, Windows, NAS folders
+ FOLDER_FOR_CONFIGS=/home/geekau/docker
+ FOLDER_FOR_MEDIA=/home/geekau/media-stack
+
+ # File access, date and time details for the containers / applications to use.
+ # Run "sudo id docker" on host computer to find PUID / PGID and update these to suit.
+ PUID=1000
+ PGID=1000
+ UMASK=0002
+ TIMEZONE=Australia/Brisbane
+
+ # Update your own Internet VPN provide details below
+ VPN_TYPE=openvpn
+ VPN_SERVICE_PROVIDER=VPN provider name
+ VPN_USERNAME=
+ VPN_PASSWORD=
+ SERVER_REGION=
+ SERVER_CITIES=
+ SERVER_HOSTNAMES=
+
+ # Fill in this item ONLY if you're using a custom OpenVPN configuration
+ # Should be inside gluetun data folder - Example: /gluetun/custom-openvpn.conf
+ # You can then edit it inside the FOLDER_FOR_CONFIGS location for gluetun.
+ OPENVPN_CUSTOM_CONFIG=
+
+ # Fill in these items ONLY if you change VPN_TYPE to "wireguard"
+ VPN_ENDPOINT_IP=
+ VPN_ENDPOINT_PORT=
+ WIREGUARD_PUBLIC_KEY=
+ WIREGUARD_PRIVATE_KEY=
+ WIREGUARD_PRESHARED_KEY=
+ WIREGUARD_ADDRESSES=
+
+ # These are the default ports used to access each of the application in your web browser.
+ # You can safely change these if you need, but they can't conflict with other active ports.
+ QBIT_PORT_TCP=6881
+ QBIT_PORT_UDP=6881
+ FLARESOLVERR_PORT=8191
+
+ TDARR_SERVER_PORT=8266
+ WEBUI_PORT_TDARR=8265
+
+ WEBUI_PORT_BAZARR=6767
+ WEBUI_PORT_DDNS_UPDATER=6500
+ WEBUI_PORT_JELLYFIN=8096
+ WEBUI_PORT_JELLYSEERR=5055
+ WEBUI_PORT_LIDARR=8686
+ WEBUI_PORT_MYLAR3=8090
+ WEBUI_PORT_PORTAINER=9443
+ WEBUI_PORT_PROWLARR=9696
+ WEBUI_PORT_QBITTORRENT=8200
+ WEBUI_PORT_RADARR=7878
+ WEBUI_PORT_READARR=8787
+ WEBUI_PORT_SONARR=8989
+ WEBUI_PORT_SABNZBD=8100
+ WEBUI_PORT_WHISPARR=6969
+
+ # SWAG is configured for Reverse Proxy. Set your Internet gateway to redirect incoming ports 80 and 443
+ # to the ports used below (using Docker IP Address), and they will be translated back to 80 and 443 by SWAG.
+ # Change these port numbers if you have conflicting services running on the Docker host computer.
+
+ REVERSE_PROXY_PORT_HTTP=5080
+ REVERSE_PROXY_PORT_HTTPS=5443
+
+ # SWAG REVERSE PROXY SETTINGS:
+ URL=your-domain-name-goes-here.com
+ SUBDOMAINS=wildcard
+ VALIDATION=dns
+ DNSPLUGIN=cloudflare
+ CERTPROVIDER=
+ PROPAGATION=
+ DUCKDNSTOKEN=
+ EMAIL=
+ ONLY_SUBDOMAINS=false
+ EXTRA_DOMAINS=
+ STAGING=false
+ ```
+
+
+
+PART 3 - Configuring the Docker-Compose Environment Settings
+
+This implementation will use a docker-compose configuration file and an accompanying environment file, containing all of the variables for the docker-compose file, so it can be customised to your individual requirements. This allows complex docker builds to be rapidly deployed over and over with relative ease, and minimal input. In fact, it is quicker and easier to delete all of the docker applications and redeploy it again, rather than trying to do any fault finding when errors occur. It is also a simply way to upgrade application versions, by deleting the entire docker stack, and redeploying again using updated images.
+
+Download Docker Compose Media Stack - Yaml file
+Download Docker Compose Media Stack - Environment file
+
+Below are some of the planning details / settings you need to consider, which are located inside the Environment File - they should be updated to suit your needs.
+
+Define Docker Stack and Local Network Details:
+
+You can change the subnet / gateway of the network inside docker where these applications will be deployed, if you are not experienced with docker, then leave the subnet / gateway settings alone.
+
+Put your internal home network details into the LOCAL_SUBNET variable, this will tell the VPN client to allow local computers on this network, they are allowed to access each of the applications inside the secure docker stack.
+
+DOCKER_SUBNET=172.28.10.0/24
+DOCKER_GATEWAY=172.28.10.1
+LOCAL_SUBNET=192.168.1.0/24 <-- your local / home network subnet details here
+
+Once the docker stack has been created and the VPN connection established, Gluetun also allows all computers on the local network, to piggy back off the VPN connection and send all web traffic from your local computer through the secure tunnel. You can change your web proxy to the IP address of your Docker host, using port 8888. A point to remember, if your Docker stack is disabled / turned off, then your web browsers will stop working until you restart the Docker host / stack, or remove the proxy setting in your web browsers.
+
+Set up VPN Connection for Entire Docker Stack:
+
+Its a mandatory requirement you have an active VPN connection, otherwise Gluetun will not establish a VPN tunnel, and there will be no data forwarded to the Internet for the entire docker stack.
+
+A full list of supported VPN / Wireguard providers can be found on the Gluetun wiki on the right hand side menu: Home · qdm12/gluetun Wiki
+
+Gluetun also supports custom VPN configurations if you have alternate VPN setups, the docker-compose file has the necessary variables if you need to set up a custom VPN connection, including Wireguard.
+
+VPN_SERVICE_PROVIDER=VPN provider name
+VPN_USERNAME=
+VPN_PASSWORD=
+SERVER_REGION=
+
+Main Folders For Media and Docker Persistent Configurations:
+
+This is the most important component of your media server, were data is going to be stored, and how all the different Docker applications are going to access the different media / configuration files.
+
+When you set up folders / volumes on the host computer, you need to map them in the Docker configuration, so the applications can access the data. The docker-compose file has already set up all the correct folder mappings between the host computer and docker applications by using environment variables in the YAML file, however you will need to update the variables below so the the docker-compose build knows which folders to map.
+
+When considering media storage, you also need to consider files are going to be downloaded by the Docker applications and moved between folders, which are actually being moved by the underlaying host computer. So you need to consider what happens when moving a 10GB file between two folders inside different Docker applications, may in fact be getting transferred to different HDDs / Filesystems / Volumes, on the host system - this can greatly slow down the performance of disk operations and docker performance.
+
+It is highly recommended the locations you choose for the MEDIA, TORRENTS, USENET, and WATCH folders, are located on the same HDD / Volume / Partition on the local host computer. The Docker stack has been carefully planned, and as long as these host folders are using these principles, then the Docker application will take advantage of Atomic Moves (instant) inside the containers.
+
+FOLDER_FOR_DOCKER_DATA= # Folder to store persistent configuration settings for all the docker applications
+FOLDER_FOR_MEDIA= # Folder where root of media library exists
+FOLDER_FOR_TORRENTS= # Folder where all torrent files will be downloaded (Transmission)
+FOLDER_FOR_USENET= # Folder where all NZB Usenet files will be downloaded (NZBGet)
+FOLDER_FOR_WATCH= # Folder to place NZB and Torrent files for manual downloading
+
+The following table provides examples on how the folders located on the Host computer, will be mapped to the folders inside the Docker containers.
+
+
+Environment Variable:
+Synology Example:
+Linux Example:
+Windows Example:
+Docker Path:
+FOLDER_FOR_DOCKER_DATA /volume1/docker /opt/docker D:\Docker Differs by container
+FOLDER_FOR_MEDIA /volume1/media /opt/media D:\Media /data/media
+FOLDER_FOR_TORRENTS /volume1/data/torrents /opt/torrents D:\Torrents /data/torrents
+FOLDER_FOR_USENET /volume1/data/usenet /opt/usenet D:\Usenet /data/usenet
+FOLDER_FOR_WATCH /volume1/data/watch /opt/watch D:\Watch /data/watch
+
+You need to define your own folders for Synology / Linux / Windows, however the locations you define in the variables, will be mapped to the docker application as per the Docker Path column.
+
+NOTE: It is recommended the folders you use on the host computer, remain empty until completing the entire guide and setting up all the applications. So if you plan to use folder names that current have media, you should rename the old folders, create new ones, then copy the media into the new folders after completing this guide.
+
+
-The environment file is called docker-compose.env, and it is exactly the same file located in each of the folders
-d
\ No newline at end of file
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
index f98dbee..6d402d6 100644
--- a/docs/stylesheets/extra.css
+++ b/docs/stylesheets/extra.css
@@ -4,10 +4,10 @@
.md-typeset .admonition,
.md-typeset details {
- border-width: 2;
+ border-width: 2px;
border-left-width: 8px;
}
.md-header__button.md-icon {
color: black;
-}
\ No newline at end of file
+}
diff --git a/mkdocs.yml b/mkdocs.yml
index 09119e3..76728dd 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -5,17 +5,16 @@ site_url: https://mediastack.guide/
site_description: >
Quick-start guide to set up a full VPN encrypted streaming media service, with reverse-proxy / MFA access from the Internet, for Linux, Windows, Synology NAS, and more... Full Docker deployment for Jellyfin, Jellyseerr, Gluetun, DDNS-Updater, Prowlarr, Radarr, Sonarr, Lidarr, Mylar, Readarr, Whisparr, Bazarr, qBittorrent, SABnzbd, Unpackerr, SWAG, Heimdall, Authelia, Flaresolverr, and Portainer.
-repo_name: media-stack
-repo_url: https://github.com/geekau/media-stack
+repo_name: mediastack.guide
+repo_url: https://github.com/geekau/mediastack.guide
edit_uri: blob/main/docs/
plugins:
- search
- glightbox
+ - git-revision-date-localized:
+ enable_creation_date: false
# - typeset
-# - git-committers:
-# repository: geekau/media-stack
-# branch: main
nav:
- Home: index.md
@@ -48,16 +47,22 @@ nav:
theme:
name: material
-
+ custom_dir: overrides
+ favicon: assets/favicon.png
+
features:
- announce.dismiss
- - content.tabs.link
+ - content.action.edit
+ - content.action.view
+ - content.code.annotate
- content.code.copy
+ - content.tabs.link
- navigation.instant
- navigation.tracking
- navigation.top
+ - navigation.footer
- navigation.tabs
- - navigation.tabs.sticky
+# - navigation.tabs.sticky
- navigation.sections
- navigation.expand
- navigation.prune
@@ -66,7 +71,7 @@ theme:
- toc.integrate
- search.suggest
- search.highlight
- - header.autohide
+# - header.autohide
palette:
- media: "(prefers-color-scheme: light)"
@@ -101,8 +106,6 @@ theme:
example: fontawesome/solid/flask
quote: fontawesome/solid/quote-left
- custom_dir: overrides
-
markdown_extensions:
- admonition
- pymdownx.betterem
@@ -143,6 +146,8 @@ extra_javascript:
- javascript/extra.js
extra:
+ version:
+ provider: stable
consent:
title: Cookie Consent
description: >-
@@ -163,4 +168,4 @@ extra:
name: "Twitter: squidfunk"
copyright: >
- Copyright © 2023 - MediaStack.Guide - Update Change Cookie Settings
+ Copyright © 2023 - MediaStack.Guide ( Update Change Cookie Settings )
diff --git a/overrides/main.html b/overrides/main.html
index c999e02..7d5bc75 100644
--- a/overrides/main.html
+++ b/overrides/main.html
@@ -1,7 +1,12 @@
{% extends "base.html" %}
{% block announce %}
-
Listen Up.... This is an announcement..
+{% endblock %}
+{% block outdated %}
+ You're not viewing the latest version.
+
+ Click here to go to latest.
+
{% endblock %}
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 0d69c7f..0c6e139 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,7 +1,6 @@
mkdocs
mkdocs-awesome-pages-plugin
mkdocs-bootswatch
-mkdocs-git-committers-plugin-2
mkdocs-git-revision-date-localized-plugin
mkdocs-glightbox
mkdocs-material
From 9b6a502a60b37ec022ef417ec6ab983656fb623c Mon Sep 17 00:00:00 2001
From: geekau
Date: Mon, 23 Jan 2023 13:35:37 +1000
Subject: [PATCH 12/29] dev update
---
docs/assets/favicon.ico | Bin 0 -> 15406 bytes
docs/index.md | 206 +-----
docs/stylesheets/extra.css | 17 +
mkdocs.yml | 6 +-
overrides/.icons/assets/header-logo.svg | 832 ++++++++++++++++++++++++
5 files changed, 877 insertions(+), 184 deletions(-)
create mode 100644 docs/assets/favicon.ico
create mode 100644 overrides/.icons/assets/header-logo.svg
diff --git a/docs/assets/favicon.ico b/docs/assets/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..cfcc086253acd712a3fbc57bad5f8e81e7d4cc65
GIT binary patch
literal 15406
zcmeHu2UOK(^0vF1%?fJly&HRCtkKvN6h%<6fGCO}y(t3Hd+$vF=^zRg>@CLL#ol|5
zY4*nbk=>2Y_skD3YqFc1Z2tfKPQLH#@0>XouiX32%sVshyw5Y#s`ZCjf2!4>K`p*^
zsO9)xty%+X)vDE@L-oJAH>_2wfbaF`^Y;I{)~a=+X{}n_`8)gwKT-WYUw-cS6aV8c
z6nXu_&;8QRz2C88yNUCx=3ZN{V8QNr^Q^KaPoBK+v(G*=tY5$Why2V3ls{8`_Ive4
z4z~;T_rZ!4B`7H=M#-{b(4Zu;^AO32LXOwu$VCwC;N9p;`pH`%_+q-{|flGn1BJTJE2vp
zmT2C*Ioh{xk6yicAvQW3F)=X>=USL~+s~T~f4_yWoMVpt`}f1|=1myfya45hHv-CM
z!6Nw+Jk6VfHvBFJOJ}$^JJAMz1O@r@vbUZS;4p6vLV|qY>}Z3nTel+S&K(R@UO}T6
zBS*1<+io`~Itn`KXpp4ifj#x=AvDAX{{EhZu8y{$PPSG^jE_W6fHzjHT7?X*KTJ{Z
zRGEpDiY*dvB|vGeU;sZKpc{pAIy&(4^+a%>mz{^JW2Cd4H45^U(kH3N&(FuQ8`m+K
zpTDm-W2@qXn8z_tY!n#q^Nu=8@qnNA_4YtaRA{)b*Me9Vduwdov>qEblp`xE3+t|4
zg#kZ*S@FkyWj-QaM?gu}VBTO2Om$Y{H9sHd>xIlEsRiL7eo1!Lv#@o`ChXn4i|gki
zGiNEnmoLMzH8CjK9E^xvVc4IrA4@||V08T)+~Mbw{Cu!>b?FzWNik{8c9zhJi-Q&X
z7P%uTEC{JdamdZiKY>*$}()(yb=5N?YUBrmz5dpzXr`_XgqQbcUv2xau_kXrN@&Ep}o;rNy3>`Z33qwQ0b;E`Y
zOX|_1hZEl$!v%U$T2rKCi;hw=we|RaOSk&{diUBrW7=e7XD>x+YAWkbGy($y-^`!y
z_R`YQ^2XGuQ}*cT=@s(r|0*!wzdz<%*>9DA3uH#&y~2&ojcpU_uhM>
zsE_!p6-Dc__xZELongolU0*VpF74d8=RP`49^Ye1Kk6Ef-Nl6Kaii|)&fd3m;SC?0FX3xGodD5fGuRoo!M<(F)$>>38SvfB
zdkEGUuAaleJd1}m?Fz;wnl)>N1`QgZX_F@C+qW;qjM0bb^l5N%bU-rwA%4qVnsuGa
zN{*}cPct#THF>-qqQXPe^D~@vIy}@L1N(M|)!4?c9^V}HliFe1noLx2ZAGKO%V*CK
z)7nT~UwQ$(COvqTw^BuPV4s6dojR!^?~88JrcSBeMS=eV{-?9rDMzAhg~nRR_aHAE9;Y*6RAQ
z)(0PafQ}tI;=>O=tkKKBU@YQeqmU36jU`K#G#1~>V_`P!>xtv|J;8pAFOM1-GO$0s
z)z`=Ke*JKZwunCm4<3vF;{a%QZeKS(fs8@^Fl*QcqZkXldbLEmcCEl(40Y?)MTZU@
z(4|Y4n)Qbb8;YoiU`hz0qC(l3RzH@r%pQvUA;IiD*zag%!B28L6fu*ntE`8miz1=u?}5gu5M7$bqDf;{jQ-3Crg4Kvfk+RlP=Kl_9FCrs0w@8}^Dl+!Qy&B(a}kKUt+)1--ZHx32ww
z@999PT^q@KjR+5TyS_)UtREU0`bYNJf0OkiLW9`6G$sasF=!7{GzPv6TP
z2L^cVmi6uJ?f*RA$?gYPU-CaSISwgFu}Dsgfwz}C!otEJwu{(2e2CAuwjT5Ej$+64
z&G1;UhO@>Qi>el(_(Bns5v&io8aPnI{~`}`+p6nt<@#P83lPkHntk~-S>MXasPN-f#jCH#JCB-}k
zi&(SS<2pGxsq3FPa|QulJ-`UAJ&tlj3FZFJrVe)SSKQ&J_+s(bi&2$8|2ry3s6s|4zF-Jsm?*n)zNP3n8C6V?oQBXKU>wg8SYn!U}KV=MBSy~`H
zHG%iScx0rc^eHVZZQ||W3X=)?h-O{d@%c7<&VGLTw$0eSbraXOf~7m(losDXc)Vdv8YU~L{*l8Gszk>Zd|RyQe8)Abaho7Y-gAvFDHY(
zU4p#4Y$MjU7XIGuFr6|Uq0G68V@GiK(0&{|un!0J?}3+>2W;k9a~~XF>AnD?gMu(B
zJ{~@W9@w#C7S5h^M#g<_guVzxtP+D~*-xQx{V($wgAR%sf6=A8#8Hun3msQ(!gQjOTR@?|P-!x_J}tF?;#_r*Y==N!H+_ICk_fjvhIL
z0|)lzZdD8~o{c@;dEPQ-;&k7F0uAQG_=NH?tbI0e!4<0<|
z8q1ozz}e-v~y&z|+pNKaDlq;fC)
zCCOZz%=%D>e8#WX86OkI-}nE;&-{z;E0nsYeV#vm-oK_^6`qJ>kb{-{r1~IvPZx6
zbN~Il|F=9KIEggER+Qg4PC^a;M~~chMC8sVcVBrG(Z0_gf7g%bD%encN()MJieL}yb&uwgM?(vRy*2KhQmw|yn8To+J
z{{8#=(mpHRgU3-z;Rd9Bx1k6=D%giEMT_-mFM#>#l`t4IgW2<%rLt~oNF)d-pjgn?HWdGa4vNp
zOZk-2jnbC#YwQyHe(Uo`@)LxrhCdelqas3ogx8gom7
zR1|px_O3oY-XJIRgSC~_i)p6Qu5rKieER99g~abd7>f?Pvri*_F`70?S?oj++`17(
z@FLkW!Sl4a_U^v%?O%R)|DP~^%!ntVe+0RoGGcmyp{=CuqW_QNE#_Bk(=zf#g(xh@
zM{aJ8x?kz(X~f795gi>x&Ll*zzc=&U++Nw**nBl>*33&&rcBvCZrr%F!-oyaByJMS
zShOb&IFTBDM)`=+fg*K8i#rRxE4E3V{Y$$>jvP60!q`zyr%V{jeptAI9O{%ue+zEO
zdmH<4;j%>6_3O&j{Sg}lyA(UBr9{Or1zQzPO>0*kzl*pS?_`TrE{qtRV483I{rvvQ
zT&r|;c7Db@V=T_NPP+~a95}F)_*Qi7+O=(|uh=z=(u>lOBDGQWOYD()p+5Th`X`!XpP50dGcz4aGv(g9M8y#sH>`_J?V4lwkO458Zh{4F&WPmwA|qq5
zs$(vB9KjTeiwaa*R*)kU%vQxhX}e&!f*TjmH+kHz8oN@G)q6l>L^xwH5Z>O4K#cp%
z+_{!7rcO1vp{F-`f4@F`N;-Gy6if_pB$bvLD6ytKw0oNIIKAg4hGVd3;e6r*@$^*!
zF$1|zCh}gH1dCbb81iu=Ods9=lLj}$gh5TAKcG2`NB4r4r@O=nym_a0c6K6PXogw*
zeMbj-zUN7-Hk|jV6m>sKOUZi@*A*M(zN2EPv`2WXT){Aj@n&Ua@b}Y^l9Hs_C0MWA
zZ+yJH|HgVK_>R;B*#kB2Cr+GbHfg;63ll?qcr0*1LVUD}1tt*l72G#5AqI2jSYXgc
zjaA%tu3)d@n_-?|ON2P<i33G(_R?fswaB4
z>w+%C90&C8hlvx7Rog;Cf~o6b_R_2mjM1WkT*fVhwiM*kCdQuRm0-leK}bDJOo%I@
z-cqM)^k+_)PcqbhDOjz$n`1Rj{1z(~-ZVBQ0#;UY(6?K){#Ij~sMxK|gqHBL8G^6w
z3vQ>O5F_C0%g0Z##wMZ$M-Hho0wR+eeNuxZHzAHJcyiskbeVc#0e
zRf|bCZrm8GKPo=nk+^WXcI}8yG*+cOx#y2**W$EPH3ze^G9)LjQfY}BHFm@ROH0eS
zlP8Q(u}W8R%HhEQDrO;AVHof5A`W)e=-#QRikk~(F0o@bu`S%pdf?8@i^PnG52^kq
zhD|*6K#WS_*@{Q0hGJ|;3R$-%rS&CQiMTJtzL+1pMr9;*@ko#^L4;x++(
zo^OSiF|kb!Euc%YrqI->i^_%#@Tg@|T6{35A^KT8Y4!uK-aFq$+TuZw_4oXV{_IJ;=X1T5
z#F%!fyv1>H7spPXg8S90=uQl`@3w6iTu^|B$b2Zy6;Q0MlP|c7J2q!wOpdQj=Qe27
zwiWdCo8!(M?qQ`a?%k`4-Mc@a4NcU#B>5`w)2B}#b!Ma|e`fEbavU*{A#Zb%xJ-DE
z_q+NpTIA_Qp6`3{KQVuD4F9aZpRYUGw{MHJYuBp!S91@i;Ct^Ly0hkd!rbl8*M*wh
z%;V9}Je>s1U2ELGxDbvN>yrhE4;
z&Rv^hx|
zw!W)>V4%O}^ht&)*Wp0@h35-o&IU4vMYNym-Mbgh^c0o%5dVwB-@2`GPkreBfs`3l
zx2XGQ>TXDxf^U==2vjU#S7ir-sX<6;Uk0>X|DSnR_dBp
zkRoB=||Nkj0Bn4$YE6~!eJS!Jkoa>b3}0_$)U;t4&;+Q
zdEE;YgP9-XleC=DOzJM2hS<u5<%QkL^xl;q7BB5=GpH3BmMI@yEN$aYxJZ3LwJVikpp{K
zWklU4QB3iq$^yyCJaSPEn9tdySyi*J-)LX8{`9x(f!jNrNWI!GkfO7&T7U8q!jDa+
z9Z}?f-l>WALPPz!YW*J@9T`adRjz36EK_n+v8oNil|?h}qlv#qvxhL5Y^3&=68{oA
z!r7Nxy$0bAKc((NX~QV)#aHyX#J-}K;u(3oEb@p>RZdt~|Q)xBCAfjt)1UYOLySVP>Mv
zIV2MMPKXnURCyuchUQq9!@|Ns)%_G>N4U4um#<(H^_SQmM&0!^3a*j+k=Pd=?j>Wt
zkX)3D#swbALY0r&S5E(TAsf3@zS|E5cq
zFowOuAnHGy`j2G}oT&1p?o%n|c+J=^)7ZmR;|i}T)@AZp+xKka8Nt|T!u+Mr*VK{R
ztrpSWSvL#MbQ{%hODVL$$=FLOx>?_|m93?J{B)wT1j4LdJh#Q0Y)RsM4nZ5YQm+O3IV4PuSg%%Tm}Sg&!w
z0>-{KV<$if!1{`HP$JoHkD(2$Kl```y3A*74$skDj)%Io0fs)hk!<4zX0_TR1nzyI!Wst;NSiV!(g_HT7S(
z(}Nc-V8V+RDt{_7h~p_6H0jjal=&+>q7AljCef2zrjNq9tO-Qv#Zpwov0wG2{_Pc<
zrvCNci6Il64fwit3$=zy{Cq)~#5<3i0g{sp_cxSCi5;n<8Ej6q`cLK^tehN{mWvbK
zbwx?O%DoCV*t>Uc96WfihWo5IcMg-EKgV$Dtxw+@^0h=$Ox?{nlOp=tVh_1U@2Z9H
zB^Mm51flSD0jlB|`^n4!`zlYPkZj$gezJ^cgT1>Ps0on~Q5{l|}1
zMf@*3rYf7(tGwi<4Qqv$#E>CFuw~1Zx4NGu4|)dko<4=d{#fSkM7|~{d#U$K=71IV
z!4apF1w4b<(`q*LAv9pTX4q73Gtz
zU3lLocJ?+OvzDapPESv7x^3IGzZB+YFOgZ~DMn*3#dr+yol^FhJIG^hXaBKH<*sEG
z_4DmpAhSNw!<{8}Eqic|@iU+E3!|y~c*5lT4X
zE93Ag?Io%f)Bj5qJjv0(%Syx9rs_J{UiTg@>wd(ut(x1G92m~Ke-ZW1&&{fqoUF6O
z#aXR|XIoa3pJhGA6w^({sUq`g$BrH%hr3thY7gw&jeUD}gB%_>bEx+FqeqWY=c?V@
zTwxX)i_yi!FklaD#Iw!y>Mq>6JrfTe%)@uzIph2jcSJmA?7t31q!NiZO&lKQJW}TY
zl%*Ox%hO;z_n}W8Z4dDj=XLwk#E-<#WcJbdc}rE!aQU(VVoC*Hu3omRh^Vh;0$mPz0kopY@#IC}$lgQ*o;${LZ+j7zFzeYjg90hm!|f96UG&wFpCpy6`Npz#N?qk;>j@
z4Rt?4aps*elUUJ~&FjgZufyhzYu{|&v}qXQw@&$*(xUk;Hn6oa|3#T+IRmrJr^1#!
zs*jgD?-Y?L{v;To%mc`5h0HP>IeZ9*4j$mV#X%h9zbk0t$rHRYsP0P$o#?ib7yh-)Jb(eWglgpL-tbUCB(i%^o``>LC&6Vjvf0M3w+O?^W*h4u3J;;
z=QSS-UG4s3;_hMx&-o7U_HcpBEd=>`K;~0qHa?PbOVVpeecZ@6-Lq#G?Wn*-p6xfT
zU&pnpSKiK89IuJh3dzS~M{~%(f3Riax>X^>9DKdpemCMrUHlf!M-cCUG82`bll6l0
zBE_81SWW)_=#3jUj`DTn)2C1CZ`-=5JSr@ZcP##0!S7Z47u^dCT+~H+HkomizDIuM
z3`2vRJGQM)WPcw`eC6Mj1o~zZ=P@{+!MUuBU?|F52K(1kBqv1i`vTv}zyIAo(dBkz
zWPtE#KYBQ8(vZ2oX)*hK`5TUZM-t;AmDI%OFrLTl`FA`$SPO=6?rF-`Uw>`SzvT#|
zZ_*i`tMA{vvyU;%6g_jD_36&u-8;VAylLIHt5z<5Qk0+llCyyd{|@Bu*_mma<6*zf
zK27Fu(o^K_5hL;g_1Yl4+K-gyKR8EH=gzGg`8z+~`lg)oUHrQe6!MH_ON5NHq+b-S
zu}c0X>8IcMul~Jv@80*=H#KC>(f-RXzwAXDhcR|1P-by<+3DWBdpfi+`4t6+
zcKO1&bI&-Z_IJs5iIHvW>&n@Wu35SK>Cb)VKP~br-=HpklzvQVI_+ur>eZ`etdFhu
xzVMU3`5}f>hdqC%n>TL`kv`2X4i{|6VF#u@+s
literal 0
HcmV?d00001
diff --git a/docs/index.md b/docs/index.md
index f4c0ecd..3fc2ad8 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -2,208 +2,54 @@
With many people owning digital media such as CDs, DVD, and Blu-ray disks, home movies, personal photos, personal music collection, its common that people want to build home media servers in order to manage and access their digital libraries from any device within their home network, their mobile devices, and even remotely when they may be away on holidays or having a lunch break at work.
-This guide will help you rapidly deploy all the applications you need in a full Docker build, to operate a Jellyfin, Jellyseerr, *ARR Media Library Managers (Prowlarr / Sonarr / Radarr / Lidarr / Readarr etc..) and Tdarr Automated Media Transcoding enabled media stack, and has been thoroughly tested on Linux, Windows and Synology NAS servers.
+This guide will help you rapidly deploy all the applications you need in a full Docker build media stack, to operate a Jellyfin, Jellyseerr, *ARR Media Library Managers (Prowlarr / Sonarr / Radarr / Lidarr / Readarr etc..) and Tdarr Automated Media Transcoding.
+## Features
-Fully encrypted outbound network - The guide establishes a full VPN encrypted Internet connection for all outbound communications, so all network traffic to Torrent / Usenet and meta-data servers are fully encrypted as they leave your network, in order to provide you full privacy. If the VPN connection fails / drops, or is stopped for any reason, then all outbound traffic is completely restricted, until the VPN connection is re-established.
+- Host your media stack using Docker on any Operating System or NAS Device (Windows / Linux / Synology)
+- Rapidly deploy full media stack with Docker Compose files in matter of minutes
+- Stream your full media library to any media device on your home network
+- Full network encryption for all services connecting via the Internet (VPN and Zero Trust)
+- Dedicated *ARR (starr) media library managers for your movies, tv shows, anime, music, comics, and books
+- Access all of your media stack applications from the Internet with Nginx Reverse Proxy
+- Internet access to your full media library using your own DDNS or DNS address
+- Internet access secured by Cloudflare Zero Trust Network Access and Multifactor Authentication
+## Security
+This guide provides two different security models to cater for your privacy choice:
-Fully encrypted inbound - This guide will also establish an inbound Nginx reverse proxy into your network, using
+- Fully secured configuration - where all Internet connections are fully encrypted end-to-end, and
+- Partially secured configuration - where only the Internet connections for Usenet / Torrents clients and Meta-Data servers are encrypted.
+The external / outbound VPN connection is established using the Gluetun VPN docker container, if the VPN connection fails / drops, or is stopped for any reason, then all outbound traffic is completely restricted until the VPN connection is re-established.
- Jellyfin, Jellyseerr, NZBGet, Transmission and *ARR media stack using this docker-compose guide in approximately 30 - 60 minutes, on Linux, Windows or Synology NAS, and potentially more Docker enabled environments.
+You can also access your home media server from the Internet as the guide will walk you through the configuration needed to establish a Nginx reverse proxy, secured by Cloudflare's Zero Trust Network Access framework, digital SSL certificates, with integrated Multifactor Authentication (MFA) for anyone connecting from the Internet.
-This guide will cover all the steps needed to initially install and configure a secure docker hosted media environment, with all the applications needed to download torrents and Usenet content which you have a right to use in your media library, and allow you to stream the media via a simple web browser, and even stream the media to your Smart TV / Apple TV apps around the house.
-
-This guide ensures all network traffic is securely hidden using a VPN, and encrypting ALL traffic in / out of your home network. It can also be used on your Synology NAS, or any other Linux / Windows / MacOS machine running the Docker environment.
-
-With many people owning CDs, DVD, and Blu-ray disks, there is demand to make people's media content more transferrable in their home media systems, so it can be viewed on their personal devices. People also want to be able to put their own home movies / photos onto their media servers, so it too can be freely shared between their devices.
-
-NOTE:
-
-NOTE: It is highly recommended not adding any of your own media files or libraries into the Docker folders / applications, until after setting up the entire media stack, then you can add your media in a structured manner.
-
-
-!!! warning "Piracy Notice"
-
- This guide is not about, nor promotes, the illegal piracy of digital media content from their respected / licensed owners.
-
- This guide assumes no responsibility for users who may access or download digital media content, which they do not have legal rights.
-
-
-
-## Commands
-
-* `mkdocs new [dir-name]` - Create a new project.
-* `mkdocs serve` - Start the live-reloading docs server.
-* `mkdocs build` - Build the documentation site.
-* `mkdocs -h` - Print help message and exit.
-
-### Third Heading
-
-This is the third heading.
-
-#### Fourth Heading
-
-This is the fourth heading.
-
-##### Fifth Heading
-
-This is the fifth heading.
-
-## Project layout
-
- mkdocs.yml # The configuration file.
- docs/
- index.md # The documentation homepage.
- ... # Other markdown pages, images and other files.
-
-``` mermaid
-graph TB
- c1-->a2
- subgraph Download Clients
- a1-->a2
- end
- subgraph two
- b1-->b2
- end
- subgraph three
- c1-->c2
- end
-```
-
-``` mermaid
-flowchart LR
- subgraph Download Clients
- SABnzbd-->VPN
- qBittorrent-->VPN
- end
- subgraph Internet
- VPN-->gateway[VPN Gateway]
- end
-```
-
-
-
-
-!!! danger
-
- === "C"
-
- ``` c
- #include
-
- int main(void) {
- printf("Hello world!\n");
- return 0;
- }
- ```
-
- === "C++"
+!!! note "Note: Remote access from the Internet requires a valid domain name"
- ``` c++
- #include
+ In order to connect to your home network using the Nginx reverse proxy and Cloudflare zero trust infrastructure, you will need a domain name, either one you register and pay for yourself, or you can register with many of the free DDNS providers available on the Internet.
- int main(void) {
- std::cout << "Hello world!" << std::endl;
- return 0;
- }
- ```
+ The domain name is required in order for free SSL certificates to be installed on your external connection, using Let's Encrypt or ZeroSSL certificate providers.
-![Image title](https://dummyimage.com/600x400/eee/aaa){ loading=lazy,align=left }
-++ctrl+alt+del++
-
-
-
-!!! note
-
- This is a Note field... copy this example
-
----
-
-!!! abstract
-
- This is an Abstract field... copy this example
-
----
-
-!!! info
-
- This is an Info field... copy this example
-
- === "Linux Shell"
- ``` shell
- This is linux code
- ```
- === "Windows Prompt"
- ``` powershell
- This is linux code
- ```
- === "Synology SSH"
- ``` putty
- This is linux code
- ```
-
----
-
-!!! tip
-
- This is a Tip field... copy this example
-
----
-
-!!! success
-
- This is a Success field... copy this example
-
----
-
-!!! question
-
- This is a Question field... copy this example
-
----
-
-!!! warning
-
- This is a Warning field... copy this example
-
----
-
-!!! failure
-
- This is a Failure field... copy this example
-
----
-
-!!! danger
-
- This is a Danger field... copy this example
-
----
+This guide will cover all the steps needed to initially install and configure a secure docker hosted media environment, with all the applications needed to download torrents and Usenet content which you have a right to use in your media library, and allow you to stream the media via a simple web browser, and even stream the media to your Smart TV / Apple TV apps around the house.
-!!! bug
+## Disclaimer
- This is a Bug field... copy this example
----
-!!! example
- This is an Example field... copy this example
----
+, and has been thoroughly tested on Linux, Windows and Synology NAS servers
-!!! quote
- This is a Quote field... copy this example
+With many people owning CDs, DVD, and Blu-ray disks, there is demand to make people's media content more transferrable in their home media systems, so it can be viewed on their personal devices. People also want to be able to put their own home movies / photos onto their media servers, so it too can be freely shared between their devices.
+!!! warning "Warning: Piracy Notice"
+ This guide is not about, nor promotes, the illegal piracy of digital media content from their respected / licensed owners.
+ This guide assumes no responsibility for users who may access or download digital media content, which they do not have legal rights.
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
index 6d402d6..940bb96 100644
--- a/docs/stylesheets/extra.css
+++ b/docs/stylesheets/extra.css
@@ -11,3 +11,20 @@
.md-header__button.md-icon {
color: black;
}
+
+.md-header {
+ border-bottom: 0.1rem solid rgb(16, 23, 212);
+}
+
+.md-tabs {
+ border-bottom: 0.1rem solid rgb(16, 198, 43);
+}
+
+[data-md-color-scheme="default"] {
+ --md-default-fg-color--light: rgba(9, 19, 214, 0.697);
+}
+
+[data-md-color-scheme="slate"] {
+ --md-default-fg-color--light: rgb(37, 206, 37);
+ .md-header .border-bottom {0.05rem solid red;}
+}
diff --git a/mkdocs.yml b/mkdocs.yml
index 76728dd..710db1b 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -48,7 +48,7 @@ nav:
theme:
name: material
custom_dir: overrides
- favicon: assets/favicon.png
+ favicon: assets/favicon.ico
features:
- announce.dismiss
@@ -62,7 +62,6 @@ theme:
- navigation.top
- navigation.footer
- navigation.tabs
-# - navigation.tabs.sticky
- navigation.sections
- navigation.expand
- navigation.prune
@@ -71,7 +70,6 @@ theme:
- toc.integrate
- search.suggest
- search.highlight
-# - header.autohide
palette:
- media: "(prefers-color-scheme: light)"
@@ -90,7 +88,7 @@ theme:
name: Switch to Light Mode
icon:
- logo: fontawesome/solid/photo-film
+ logo: assets/header-logo
repo: fontawesome/brands/github
admonition:
note: fontawesome/solid/note-sticky
diff --git a/overrides/.icons/assets/header-logo.svg b/overrides/.icons/assets/header-logo.svg
new file mode 100644
index 0000000..8359ad1
--- /dev/null
+++ b/overrides/.icons/assets/header-logo.svg
@@ -0,0 +1,832 @@
+
+
+
+
From 4d0ff4c0fe785e2cc4c72b369739ccfeb4f66d65 Mon Sep 17 00:00:00 2001
From: geekau
Date: Thu, 26 Jan 2023 19:30:28 +1000
Subject: [PATCH 13/29] update home
---
docs/index.md | 28 +++++++++++++++++++---------
1 file changed, 19 insertions(+), 9 deletions(-)
diff --git a/docs/index.md b/docs/index.md
index 3fc2ad8..1109ec2 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -4,6 +4,18 @@ With many people owning digital media such as CDs, DVD, and Blu-ray disks, home
This guide will help you rapidly deploy all the applications you need in a full Docker build media stack, to operate a Jellyfin, Jellyseerr, *ARR Media Library Managers (Prowlarr / Sonarr / Radarr / Lidarr / Readarr etc..) and Tdarr Automated Media Transcoding.
+## Why MediaStack.Guide
+
+Building a good home media stack is not an easy task for people who aren't computer savy. Reasearching / picking the right applications for each role you need can be a frustrating activity if you don't know how each of the applications work, and worse, if you need to link them together to build a full home media solution.
+
+While there are many good technical sites on the Internet which discuss how to configure some of the applications, these take time to set up and configure each of the applications one-by-one, before moving on to a different website to configure the next application - there really aren't many sites dedicated to covering a "complete setup" of all the applications needed, and covering the configuration steps for all of the applications so they all work together.
+
+By following MediaStack.Guide, you can essentially have all of the applications downloaded and installed in less than 10 minutes using our customised Docker Compose files, then work through our detailed configuration guides to link all of the applications together, without needing a great technical understanding.
+
+Our approach is "quick and simple" for greater user understanding.
+
+> Download and install times depends on the speed of your Internet link.
+
## Features
- Host your media stack using Docker on any Operating System or NAS Device (Windows / Linux / Synology)
@@ -17,7 +29,7 @@ This guide will help you rapidly deploy all the applications you need in a full
## Security
-This guide provides two different security models to cater for your privacy choice:
+MediaStack.Guide focuses heavily on privacy for individuals and provides two different security models to cater for your privacy choice:
- Fully secured configuration - where all Internet connections are fully encrypted end-to-end, and
- Partially secured configuration - where only the Internet connections for Usenet / Torrents clients and Meta-Data servers are encrypted.
@@ -32,21 +44,19 @@ You can also access your home media server from the Internet as the guide will w
The domain name is required in order for free SSL certificates to be installed on your external connection, using Let's Encrypt or ZeroSSL certificate providers.
-
-
-
-This guide will cover all the steps needed to initially install and configure a secure docker hosted media environment, with all the applications needed to download torrents and Usenet content which you have a right to use in your media library, and allow you to stream the media via a simple web browser, and even stream the media to your Smart TV / Apple TV apps around the house.
-
## Disclaimer
+### Warranties
+MediaStack.Guide pulls together over 20 different open source applications, in order to provide the best components for your home based media stack. While the applications chosen for MediaStack.Guide are all excellent products, they are open source and many of them are developed by volunteers / contributors, and don't come with any warranties or consumer protection, additionally, these applications have been containerised into Docker images so they are easier to download, configure and deploy.
+While we have taken great care and time to test all of these applications so they work together to provide the best media guide we can for people to follow, the information on this website is for general informational purposes only. MediaStack.Guide makes no representation or warranty, express or implied. Your use of the site is solely at your own risk. We will provide links to websites and support forums for the applications we discuss throughout this guide, so any expert help outside of the scope of this website can be followed to the application developers.
+### Piracy Notice
-, and has been thoroughly tested on Linux, Windows and Synology NAS servers
-
+The intent of MediaStack.Guide is to guide you through the steps needed to setup and configure a home media stack, so you can host your own digital media (movies / picture / music / literature), or other digital media where you have rights to host and view that media. MediaStack.Guide also provides steps on how to access and download digital media from the Internet, where you may need to restore missing / corrupted copies of digital media you have legal rights to do, or replace it with better qualities (resolution / sound).
-With many people owning CDs, DVD, and Blu-ray disks, there is demand to make people's media content more transferrable in their home media systems, so it can be viewed on their personal devices. People also want to be able to put their own home movies / photos onto their media servers, so it too can be freely shared between their devices.
+While you are able to purchase various copies of licensed / copyright digital media and store these in your home media libraries, your legal obligations and right to download, store and view digital media is between you and the owner of the digital media. Your downloading and use of licensed digital media is solely at your own risk.
!!! warning "Warning: Piracy Notice"
From b72bcdb9c664504ffcca8478e326aa91530d65e3 Mon Sep 17 00:00:00 2001
From: geekau
Date: Thu, 26 Jan 2023 23:15:53 +1000
Subject: [PATCH 14/29] update files
---
.../arr-applications.md | 0
.../cloudflare-domains.md | 0
.../cloudflare-zero-trust.md | 0
.../ddns-updater.md | 0
.../download-clients.md | 0
docs/{configure => configuration}/jellyfin.md | 0
.../jellyseerr.md | 0
docs/{configure => configuration}/swag.md | 0
.../collective-install.md | 0
.../environment-file.md | 0
.../individual-install.md | 0
docs/{install => installation}/portainer.md | 0
docs/intro/mediastack.md | 1 -
.../application-roles.md | 0
.../docker-filesystems.md | 0
.../download-mediastack.md | 0
docs/{intro => preparation}/install-docker.md | 0
docs/{intro => preparation}/media-library.md | 0
mkdocs.yml | 43 +++++++++----------
19 files changed, 21 insertions(+), 23 deletions(-)
rename docs/{configure => configuration}/arr-applications.md (100%)
rename docs/{configure => configuration}/cloudflare-domains.md (100%)
rename docs/{configure => configuration}/cloudflare-zero-trust.md (100%)
rename docs/{configure => configuration}/ddns-updater.md (100%)
rename docs/{configure => configuration}/download-clients.md (100%)
rename docs/{configure => configuration}/jellyfin.md (100%)
rename docs/{configure => configuration}/jellyseerr.md (100%)
rename docs/{configure => configuration}/swag.md (100%)
rename docs/{install => installation}/collective-install.md (100%)
rename docs/{install => installation}/environment-file.md (100%)
rename docs/{install => installation}/individual-install.md (100%)
rename docs/{install => installation}/portainer.md (100%)
delete mode 100644 docs/intro/mediastack.md
rename docs/{intro => preparation}/application-roles.md (100%)
rename docs/{intro => preparation}/docker-filesystems.md (100%)
rename docs/{intro => preparation}/download-mediastack.md (100%)
rename docs/{intro => preparation}/install-docker.md (100%)
rename docs/{intro => preparation}/media-library.md (100%)
diff --git a/docs/configure/arr-applications.md b/docs/configuration/arr-applications.md
similarity index 100%
rename from docs/configure/arr-applications.md
rename to docs/configuration/arr-applications.md
diff --git a/docs/configure/cloudflare-domains.md b/docs/configuration/cloudflare-domains.md
similarity index 100%
rename from docs/configure/cloudflare-domains.md
rename to docs/configuration/cloudflare-domains.md
diff --git a/docs/configure/cloudflare-zero-trust.md b/docs/configuration/cloudflare-zero-trust.md
similarity index 100%
rename from docs/configure/cloudflare-zero-trust.md
rename to docs/configuration/cloudflare-zero-trust.md
diff --git a/docs/configure/ddns-updater.md b/docs/configuration/ddns-updater.md
similarity index 100%
rename from docs/configure/ddns-updater.md
rename to docs/configuration/ddns-updater.md
diff --git a/docs/configure/download-clients.md b/docs/configuration/download-clients.md
similarity index 100%
rename from docs/configure/download-clients.md
rename to docs/configuration/download-clients.md
diff --git a/docs/configure/jellyfin.md b/docs/configuration/jellyfin.md
similarity index 100%
rename from docs/configure/jellyfin.md
rename to docs/configuration/jellyfin.md
diff --git a/docs/configure/jellyseerr.md b/docs/configuration/jellyseerr.md
similarity index 100%
rename from docs/configure/jellyseerr.md
rename to docs/configuration/jellyseerr.md
diff --git a/docs/configure/swag.md b/docs/configuration/swag.md
similarity index 100%
rename from docs/configure/swag.md
rename to docs/configuration/swag.md
diff --git a/docs/install/collective-install.md b/docs/installation/collective-install.md
similarity index 100%
rename from docs/install/collective-install.md
rename to docs/installation/collective-install.md
diff --git a/docs/install/environment-file.md b/docs/installation/environment-file.md
similarity index 100%
rename from docs/install/environment-file.md
rename to docs/installation/environment-file.md
diff --git a/docs/install/individual-install.md b/docs/installation/individual-install.md
similarity index 100%
rename from docs/install/individual-install.md
rename to docs/installation/individual-install.md
diff --git a/docs/install/portainer.md b/docs/installation/portainer.md
similarity index 100%
rename from docs/install/portainer.md
rename to docs/installation/portainer.md
diff --git a/docs/intro/mediastack.md b/docs/intro/mediastack.md
deleted file mode 100644
index b408019..0000000
--- a/docs/intro/mediastack.md
+++ /dev/null
@@ -1 +0,0 @@
-# Intro to MediaStack
diff --git a/docs/intro/application-roles.md b/docs/preparation/application-roles.md
similarity index 100%
rename from docs/intro/application-roles.md
rename to docs/preparation/application-roles.md
diff --git a/docs/intro/docker-filesystems.md b/docs/preparation/docker-filesystems.md
similarity index 100%
rename from docs/intro/docker-filesystems.md
rename to docs/preparation/docker-filesystems.md
diff --git a/docs/intro/download-mediastack.md b/docs/preparation/download-mediastack.md
similarity index 100%
rename from docs/intro/download-mediastack.md
rename to docs/preparation/download-mediastack.md
diff --git a/docs/intro/install-docker.md b/docs/preparation/install-docker.md
similarity index 100%
rename from docs/intro/install-docker.md
rename to docs/preparation/install-docker.md
diff --git a/docs/intro/media-library.md b/docs/preparation/media-library.md
similarity index 100%
rename from docs/intro/media-library.md
rename to docs/preparation/media-library.md
diff --git a/mkdocs.yml b/mkdocs.yml
index 710db1b..1cb1574 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -18,28 +18,27 @@ plugins:
nav:
- Home: index.md
- - Introduction:
- - Intro to MediaStack: intro/mediastack.md
- - Applications and Their Roles: intro/application-roles.md
- - Installing Docker on Host OS: intro/install-docker.md
- - Organising Your Media Library: intro/media-library.md
- - Docker Filesystems / Folders: intro/docker-filesystems.md
- - Download Docker Build Files: intro/download-mediastack.md
- - Installing Docker Apps:
- - Configuring Environment: install/environment-file.md
- - Installing Apps Individually: install/individual-install.md
- - Installing Apps Collectively: install/collective-install.md
- - Configuring Environment: install/environment-file.md
- - Portainer - Docker GUI: install/portainer.md
- - Configure Docker Apps:
- - Download Clients: configure/download-clients.md
- - "*ARR (starr) Applications": configure/arr-applications.md
- - Jellyfin Media Server: configure/jellyfin.md
- - Jellyseerr - Request Media: configure/jellyseerr.md
- - SWAG Reverse Proxy: configure/swag.md
- - DDNS-Updater: configure/ddns-updater.md
- - Cloudflare Zero Trust: configure/cloudflare-zero-trust.md
- - Cloudflare Domain Management: configure/cloudflare-domains.md
+ - Preparation:
+ - MediaStack Applications: preparation/applications-roles.md
+ - Installing Docker: preparation/install-docker.md
+ - Docker Filesystems / Folders: preparation/docker-filesystems.md
+ - Prepare Media Library: preparation/media-library.md
+ - Docker Compose Files: preparation/compose-files.md
+ - Installation:
+ - Configuring Environment: installation/environment-file.md
+ - Installing Apps Individually: installation/individual-install.md
+ - Installing Apps Collectively: installation/collective-install.md
+ - Configuring Environment: installation/environment-file.md
+ - Portainer - Docker GUI: installation/portainer.md
+ - Configuration:
+ - Download Clients: configuration/download-clients.md
+ - "*ARR (starr) Applications": configuration/arr-applications.md
+ - Jellyfin Media Server: configuration/jellyfin.md
+ - Jellyseerr - Request Media: configuration/jellyseerr.md
+ - SWAG Reverse Proxy: configuration/swag.md
+ - DDNS-Updater: configuration/ddns-updater.md
+ - Cloudflare Zero Trust: configuration/cloudflare-zero-trust.md
+ - Cloudflare Domain Management: configuration/cloudflare-domains.md
- Contributing to MediaStack:
- Contributing: contributing/contributing.md
- Template: contributing/doc-template.md
From eaaaf64abd1627e32a773314238742205b99f8a8 Mon Sep 17 00:00:00 2001
From: geekau
Date: Fri, 27 Jan 2023 09:28:47 +1000
Subject: [PATCH 15/29] structure pages
---
docs/configuration/authelia.md | 0
docs/configuration/bazaar.md | 0
...ins.md => cloudflare-domain-management.md} | 0
docs/configuration/download-clients.md | 1 -
docs/configuration/gluetun.md | 0
docs/configuration/heimdall.md | 0
docs/configuration/lidarr.md | 0
docs/configuration/mylar.md | 0
docs/configuration/prowlarr.md | 0
docs/configuration/qbittorrent.md | 0
docs/configuration/radarr.md | 0
docs/configuration/readarr.md | 0
docs/configuration/sabnzbd.md | 0
.../{swag.md => secure-web-app-gateway.md} | 0
docs/configuration/sonarr.md | 0
docs/configuration/tdarr.md | 0
docs/configuration/unpackerr.md | 0
docs/configuration/whisparr.md | 0
.../arr-applications.md => help/1.md} | 0
docs/help/2.md | 407 +++++++
docs/help/3.md | 1004 +++++++++++++++++
docs/help/application-websites.md | 0
docs/{contributing => help}/contributing.md | 0
.../doc-template.md => help/template.md} | 64 +-
docs/installation/collective-install.md | 407 -------
...ent-file.md => customising-environment.md} | 0
docs/installation/default-environment.md | 196 ++++
docs/installation/individual-install.md | 1004 -----------------
docs/preparation/application-roles.md | 1 -
...-mediastack.md => docker-compose-files.md} | 0
docs/preparation/docker-filesystem.md | 122 ++
docs/preparation/docker-filesystems.md | 109 --
...install-docker.md => installing-docker.md} | 0
docs/preparation/mediastack-applications.md | 3 +
docs/preparation/networking-architecture.md | 0
...ia-library.md => prepare-media-library.md} | 0
mkdocs.yml | 63 +-
37 files changed, 1838 insertions(+), 1543 deletions(-)
create mode 100644 docs/configuration/authelia.md
create mode 100644 docs/configuration/bazaar.md
rename docs/configuration/{cloudflare-domains.md => cloudflare-domain-management.md} (100%)
delete mode 100644 docs/configuration/download-clients.md
create mode 100644 docs/configuration/gluetun.md
create mode 100644 docs/configuration/heimdall.md
create mode 100644 docs/configuration/lidarr.md
create mode 100644 docs/configuration/mylar.md
create mode 100644 docs/configuration/prowlarr.md
create mode 100644 docs/configuration/qbittorrent.md
create mode 100644 docs/configuration/radarr.md
create mode 100644 docs/configuration/readarr.md
create mode 100644 docs/configuration/sabnzbd.md
rename docs/configuration/{swag.md => secure-web-app-gateway.md} (100%)
create mode 100644 docs/configuration/sonarr.md
create mode 100644 docs/configuration/tdarr.md
create mode 100644 docs/configuration/unpackerr.md
create mode 100644 docs/configuration/whisparr.md
rename docs/{configuration/arr-applications.md => help/1.md} (100%)
create mode 100644 docs/help/2.md
create mode 100644 docs/help/3.md
create mode 100644 docs/help/application-websites.md
rename docs/{contributing => help}/contributing.md (100%)
rename docs/{contributing/doc-template.md => help/template.md} (50%)
rename docs/installation/{environment-file.md => customising-environment.md} (100%)
create mode 100644 docs/installation/default-environment.md
delete mode 100644 docs/preparation/application-roles.md
rename docs/preparation/{download-mediastack.md => docker-compose-files.md} (100%)
create mode 100644 docs/preparation/docker-filesystem.md
delete mode 100644 docs/preparation/docker-filesystems.md
rename docs/preparation/{install-docker.md => installing-docker.md} (100%)
create mode 100644 docs/preparation/mediastack-applications.md
create mode 100644 docs/preparation/networking-architecture.md
rename docs/preparation/{media-library.md => prepare-media-library.md} (100%)
diff --git a/docs/configuration/authelia.md b/docs/configuration/authelia.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/bazaar.md b/docs/configuration/bazaar.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/cloudflare-domains.md b/docs/configuration/cloudflare-domain-management.md
similarity index 100%
rename from docs/configuration/cloudflare-domains.md
rename to docs/configuration/cloudflare-domain-management.md
diff --git a/docs/configuration/download-clients.md b/docs/configuration/download-clients.md
deleted file mode 100644
index 6a75975..0000000
--- a/docs/configuration/download-clients.md
+++ /dev/null
@@ -1 +0,0 @@
-# Configure Download Clients
diff --git a/docs/configuration/gluetun.md b/docs/configuration/gluetun.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/heimdall.md b/docs/configuration/heimdall.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/lidarr.md b/docs/configuration/lidarr.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/mylar.md b/docs/configuration/mylar.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/prowlarr.md b/docs/configuration/prowlarr.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/qbittorrent.md b/docs/configuration/qbittorrent.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/radarr.md b/docs/configuration/radarr.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/readarr.md b/docs/configuration/readarr.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/sabnzbd.md b/docs/configuration/sabnzbd.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/swag.md b/docs/configuration/secure-web-app-gateway.md
similarity index 100%
rename from docs/configuration/swag.md
rename to docs/configuration/secure-web-app-gateway.md
diff --git a/docs/configuration/sonarr.md b/docs/configuration/sonarr.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/tdarr.md b/docs/configuration/tdarr.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/unpackerr.md b/docs/configuration/unpackerr.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/whisparr.md b/docs/configuration/whisparr.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/configuration/arr-applications.md b/docs/help/1.md
similarity index 100%
rename from docs/configuration/arr-applications.md
rename to docs/help/1.md
diff --git a/docs/help/2.md b/docs/help/2.md
new file mode 100644
index 0000000..d102c36
--- /dev/null
+++ b/docs/help/2.md
@@ -0,0 +1,407 @@
+# Collective Installation
+
+
+
+
+# Docker Media Stack
+>You can download these files easily, by going to [https://github.com/geekau/media-stack](https://github.com/geekau/media-stack) then selecting "**Code**" --> "**Download Zip**".
+
+These Docker Compose configurations will help you rapidly deploy all the applications you need in a Docker stack, to operate a Jellyfin, Jellyseerr, Torrent, Usenet, \*ARR Media Library Managers, Reverse Proxy, MFA Authenticated Access, and Tdarr Automated Media Transcoding enabled media stack, and has been thoroughly testing on Linux, Windows and Synology NAS servers.
+
+
+## 2 - Edit the "docker-compose.env" file, and update variables to suit your environment.
+
+
+```
+DOCKER_SUBNET=172.28.10.0/24
+DOCKER_GATEWAY=172.28.10.1
+LOCAL_SUBNET=10.168.1.0/24
+LOCAL_DOCKER_IP=10.168.1.111
+```
+
+
+### Docker Host Folders Locations:
+Add the folder locations to the ENV file, where your docker configurations and media / downloads will be stored:
+>Folders need to exist before running "docker-compose" commands. Valid choices are Linux, Windows or NAS folder naming conventions.
+```
+FOLDER_FOR_CONFIGS=/home/geekau/docker
+FOLDER_FOR_MEDIA=/home/geekau/media-stack
+```
+
+### At Linux / Synology terminal, use the "id" command to identify user ID and group ID.
+```
+sudo id geekau
+uid=1000(geekau) gid=1000(geekau) groups=1000(geekau)
+```
+Update the ENV file with these details:
+```
+PUID=1000 <-- Update this value from "id" command
+PGID=1000 <-- Update this value from "id" command
+TIMEZONE=Australia/Brisbane
+```
+Update your local Timezone using this list: [List of Timezone Database - Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
+
+### Update your VPN Service Provider details for Gluetun to create VPN tunnel.
+Add your VPN service provider details.
+>If you don't have a VPN service provider configured, Gluetun will not establish a secure VPN tunnel, and will not allow any network traffic out onto the Internet.
+```
+VPN_SERVICE_PROVIDER=VPN provider name
+VPN_USERNAME=
+VPN_PASSWORD=
+SERVER_REGION=
+```
+== **All containers are initally configured to sit behind the VPN connection for security / privacy. If you want the containers to have direct Internet access, follow the steps in each of the YAML files to change the network configuration, and restart the container.** ==
+
+
+## 4 - Install the Docker applications individually as you need them.
+
+**NOTE: Gluetun MUST be installed as the first container**, as it sets up the VPN and the internal Bridge network the other containers will join (**media_network**).
+
+
+### Deploy VPN and Internal Docker Bridge "media_network":
+```
+sudo docker-compose --file docker-compose-gluetun.yaml --env-file docker-compose.env up -d
+```
+**NOTE - Windows users:** Do not use the "**sudo**" at the front of the commands.
+
+==**NOTE:** "WARNING: Found orphan containers (gluetun, qbittorrent, sabnzbd, prowlarr, prowlarr) for this project"==
+
+This ==WARNING== can be safely ignored, as we're loading the project apps one at a time, rather than all in one YAML file.
+
+## Deploy Media Server and Content Request Manager:
+```
+sudo docker-compose --file docker-compose-jellyfin.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-jellyseerr.yaml --env-file docker-compose.env up -d
+```
+
+
+## Deploy Index Manager and Media Library Managers:
+```
+sudo docker-compose --file docker-compose-prowlarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-lidarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-mylar3.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-radarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-readarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-sonarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-whisparr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-bazarr.yaml --env-file docker-compose.env up -d
+```
+
+
+## Deploy Download Clients:
+```
+sudo docker-compose --file docker-compose-qbittorrent.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-sabnzbd.yaml --env-file docker-compose.env up -d
+```
+
+
+## Deploy Archive Unpacker and Automatic Video Re-encoding:
+```
+sudo docker-compose --file docker-compose-unpackerr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-tdarr.yaml --env-file docker-compose.env up -d
+```
+
+
+## Deploy Reverse Proxy (with SSL Certbot) and Cloudflare Proxy
+```
+sudo docker-compose --file docker-compose-swag.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-authelia.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-heimdall.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-ddns-updater.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-flaresolverr.yaml --env-file docker-compose.env up -d
+```
+>The "your-domain-name.com" / IP Address validation is performed when the container is started for the first time. Nginx won't be up and start the web server, until ssl certs are successfully generated and installed.
+
+## Deploy Portainer-CE to View Docker via GUI
+```
+sudo docker-compose --file docker-compose-portainer.yaml --env-file docker-compose.env up -d
+```
+
+
+
+## Application Portals:
+
+ Portal | Application | Function
+-------- | -------- | --------
+[https://localhost:9443](https://localhost:9443)|Portainer|GUI Interface for Docker Management
+[http://localhost:6767](http://localhost:6767)|Bazarr|Subtitle Manager for Radarr / Sonarr
+[http://localhost:8191](http://localhost:8191)|FlareSolverr|Provides status message only
+[http://localhost:8096](http://localhost:8096)|Jellyfin|(Media Player)
+[http://localhost:5055](http://localhost:5055)|Jellyseerr|(Content Request Management)
+[http://localhost:8686](http://localhost:8686)|Lidarr|(Library Manager - Music)
+[http://localhost:8090](http://localhost:8090)|Mylar3|(Library Manager - Comics)
+[http://localhost:9696](http://localhost:9696)|Prowlarr|(Index and Search Management)
+[http://localhost:7878](http://localhost:7878)|Radarr|(Library Manager - Movies)
+[http://localhost:8787](http://localhost:8787)|Readarr|(Library Manager - Books)
+[http://localhost:8100](http://localhost:8100)|SABnzbd|(Library Manager - TV Shows)
+[http://localhost:8989](http://localhost:8989)|Sonarr|(Library Manager - TV Shows)
+[http://localhost:8265](http://localhost:8265)|Tdarr|Automatic Audio/Video Library Transcoding
+[http://localhost:6969](http://localhost:6969)|Whisparr|(Library Manager - XXX)
+[http://localhost:8200](http://localhost:8200)|qBittorrent|(Downloader - Torrents)
+[http://localhost:5080](http://localhost:5080)|SWAG - Nginx|Web Server for Reverse Proxy HTTP
+[http://localhost:5433](http://localhost:5433)|SWAG - Nginx|Web Server for Reverse Proxy HTTPS
+[http://localhost:6500](http://localhost:6500)|DDNS-Updater|Web Portal - DDNS-Updater Status
+
+**Default qBittorrent Portal Access:** Username: **admin** Password: **adminadmin**
+
+**NOTE: If the qBittorrent portal fails to load with an error message**, it may be due to the themepark module, this can be resolved by editing "FOLDER_FOR_CONFIGS/qbittorrent/qBittorrent/qBittorrent.conf" and changing "WebUI\AlternativeUIEnabled=true" to "false" and restarting qBittorrent.
+
+## For Reverse Proxy into your network (from the Internet):
+
+ Portal | Application | Function
+-------- | -------- | --------
+[http://your-domain-name.com](http://your-domain-name.com)|SWAG|Reverse Proxy
+[https://your-domain-name.com](http://your-domain-name.com)|SWAG|Reverse Proxy
+
+The SWAG container provides Nginx Reverse Proxy and MFA running on ports **5080/HTTP** and **5443/HTTPS**, so they don't conflict with other services running on the Docker host computer. To access your Reverse Proxy from the Internet, you need to set up your gateway / router, to allow Internet ports **80** and **443** into your network, but redirect them to the Docker host IP Address on ports **5080** and **5443** respectively.
+
+Port **80** will be accessible on the Internet and redirected to the Reverse Proxy on port **5080**, however it will redirect to HTTPS protocol using port **443** via the Internet, which will also be redirected to the Reverse Proxy on port **5443**. Reverse Proxy port numbers can be changed as required in the ENV file if required.
+
+The SWAG container requires a resolvable domain name, and will automatically install SSL certificates using either Let's Encrypt or Zero SSL providers, and is also able to provide Multi-Factor Authentication (MFA), to provide strong security for your Internet connected applications.
+
+ - [https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia](https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia)
+
+
+
+## Configuring DDNS-Updater for Reverse Proxy
+
+Reference: [https://hub.docker.com/r/qmcgaw/ddns-updater](https://hub.docker.com/r/qmcgaw/ddns-updater)
+
+If you have a Dynamic IP address, you will need a way to keep your Dynamic IP Address insync with your registered domain name. The DNS-Updater container supports MANY DDNS service providers, however we need to use Cloudflare as part of the Authelia zero trust framework for our multifacture authentication, so it makes sense to use Cloudflare to also host your domain and update it with DDNS-Updater. Head over to Cloudflare and register a free account: [https://dash.cloudflare.com/sign-up](https://dash.cloudflare.com/sign-up)
+
+Once you have registered a free account with Cloudflare, you can transfer your existing domain to Cloudflare with "Domain Registration" --> "Transfer Domains", or you can purchase a new domain inside Cloudflare with "Domain Registration" --> "Purchase Domains".
+
+If you don't want to pay for a domain and want to use a free DDNS domain, then check out the DDNS-Updater documenation and follow the DDNS set up for your preferred option.
+
+Configure the DDNS-Updater by editing the "config.json" file with the details and credentials for your DDNS provider.
+
+```
+sudo vi FOLDER_FOR_CONFIGS/ddns-updater/config.json
+
+{
+ "settings": [
+ {
+ "provider": "cloudflare",
+ "zone_identifier": "zone id",
+ "domain": "your-domain-name.com",
+ "host": "@",
+ "ttl": 600,
+ "token": "yourtoken",
+ "ip_version": "ipv4"
+ }
+ ]
+}
+```
+
+Restart the DDNS-Updater container, then check the status at: [http://localhost:6500](http://localhost:6500)
+
+
+## Configuring SWAG HTTP / DNS
+In order for the Certbot tool inside SWAG to be able to request / issue a digital SSL certificate from Let's Encrypt or ZeroSSL, you need to set up the validation type in ENV.
+```
+sudo vi docker-compose.env
+VALIDATION=dns
+DNSPLUGIN=cloudflare
+```
+If you're using "dns" as the validation process, select the DNS plugin that suits your environment, and make appropriate updates.
+
+DNS plugins are located: "**FOLDER_FOR_CONFIGS/swag/dns-conf/**"
+
+>The domain name you used in "**URL**" MUST resolve back to your Internet IP address, and your Internet Router / Firewall be set up to forward the ports **80** and **443** to your Docker host IP address, on ports **5080** and **5443** respectively.
+
+Refer to:
+
+- [https://docs.linuxserver.io/general/swag#cert-provider-lets-encrypt-vs-zerossl](https://docs.linuxserver.io/general/swag#cert-provider-lets-encrypt-vs-zerossl)
+- [https://docs.linuxserver.io/general/swag#web-hosting-examples](https://docs.linuxserver.io/general/swag#web-hosting-examples)
+- [https://docs.linuxserver.io/general/swag#reverse-proxy](https://docs.linuxserver.io/general/swag#reverse-proxy)
+- [https://docs.linuxserver.io/general/swag#authorization-method](https://docs.linuxserver.io/general/swag#authorization-method)
+
+SWAG has many different plugins available to help validate your "your-domain-name.com" / IP address, via DNS, they are located in the $FOLDER_FOR_CONFIGS/swag/dns-conf folder.
+For example, to set up the Cloudflare plugin, edit the following:
+```
+sudo vi $FOLDER_FOR_CONFIGS/swag/dns-conf/cloudflare.ini
+```
+**You can then update the ENV file, delete the SWAG container and re-deploy it, to build a new container with the updated configurations.**
+
+###Once your SWAG Server has validated "your-domain-name.com" / IP address, and installed an SSL certificate, the Nginx web server will start working.
+
+###If you have forwarded ports 80 and 443 to the Docker host on 5080 and 5443, then you should be able to access the Nginx web server welcome page from the Internet.
+
+You can use an online remote web browser to check if your site is accessible from the Internet. Go to [https://www.browserling.com](https://www.browserling.com) and put in your domain name to test.
+
+>NOTE: All HTTP traffic on port 80 is automatically redirected to HTTPS on port 443, so it helps to have both ports open and redirected.
+
+
+
+## Activate Authelia Integration in SWAG Container
+
+How to set up users, passwords and groups in Authelia
+[https://www.authelia.com/reference/guides/passwords/](https://www.authelia.com/reference/guides/passwords/)
+
+
+[https://www.authelia.com/integration/prologue/get-started/](https://www.authelia.com/integration/prologue/get-started/)
+
+
+```
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/authelia-server.conf
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/authelia-location.conf
+
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
+include /config/nginx/authelia-server.conf;
+
+sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-server.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-server.conf
+sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-location.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-location.conf
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## 5 - Configuring the docker applications after they have been deployed
+Refer to:
+
+- [https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/](https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/)
+- [https://www.synoforum.com/resources/ultimate-starter-page-2-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.185/](https://www.synoforum.com/resources/ultimate-starter-page-2-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.185/)
+
+Follow what is in these pages for now, they will be updated further to include these applications / setup.
+
+
+
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
+
+### Document Heimdell integration better
+### Document Authelia so the authentication mechanisms are working....
+One factor / two factor authentication.
+
+
+
+
+## Activate Heimdall Integration in SWAG Container
+```
+sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf
+
+#Enable this line
+include /config/nginx/authelia-location.conf;
+
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
+
+```
+
+
+# THESE ARE ITEMS FOR NOTES ONLY AT THIS POINT
+
+```
+Text Editor - Open:
+
+heimdall.subfolder.conf.sample
+sudo vi $FOLDER_FOR_CONFIGS/swag/www/index.html
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
+sudo -E vi $FOLDER_FOR_CONFIGS/authelia/
+sudo -E vi $FOLDER_FOR_CONFIGS/authelia/
+
+```
+
+
+[https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia](https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia)
+
+Test...
+
+
+
+
+
+
+# THESE ARE ITEMS FOR NOTES ONLY AT THIS POINT
+
+
+
+cat /home/geekau/docker/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
+
+/home/geekau/docker/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
+
+
+
+
+$FOLDER_FOR_CONFIGS/swag/
+$FOLDER_FOR_CONFIGS/swag/dns-conf/
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/
+$FOLDER_FOR_CONFIGS/swag/nginx/
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy.conf
+$FOLDER_FOR_CONFIGS/swag/nginx/nginx.conf
+
+
+
+sudo -E cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf
+sudo -E cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf
+ls -la $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/*.conf
+ls -la $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/
+
+mv /mnt/user/appdata/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample /mnt/user/appdata/swag/nginx/proxy-confs/sonarr.subdomain.conf
+
+
+
+audiobookshelf.subdomain.conf.sample
+audiobookshelf.subfolder.conf.sample
+authelia.subdomain.conf.sample
+bazarr.subdomain.conf.sample
+bazarr.subfolder.conf.sample
+filebot.subdomain.conf.sample
+filebot.subfolder.conf.sample
+jellyfin.subdomain.conf.sample
+jellyfin.subfolder.conf.sample
+jellyseerr.subdomain.conf.sample
+lidarr.subdomain.conf.sample
+lidarr.subfolder.conf.sample
+mylar.subdomain.conf.sample
+mylar.subfolder.conf.sample
+portainer.subdomain.conf.sample
+portainer.subfolder.conf.sample
+prowlarr.subdomain.conf.sample
+prowlarr.subfolder.conf.sample
+qbittorrent.subdomain.conf.sample
+qbittorrent.subfolder.conf.sample
+radarr.subdomain.conf.sample
+radarr.subfolder.conf.sample
+readarr.subdomain.conf.sample
+readarr.subfolder.conf.sample
+sabnzbd.subdomain.conf.sample
+sabnzbd.subfolder.conf.sample
+sonarr.subdomain.conf.sample
+sonarr.subfolder.conf.sample
+tdarr.subdomain.conf.sample
+
+
+
+
+
+
diff --git a/docs/help/3.md b/docs/help/3.md
new file mode 100644
index 0000000..95ae152
--- /dev/null
+++ b/docs/help/3.md
@@ -0,0 +1,1004 @@
+# Individual Installation
+
+
+**NOTE: This is PAGE 2 of** [**Ultimate Starter - Jellyfin, Jellyseerr, NZBGet, Torrents and \*ARR Media Stack**](https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/)
+
+
+
+**PART 8 - Configuring the \*ARR Media Library Managers / Index Manager**
+
+Prowlarr \*ARR Indexer and Search Manager: [http://localhost:9696](http://localhost:9696/)
+
+Now that we have both the Download Clients set up on Page 1, we're going to set up Prowlarr, which is an index and search manager for all the ARR applications; it handles search requests on behalf of Sonarr, Radarr, Lidarr etc.. to all the indexers, and returns the results to each ARR application that initiated the index search.
+
+1\. In "Indexers" -- "Add Indexer", to get started, add about eight indexers which are listed as public - these will mostly be Torrent indexers, as all NZB Indexers are private and you need an account to access the indexer services.
+
+2\. Make sure you select a Base URL and test the connection before saving. Some indexers have multiple URLs to choose from, and you may need to change the Base URL if any on them fail the connection test.
+
+3\. Once you have several indexers, select "Test All Indexers" to test their connectivity / status.
+
+4\. You can also test the "Search" function by typing "Big Buck Bunny" and checking that results are returned - Do not download anything yet, there is much more to set up before importing media.
+
+**NOTE:** If you're using Windows as your Docker host, you may need to open up network ports in the Windows 11 firewall, before you can access the web portals from the local network:
+
+*
+
+
+5\. "Settings" -- "Indexers" menu: Only used if you need index proxies
+
+6\. "Settings" -- "Apps" menu: Go to all the other ARR applications listed below, then navigate to "Settings" -- "General" and copy the API Key from each application. Then back in Prowlarr, click "Add Application", and use the API Key to link the other application to Prowlarr.
+
+**For example: To add Radarr**
+
+* Name: Radarr
+* Sync Level: Full Sync
+* Prowlarr: Add "[http://localhost:9696](http://localhost:9696)" Check the field to see if the text is actually in there.
+* Reader: Add "[http://localhost:7878](http://localhost:7878)" Check the field to see if the text is actually in there.
+* API Key: Copied from Radarr application in "Settings" -- "General"
+* Test and Save
+
+Repeat this step for all \*ARR applications until you have Lidarr, Mylar, Radarr, Readarr, Sonarr and Whisparr listed in the Prowlarr applications - There should be six.
+
+**NOTE For Mylar:** Go to "Settings" -- "Web Interface" -- Tick Enable API -- Generate API Key -- Save Changes -- Restart Mylar -- API Key can now be copied.
+
+
+
+\*ARR Application:
+
+Link to API Key:
+
+Lidarr
+
+[http://localhost:8686/settings/general](http://localhost:8686/settings/general)
+
+Mylar3
+
+[http://localhost:8090/config](http://localhost:8090/config) Then Select "Web Interface" Tab
+
+Radarr
+
+[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
+
+Readarr
+
+[http://localhost:8787/settings/general](http://localhost:8787/settings/general)
+
+Sonarr
+
+[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
+
+Whisparr
+
+[http://localhost:6969/settings/general](http://localhost:6969/settings/general)
+
+Prowlarr
+
+[http://localhost:9696/settings/downloadclients](http://localhost:9696/settings/downloadclients)
+
+
+
+7\. "Settings" -- "Download Clients" menu:
+
+
+* Go to all SEVEN of the ARR applications listed in the table below, then navigate to "Settings" -- "Download Clients" and add the following two download clients to each of the seven applications. Make sure you change the category for each application… the categories MUST be in lowercase.
+
+
+
+ARR Application:
+
+Download Category:
+(must be in lowercase)
+
+Prowlarr
+
+prowlarr
+
+Lidarr
+
+music
+
+Mylar3
+
+comics
+
+Rradarr
+
+movies
+
+Readarr
+
+books
+
+Sonarr
+
+series
+
+Whisparr
+
+adult
+
+
+
+* Add NZBGet
+ * Name: NZBGet
+ * Host: localhost
+ * Port: 6789
+ * Username: nzbget Empty if you removed this earlier
+ * Password: tegbzn6789 Empty if you removed this earlier
+ * Category: < --- In "lowercase" - refer to table above, for each \*ARR application category
+* Add Transmission
+ * Name: Transmission
+ * Enabled: Ticked
+ * Host: localhost
+ * Port: 9091
+ * Username: empty
+ * Password: empty
+ * Category: < --- In "lowercase" - refer to table above, for each \*ARR application category
+
+
+
+8\. Add the "Root Folder" for all of the \*ARR medial managers, so they are able to access / manage the media in each library.
+
+**NOTE: It is recommended you allow all of the Media Library Managers to totally manage your media, including the renaming and sorting of media into its own media folder structure and naming conventions. Select "Show Advanced" and follow the naming conventions in the table below, for the relevant media managers.
+
+NOTE: Do not add your own media into your media folders yet, we will prepare all of your existing media in steps further below, before importing into each of the media libraries, to ensure they're in a format that the \*ARR applications will each read be able to identify and match to Internet media lookup searches.**
+
+
+
+Library Manager:
+
+Media Path:
+
+Media Renaming Conventions:
+
+Lidarr:
+[http://localhost:8686/settings/mediamanagement](http://localhost:8686/settings/mediamanagement)
+
+/data/media/music
+
+[Lidarr Settings](https://wiki.servarr.com/lidarr/settings)
+(No guidance available - refer to other apps in wiki)
+
+Mylar3:
+[http://localhost:8090/config](http://localhost:8090/config)
+
+/data/media/comics
+
+[Folder and File formats · mylar3/mylar3 Wiki](https://github.com/mylar3/mylar3/wiki/Folder-and-File-formats) (minor guidance)
+
+Radarr:
+[http://localhost:7878/settings/mediamanagement](http://localhost:7878/settings/mediamanagement)
+
+/data/media/movies
+
+[Radarr Settings](https://wiki.servarr.com/radarr/settings#community-naming-suggestions)
+
+Readarr:
+[http://localhost:8787/settings/mediamanagement](http://localhost:8787/settings/mediamanagement)
+
+/data/media/books
+
+[Readarr Settings](https://wiki.servarr.com/readarr/settings#book-file-naming)
+
+Sonarr:
+[http://localhost:8989/settings/mediamanagement](http://localhost:8989/settings/mediamanagement)
+
+/data/media/series
+
+[Sonarr Settings](https://wiki.servarr.com/sonarr/settings#community-naming-suggestions)
+
+[Whisparr:
+http://localhost:6969/settings/mediamanagement](http://Whisparr: http://localhost:6969/settings/mediamanagement)
+
+/data/media/adult
+
+[Whisparr Settings](https://wiki.servarr.com/whisparr/settings#community-naming-suggestions)
+
+
+**NOTE:** Prowlarr is an index and search manager, it does not manage media libraries.
+
+
+**Example set up steps for Radarr to manage media renaming**
+
+* [http://localhost:7878/settings/mediamanagement](http://localhost:7878/settings/mediamanagement)
+
+
+* Turn on "Show Advanced" options
+* Rename Movies: Ticked
+* Replace Characters: Ticked
+* Colon Replace: Replace with Space Dash Space
+* Standard Movie Format: {Movie Title} ({Release Year}) - {Quality Title} {MediaInfo Simple}
+* Movie Folder Format: {Movie Title} ({Release Year}) \[imdbid-{ImdbId}\]
+* Create Empty Folders: Not Ticked
+* Delete Empty Folders: Ticked # Depends on your preference
+* Unmonitor Deleted Movies: Ticked
+* Propers and Repacks: Prefer and Upgrade
+* Analyze video files: Ticked
+* Rescan Movie Folder: Always
+* Change File Date: None
+* Recycle Bin: Optional
+* Set Permissions: Ticked # Depends on your preference
+* Chmod Folder: 775 # Depends on your preference
+* Chmod Group: users # Depends on your preference
+
+
+**Example set up steps for Sonarr to manage media renaming**
+
+* [http://localhost:8989/settings/mediamanagement](http://localhost:8989/settings/mediamanagement)
+
+
+* Turn on "Show Advanced" options
+* Rename Episodes: Ticked
+* Replace Illegal Characters: Ticked
+*
+
+* Standard Episode Format:
+ * {Series Title} S{season:00}E{episode:00} - {Episode Title} {Quality Title} {MediaInfo Simple}
+* Daily Episode Format:
+ * {Series Title} {Air-Date} - {Episode Title} {Quality Title} {MediaInfo Simple}
+* Anime Episode Format:
+ * {Series Title} S{season:00}E{episode:00} - {Episode Title} {Quality Title} {MediaInfo Simple}
+* Series Folder Format:
+ * {Series Title} ({Series Year}) \[imdbid-{ImdbId}\]
+* Multi-Episode Style: Extend
+* Create Empty Folders: Not Ticked
+* Delete Empty Folders: Ticked # Depends on your preference
+* Unmonitor Deleted Episodes: Ticked
+* Propers and Repacks: Prefer and Upgrade
+* Analyze video files: Ticked
+* Rescan Episode Folder: Always
+* Change File Date: None
+* Recycle Bin: Optional
+* Set Permissions: Ticked # Depends on your preference
+* Chmod Folder: 775 # Depends on your preference
+* Chmod Group: users # Depends on your preference
+
+
+Complete remaining Media Library Managers as per step 8 guidance and table.
+
+
+
+**Mylar3 needs extra steps to get set up properly and integrated into Prowlarr**
+
+9\. Complete these additional steps to configure Mylar3, which are slightly different to the rest of the \*ARR family
+
+
+* Go to Mylar3 "Settings" -- "Web Interface":
+* ComicVine API Key:
+ * Go over to ComicVine at Gamespot, and register for a user account: [Comic Vine](https://comicvine.gamespot.com) When you're logged in to ComicVine, head to this page for your personal API Key: [Comic Reviews, News, and Forums - Comic Vine](https://comicvine.gamespot.com/api/)
+ * Copy your Comic Vine API Key, then goto Mylar3 "Settings" -- "Web Interface" and copy the key into the field on the top right
+* Basic HTTP Host: 0.0.0.0
+* HTTP Port: 8090
+* Authentication: None
+* HTTP Usernam: Empty
+* HTTP Password: Empty
+* Comic Path Location: /data/media/comics
+* Enforce Permissions: ticked
+* Directory CHMOD: 0777
+* File CHMOD: 0660
+* Owner: 1000 --- Change this to the numeric PUID value of the Docker user account you created earlier
+* Group: 1000 --- Change this to the numeric PGID value of the Docker user account you created earlier
+
+
+* Mylar3 "Settings" -- "Download Settings"
+
+
+* NZBget: Ticked
+* NZBGet Host: [http://localhost](http://localhost)
+* NZBGet Port: 6789
+* NZBGet Username: Empty the field
+* NZBGet Password: Empty the field
+* NZBGet Download Directory: /data/usenet
+* NZBGet Category: comics
+* Enable Completed Download Handling: Ticked
+* Usenet Retention (in days) - This depends on your Usenet service provider
+
+
+
+* Use Torrents: Tickered
+* Minimum # of seeders: 3
+* NOTE: Seed numbers is a personnal choice, the lower the number could result in stalled downloads
+* Transmission: Ticked
+* Transmission Host: [http://localhost](http://localhost)
+* Transmission Username: Empty the field
+* Transmission Password: Empty the field
+* Transmission Directory: /data/torrents
+
+
+
+* Mylar3 "Settings" -- "Search Providers"
+* Torrents: Ticked
+* Enabled Torznab: Ticked
+* Use Newznab: Ticked
+
+
+**NOTE:** There is no need to manually update the Torrent / Usenet settings listed on this page, Prowlarr will
+automatically make the relevant changes to search providers as they're added to the \*ARR Index Manager.
+
+
+10\. Finish the basic customisation below for all of the \*ARR settings:
+
+
+\*ARR Application:
+
+Link to Settings Page
+
+Prowlarr
+
+[http://localhost:9696/settings](http://localhost:9696/settings)
+
+Lidarr
+
+[http://localhost:8686/settings](http://localhost:8686/settings)
+
+Mylar3
+
+[http://localhost:8090/config](http://localhost:8090/config) Then Select "Web Interface" Tab
+
+Radarr
+
+[http://localhost:7878/settings](http://localhost:7878/settings)
+
+Readarr
+
+[http://localhost:8787/settings](http://localhost:8787/settings)
+
+Sonarr
+
+[http://localhost:8989/settings](http://localhost:8989/settings)
+
+Whisparr
+
+[http://localhost:6969/settings](http://localhost:6969/settings)
+
+
+"Settings" -- "UI" menu:
+
+* Set up all the system locale / date and time formats for your region / liking
+
+
+"Settings" -- "Indexers" menu:
+
+* These are a list of indexers, which are configured using Prowlarr, and replicated to each of the ARR applications. If you need to update your indexers, do this in Prowlarr.
+
+
+"Settings" -- "Quality" menu:
+
+* This page allows you to configure all the general quality, size limits, for all the different download options.
+
+
+Home Page For Each \*APP Application:
+
+* Click "Options" icon on right hand side and select the viewable options to suit your needs.
+
+
+Test Each of Your \*APP Application:
+
+* From the application home page, select "Add New", and search title for each application's media category.
+* You should get search results for each of the media types that each application is responsible for managing.
+
+
+
+**NOTE: Whisparr - Adult Movie Industry Metadata**
+
+Whisparr will correctly locate metadata for adult movie industry content, however Jellyfin does not, for reasons we won't go into here. However, you can save the metadata for adult content from Whisparr into the movie folder on the hard drive, then Jellyfin can be set up to read and import the metadata correctly.
+
+Go to "Whisparr" -- "Settings" -- "Metadata" -- "Edit Kodi (XBMC) / Emby Metadata" and select all options, except for "Use Movie.nfo", and save. This will create .nfo and cover art files inside the movie folder, which Jellyfin will scrape during import of the adult library.
+
+**NOTE:** This technique can be used for other media types which do not work well in Jellyfin metadata look ups.
+
+
+NOTE: If you have following this guide step by step, you'll probably notice the theme used across most of the applications is, or is not to your likely, you can change the theme to something that suites you suit by editing the following variable in the .ENV file, and redeploying your media stack configuration discussed on Page 1.
+
+
+Code:
+
+ TP_THEME=nord
+
+
+Refer to colour these codes at: [Aquamarine - theme.park Docs](https://docs.theme-park.dev/theme-options/aquamarine/)
+
+
+
+
+**PART 9 - Organising Your Media Library And Importing Into \*ARR Apps**
+
+Now that we've set up the Media Library Managers and Index Manager with the correct settings, including filenames for all media content, we can commence importing any of your current media repositories into the respective Media Library Managers for each media format type.
+
+**NOTE: The success of importing media files into the media libraries and having them identified correctly by the library managers, depends heavily on the how well they are organised and named in the first place. Don't expect to load random files which have no naming conventions, or cannot identify what the content is, to be picked up and imported correctly. Do some effort first to save you importing time - otherwise: the old adage is… shit in, shit out.**
+
+My personal preference is to use Filebot with the following renaming conventions to get things organised, before I manually add anything into the \*ARR media folders.
+
+
+**Filebot Renaming Preset String for Series / TV Shows:**
+
+D:/Storage/renaming/series/{ny.colon(' - ').ascii()} \[tmdbid-{id}\]/Season {s00}/{ny.colon(' - ').ascii()} {s00e00} - {t.ascii()} {" - $hd $vf $vc $ac"}
+
+
+**Filebot Renaming Preset String for Movies / Adult:**
+
+D:/Storage/renaming/movies/{ny.colon(' - ').ascii()} \[imdbid-{imdbid}\]/{ny.colon(' - ').ascii()} {" - $hd $vf $vc $ac"}
+
+
+**Filebot Renaming Preset String for Music / Audio:**
+
+D:/Storage/renaming/music/{artist.upperInitial().ascii()}/{album.upperInitial().ascii()} ({y})/{albumArtist.upperInitial().ascii()} - {album.upperInitial().ascii()} - {pi.pad(3)+' - '} {t.ascii()}
+
+
+Change "D:/Storage" to suit your requirements. Being on the same drive / partition as the original media which is being renamed, will save considerable time moving files between partitions or across network shares. i.e. Don't use a different partition / HDD as the destination, it will take forever.
+
+**NOTE:** Do all media renaming outside of \*ARR folders, then slowly control the import of the renamed media into each of the Library Managers.
+
+Once you have prepared all of your current media folders, start importing a few series / movies at a time, to ensure the \*ARR Library Manager is detecting the new media, and that you're comfortable with the process.
+
+As you start adding files in the following folders, the files will be immediately accessible in each of the \*ARR apps
+
+
+
+Host Computer Folder Location:
+
+\*ARR Library Manager
+
+FOLDER\_FOR\_MEDIA/adult
+
+Whisparr
+
+FOLDER\_FOR\_MEDIA/books
+
+Readarr
+
+FOLDER\_FOR\_MEDIA/comics
+
+Mylar3
+
+FOLDER\_FOR\_MEDIA/movies
+
+Radarr
+
+FOLDER\_FOR\_MEDIA/music
+
+Lidarr
+
+FOLDER\_FOR\_MEDIA/series
+
+Sonarr
+
+
+
+Head over the your \*ARR application to "Settings" -- "Media Management"… you'll note that the root folder "/data/media/series" etc... inside each Docker container now says there are a number of "Unmapped Folders".
+
+To import the new media you copied into your FOLDER\_FOR\_MEDIA folders, open the link that says "Path: /data/media/series", it will now show the series / movies which you added, and will attempt to identify these new series / movies by looking them up via the Internet databases.
+
+NOTE: This could take some time depending on how large the media library is.
+
+NOTE: DO NOT IMPORT ANY MOVIE / SERIES WHICH ARE INCORRENTLY IDENTIFIED, RENAME THEM AND TRY TO IMPORT THEM AGAIN LATER
+
+Select all of the folders / media which has been correctly identified by using the checkboxes on the left hand side, then down the bottom select whether to monitor the first season, or the entire season (this is your personal choice), then select the option "Import \* Series" - This will commence the import and renaming if you opted to rename.
+
+For any movie / series which was incorrectly identified, go to your local media directory and rename the folder, and then import the new folder after the \*ARR manager correctly identifies the folder content.
+
+Once identified, select "Import \* Series". If successful, you will receive a message that says: All series in /data/media/imports have been imported.
+
+Use the same process in all of the other \*ARR applications to import your existing media library into the corresponding \*ARR Media Library Manager.
+
+NOTE:: If you do a lot of transcoding and changing the encoding types / bitrates across your library, the Filebot renaming strings can be used to update your media library as needed, however you'll need to refresh your \*ARR Media Library Managers / Jellyfin to make sure they pick up the new names.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+**WARNING - THE BELOW INFORMATION IS STILL BEING FORMATTED FOR PRESENTATION - IT SHOULD BE ACCURATE, BUT DIFFICULT TO READ. AM CURRENTLY FORMATTING NOW.**
+
+
+
+
+
+
+
+
+
+**PART 10 - Configuring Jellyfin Media Server**
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\#### Configuring Jellyfin to access all Media Libraries
+
+Firstly, head over and set up accounts at Fanart and Opensubtitles, so you can enrich your Jellyfin media content. Once you have accounts, you'll need to copy the API Key from each of your account profiles
+[https://fanart.tv](https://fanart.tv/)
+[https://opensubtitles.com](https://opensubtitles.com/) (opensubtitles.org and opensubtitles.com are the same, but .com is the newer site for accounts)
+
+
+
+* Head over to Jellyfin at [http://localhost:8096](http://localhost:8096/) where you will be welcomed to Jellyfin, choose your desired language and select "Next".
+* Create a username / password for the first user account (it will become the admin account) - you can have a blank password if you desire - Select "Next".
+* DO NOT ADD MEDIA at this time, select "Next", as we want to set up Fanart and other plugins first.
+* Select your Metadata Language and Country and select "Next".
+* Set up remote access: Remote connections (Ticked), Enable port mapping (No / Unticked) - Select "Next", the "Finsh".
+* You'll be presented with a signin page, use the username / password entered previously.
+
+
+Press the hamburger icon (3 lines) in top left corner to open the menu, then select "Dashboard", go down the bottom of the menu and open "Plugins", the select "Repositories" up the top, and add the following:
+
+Repository Name: Daniel Adov
+Repository URL: [https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json](https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json)
+
+Using the "Plugins" -- "Catalogue" menu, add the following plugins to your Jellyfin instance:
+
+
+* AniDB
+* AniList
+* Fanart
+* Merge Versions
+* Open Subtitles
+* Playback Reporting
+* Reports
+* Skin Manager
+* TMDb Box Sets
+* Tvmaze
+* TheTVDB
+
+
+These plugins should already be installed by default:
+
+
+* AudioDB
+* MusicBrainz - Installed by default
+* OMDb - Installed by default
+* Studio Images
+* TMDb
+
+
+Now that all of the plugins have been installed, go to Docker / Portainer, select the Jellyfin container and restart it. Then come back to Jellyfin config.
+
+Open the hamburger menu in top left corner again and then select "Dashboard", go down the bottom of the menu and open "Plugins", and configure the following plugins:
+
+
+* AniDB - Defaults
+* AniList - Defaults
+* Fanart - Add "Personal API Key" from your Fanart.tv account, and save.
+* Merge Versions - Defaults
+* Open Subtitles - Add Username / Password / API Key from your OpenSubtitles.com account, and save.
+* Playback Reporting - Defaults
+* Reports - Defaults
+* Skin Manager - Select a skin of your choosing, however further customisation is outside the scope of this guide.
+* TMDb - Include adult content (Optional), Import season name (Ticked), Max Cast Members (25), Image Scaling (Optional), and save.
+* TMDb Box Sets - Defaults
+* Tvmaze - Nil
+* TheTVDB - If there is no API Key pre-installed, you will need to register at [https://TheTVDB.com](https://thetvdb.com/) to obtain one.
+
+
+"Playback" -- "Transcoding"
+Depending on the computer / NAS you are running Docker / Jellyfin, its possible to use hardware acceleration for transcoding - this configuration has been set up to map /dev/dri from the docker container to the host, so it will work, but will be dependent upon your personal hardware configuration. You will need to seek further advise from the Jellyfin community at Reddit / Discord / Youtube on settings for your hardware.
+
+Refer: [Hardware Acceleration | Jellyfin](https://jellyfin.org/docs/general/administration/hardware-acceleration/)
+DLNA (Digital Living Network Alliance): As this guide and configuration is built around a secure contained network for the entire media docker stack, the ports and services needed to support DLNA have not been mapped and exposed to the host network. The docker configuration can be customised to allow for DLNA, however it is outside the scope of this starter guide. So these settings won't work unless the docker-compose is reconfigured by yourself.
+
+"Libraries" -- "Display"
+Date added behavior for new content: change to "Use date scanned into library".
+
+"Libraries" -- "Metadata"
+Select your language and country prior to setting up libraries and importing metadata.
+
+
+\## Adding Movie Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Movies
+Display Name: Movies
+Folders: Add - /data/media/movies
+Preferred Language: Personal Choice
+Country: Personal Choice, however it is linked to media ratings on IMDB, and will allow restrictions to children and other users depending on the content you have in the library.
+
+Enable real time monitoring: Ticked
+
+Order for Metadata Downloaders:
+
+* TheMovieDB
+* The Open Movie Database
+* AniList
+* AniDB
+
+Automatically refresh metadata from the internet: Never
+
+Order for Image Fetchers:
+
+* Fanart
+* TheMovieDB
+* The Open Movie Database
+* AniList
+* AniDB
+* Embedded Image Extractor (should be first for dedicated libraries with home video recordings / personal media)
+* Screen Grabber (should be second for dedicated libraries with home video recordings / personal media)
+
+Subtitle Downloads
+
+* Language: Personal Choice
+* Subtitle Downloaders - Open Subtitles: Ticked (Disable for libraries with dedicated home video recordings / personal media)
+
+
+NOTE: If you choose to use an adult movie library, use the same process as above to set up a new / separate adult library, so access to be restricted to certain user accounts.
+
+\## Adding Music Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Music
+Display Name: Music
+Folders: Add - /data/media/music
+Preferred Language: Personal Choice
+Country: Personal Choice, however it is linked to media ratings on OMDB, and will allow restricting content to other users.
+
+Enable real time monitoring: Ticked
+
+Order for Metadata Downloaders (Artists):
+
+*
+
+* MusicBrainz
+*
+
+* TheAudioDB
+
+
+Order for Metadata Downloaders (Albums):
+
+*
+
+* MusicBrainz
+*
+
+* TheAudioDB
+
+
+Order for Image Fetchers (Artists):
+
+*
+
+* Fanart
+*
+
+* TheAudioDB
+
+
+Order for Image Fetchers (Albums):
+
+*
+
+* Fanart
+*
+
+* TheAudioDB
+
+
+Automatically refresh metadata from the internet: Never
+
+Order for Image Fetchers (Music Videos):
+
+*
+
+* Fanart
+*
+
+* Embedded Image Extractor
+*
+
+* Screen Grabber
+
+
+Save artwork into media folders: Ticked
+
+
+\## Adding TV Shows / Series Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Shows
+Display Name: Series
+Folders: Add - /data/media/series
+Preferred Language: Personal Choice
+Country: Personal Choice, however it is linked to the media rating on IMDB,
+and will allow restrictions to children and other users depending on the categorisation you allow other users to access.
+
+Enable real time monitoring: Ticked
+
+Order for Metadata Downloaders (TV Shows):
+
+*
+
+* TheTVDB
+*
+
+* Tvmaze
+*
+
+* AniList
+*
+
+* AniDB
+*
+
+* TheMovieDB
+*
+
+* The Open Movie Database
+*
+
+* Missing Episode Fetcher
+
+
+Order for Metadata Downloaders (Seasons):
+
+*
+
+* TheTVDB
+*
+
+* AniDB
+*
+
+* TheMovieDB
+
+
+
+Order for Metadata Downloaders (Episodes):
+
+*
+
+* TheTVDB
+*
+
+* Tvmaze
+*
+
+* AniDB
+*
+
+* TheMovieDB
+*
+
+* The Open Movie Database
+
+
+Automatically refresh metadata from the internet: Never
+
+Order for Image Fetchers (TV Shows):
+
+* Fanart
+* TVmaze
+* TheTVDB
+* AniDB
+* AniList
+* TheMovieDB
+
+Order for Image Fetchers (Seasons):
+
+* Fanart
+* TVmaze
+* TheTVDB
+* AniDB
+* AniList
+* TheMovieDB
+
+
+Order for Image Fetchers (Episodes):
+
+* TVmaze
+* TheTVDB
+* TheMovieDB
+* The Open Movie Database
+* Embedded Image Extractor
+* Screen Grabber
+
+Subtitle Downloads
+
+* Language: Personal Choice
+* Subtitle Downloaders - Open Subtitles: Ticked (Disable for libraries with dedicated home video recordings / personal media)
+
+
+\## Adding Books Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Books
+Display Name: Books
+Folders: Add - /data/media/books
+
+Enable real time monitoring: Ticked
+
+
+\## Adding Comic / Manga Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Books
+Display Name: Comics
+Folders: Add - /data/media/comics
+
+Enable real time monitoring: Ticked
+
+
+\## Adding Photo Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Photos
+Display Name: Photos
+Folders: Add - /data/media/photos
+
+Enable real time monitoring: Ticked
+
+Order for Image Fetchers (Videos):
+
+* Embedded Image Extractor
+* Screen Grabber
+
+
+
+
+
+
+
+
+
+
+PART 11 - Configuring Jellyseerr
+
+
+[http://localhost:5055](http://localhost:5055) jellyseerr
+
+
+
+When you open Jellyseer for the first time, you'll be asked to sign in… select "Use your Jellyfin Account", and enter the details from your Jellyfin server in order to link it to Jellyseerr.
+
+Jellyfin URL: [http://localhost:8096](http://localhost:8096)
+Email Address: The email address is only used if you want to set up notifications when media has been downloaded, however it is a mandatory field.
+Username: Same username as Jellyfin
+Password: Same password as Jellyfin
+
+After connecting Jellyseerr to Jellyfin, you will need to synchronise the libraries between the two applications.
+
+Select "Sync Libraries", then use the slide toggle to select "Movies" and "Series", However…. DO NOT PRESS "START SCAN", skip the library scan and go straight to "Continue".
+
+**NOTE**: We skip the library scan on initial setup as it can take quite a while to scan the libraries, it is also dependant on Jellyfin having its libraries fully scanned and up to date, so it will be better to scan the libraries after all the configurations are completed.
+
+NOTE: Adult Content - Jellyseerr does not manage Adult content requests, so if you are using Whisparr, the library will appear in "Jellyfin Libraries", however there is no need to activate it for syncing. If the library exists in Jellyfin, it will be seen in Jellyseerr, you just don't need to enable it.
+
+
+Radarr Settings:
+
+Setting up non-4K defaults
+
+Select "Add Radarr Server"
+Default Server: Yes
+4K Server: No
+Server Name: Radarr - FHD 1080P
+Hostname of IP Address: localhost
+Port: 7878
+Use SSL: No
+API Key: Can be found in Radarr application on "Settings" -- "General" page.
+[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
+URL Base: Empty
+Quality Profile: HD-1080p
+Root Folder: /data/media/movies
+Minimum Availability: Released
+Tags: Empty
+External URL: [http://media-server:7878](http://media-server:7878) (Radarr's network address, used in links when sending email notifications)
+Enable Scan: Yes
+Enable Automatic Search: Yes
+
+Test and Save.
+
+Setting up 4K defaults
+Default Server: Yes
+4K Server: Yes
+Server Name: Radarr - UHD 4K
+Hostname of IP Address: localhost
+Port: 7878
+Use SSL: No
+API Key: Can be found in Radarr application on "Settings" -- "General" page.
+[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
+URL Base: Empty
+Quality Profile: Ultra-HD
+Root Folder: /data/media/movies
+Minimum Availability: Released
+Tags: Empty
+External URL: [http://media-server:7878](http://media-server:7878) (Radarr's network address, used in links when sending email notifications)
+Enable Scan: Yes
+Enable Automatic Search: Yes
+
+Test and Save.
+
+
+Sonarr Settings:
+
+Setting up non-4K defaults
+
+Select "Add Sonarr Server"
+Default Server: Yes
+4K Server: No
+Server Name: Sonarr - FHD 1080P
+Hostname of IP Address: localhost
+Port: 8989
+Use SSL: No
+API Key: Can be found in Radarr application on "Settings" -- "General" page.
+[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
+URL Base: Empty
+Quality Profile: HD-1080p
+Root Folder: /data/media/series
+Language Profile: **\* Personal Choice \***
+Tags: Empty
+URL Base: Empty
+Anime Quality Profile: HD-1080p
+Anime Root Folder: /data/media/anime
+Anime Language Profile: **\* Personal Choice \***
+Anime Tags: Empty
+Season Folders: Yes
+External URL: [http://media-server:8989](http://media-server:8989) (Sonarr's network address, used in links when sending email notifications)
+Enable Scan: Yes
+Enable Automatic Search: Yes
+
+Test and Save.
+
+
+
+
+Setting up 4K defaults
+
+Select "Add Sonarr Server"
+Default Server: Yes
+4K Server: No
+Server Name: Sonarr - UHD 4K
+Hostname of IP Address: localhost
+Port: 8989
+Use SSL: No
+API Key: Can be found in Radarr application on "Settings" -- "General" page.
+[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
+URL Base: Empty
+Quality Profile: Ultra-HD
+Root Folder: /data/media/series
+Language Profile: **\* Personal Choice \***
+Tags: Empty
+URL Base: Empty
+Anime Quality Profile: Ultra-4K
+Anime Root Folder: /data/media/anime
+Anime Language Profile: **\* Personal Choice \***
+Anime Tags: Empty
+Season Folders: Yes
+External URL: [http://media-server:8989](http://media-server:8989) (Sonarr's network address, used in links when sending email notifications)
+Enable Scan: Yes
+Enable Automatic Search: Yes
+
+Test and Save.
+
+
+After adding the connectors to Radarr and Sonarr, Jellyseerr will be fully functional, however we want to do some additional configurations before importing users and media information from Jellyfin.
+
+Go to "Settings" -- "General" and make any changes to region and language as needed.
+
+
+Go to "Settings" -- "Users" and make any changes for users, you may want to change the default permissions assigned to new users.
+
+If you want to allow all users to automatically request, approve and download any media type and quality up to 1080P, then you would select "Request", "Auto-Approved", and "Auto-Request". You can select additional permissions and allow automated 4K requests, however the data will quickly add up on the server if is it not controlled, so grant this privilege with due care.
+
+NOTE: These privileges / permissions are applied when new accounts are created or imported from Jellyfin, they do not effect existing user accounts.
+
+
+Go to "Settings" -- "Jellyfin" and select "Start Scan" to commence scanning the Jellyfin libraries for all media.
+
+Go to "Settings" -- "Notifications", you can add any email server settings or integrations if you want to get notifications on the status of your media requests.
+
+Go to the "Users" menu, and you can now create local users, or "Import Jellyfin Users" (preferred). The new users will be granted the privileges / permissions which we set up earlier.
\ No newline at end of file
diff --git a/docs/help/application-websites.md b/docs/help/application-websites.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/contributing/contributing.md b/docs/help/contributing.md
similarity index 100%
rename from docs/contributing/contributing.md
rename to docs/help/contributing.md
diff --git a/docs/contributing/doc-template.md b/docs/help/template.md
similarity index 50%
rename from docs/contributing/doc-template.md
rename to docs/help/template.md
index d15b3c2..60a72dc 100644
--- a/docs/contributing/doc-template.md
+++ b/docs/help/template.md
@@ -1,4 +1,6 @@
-# Welcome to MediaStack.Guide
+# Markdown Examples Used Throughout Site
+
+## Copy and Paste These As Needed
For full documentation visit [mkdocs.org](https://www.mkdocs.org).
@@ -54,6 +56,66 @@ flowchart LR
```
+
+
+
+
+
+
+!!! note "This is a note code fence"
+
+ Select something below:
+
+ FOLDER_FOR_CONFIGS
+ FOLDER_FOR_MEDIA
+
+
+ === "Linux Shell"
+
+ ``` bash
+ export FOLDER_FOR_CONFIGS=/home/geekau/docker
+ export FOLDER_FOR_MEDIA=/home/geekau/media-stack
+
+ sudo -E mkdir -p $FOLDER_FOR_CONFIGS/{authelia,bazarr,ddns-updater,gluetun,heimdall,jellyfin,jellyseerr,lidarr,mylar3,portainer,prowlarr,qbittorrent,radarr,readarr,sabnzbd,sonarr,swag,tdarr,tdarr_transcode_cache,unpackerr,whisparr}
+ sudo -E mkdir -p $FOLDER_FOR_MEDIA/media/{adult,anime,audio,books,comics,movies,music,photos,podcasts,series,software}
+ sudo -E mkdir -p $FOLDER_FOR_MEDIA/usenet/{adult,anime,audio,books,comics,movies,music,prowlarr,podcasts,series,software}
+ sudo -E mkdir -p $FOLDER_FOR_MEDIA/torrents/{adult,anime,audio,books,comics,movies,music,prowlarr,podcasts,series,software}
+ sudo -E mkdir -p $FOLDER_FOR_MEDIA/watch
+ sudo -E chmod -R 775 $FOLDER_FOR_CONFIGS $FOLDER_FOR_MEDIA
+ sudo -E chown -R geekau:geekau $FOLDER_FOR_CONFIGS $FOLDER_FOR_MEDIA
+ ```
+
+ === "Windows PowerShell"
+
+ ``` powershell
+ set FOLDER_FOR_CONFIGS=D:\Storage\Docker
+ set FOLDER_FOR_MEDIA=D:\Storage\Media-Stack
+
+ FOR /D %I IN (authelia bazarr ddns-updater gluetun heimdall jellyfin jellyseerr lidarr mylar3 portainer prowlarr qbittorrent radarr readarr sabnzbd sonarr swag tdarr tdarr_transcode_cache unpackerr whisparr) DO mkdir %FOLDER_FOR_CONFIGS%\%I
+ FOR /D %I IN (adult anime audio books comics movies music photos podcasts series software) DO mkdir %FOLDER_FOR_MEDIA%\media\%I
+ FOR /D %I IN (adult anime audio books comics movies music podcasts prowlarr series software) DO mkdir %FOLDER_FOR_MEDIA%\usenet\%I
+ FOR /D %I IN (adult anime audio books comics movies music podcasts prowlarr series software) DO mkdir %FOLDER_FOR_MEDIA%\torrents\%I
+ mkdir %FOLDER_FOR_MEDIA%\watch
+ ```
+
+ === "MacOS Shell"
+
+ ``` bash
+ Waiting Testing
+ ```
+
+ === "Synology NAS (SSH)"
+
+ ``` bash
+ Synology - ADD HERE
+ ```
+
+
!!! danger
diff --git a/docs/installation/collective-install.md b/docs/installation/collective-install.md
index d102c36..e69de29 100644
--- a/docs/installation/collective-install.md
+++ b/docs/installation/collective-install.md
@@ -1,407 +0,0 @@
-# Collective Installation
-
-
-
-
-# Docker Media Stack
->You can download these files easily, by going to [https://github.com/geekau/media-stack](https://github.com/geekau/media-stack) then selecting "**Code**" --> "**Download Zip**".
-
-These Docker Compose configurations will help you rapidly deploy all the applications you need in a Docker stack, to operate a Jellyfin, Jellyseerr, Torrent, Usenet, \*ARR Media Library Managers, Reverse Proxy, MFA Authenticated Access, and Tdarr Automated Media Transcoding enabled media stack, and has been thoroughly testing on Linux, Windows and Synology NAS servers.
-
-
-## 2 - Edit the "docker-compose.env" file, and update variables to suit your environment.
-
-
-```
-DOCKER_SUBNET=172.28.10.0/24
-DOCKER_GATEWAY=172.28.10.1
-LOCAL_SUBNET=10.168.1.0/24
-LOCAL_DOCKER_IP=10.168.1.111
-```
-
-
-### Docker Host Folders Locations:
-Add the folder locations to the ENV file, where your docker configurations and media / downloads will be stored:
->Folders need to exist before running "docker-compose" commands. Valid choices are Linux, Windows or NAS folder naming conventions.
-```
-FOLDER_FOR_CONFIGS=/home/geekau/docker
-FOLDER_FOR_MEDIA=/home/geekau/media-stack
-```
-
-### At Linux / Synology terminal, use the "id" command to identify user ID and group ID.
-```
-sudo id geekau
-uid=1000(geekau) gid=1000(geekau) groups=1000(geekau)
-```
-Update the ENV file with these details:
-```
-PUID=1000 <-- Update this value from "id" command
-PGID=1000 <-- Update this value from "id" command
-TIMEZONE=Australia/Brisbane
-```
-Update your local Timezone using this list: [List of Timezone Database - Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
-
-### Update your VPN Service Provider details for Gluetun to create VPN tunnel.
-Add your VPN service provider details.
->If you don't have a VPN service provider configured, Gluetun will not establish a secure VPN tunnel, and will not allow any network traffic out onto the Internet.
-```
-VPN_SERVICE_PROVIDER=VPN provider name
-VPN_USERNAME=
-VPN_PASSWORD=
-SERVER_REGION=
-```
-== **All containers are initally configured to sit behind the VPN connection for security / privacy. If you want the containers to have direct Internet access, follow the steps in each of the YAML files to change the network configuration, and restart the container.** ==
-
-
-## 4 - Install the Docker applications individually as you need them.
-
-**NOTE: Gluetun MUST be installed as the first container**, as it sets up the VPN and the internal Bridge network the other containers will join (**media_network**).
-
-
-### Deploy VPN and Internal Docker Bridge "media_network":
-```
-sudo docker-compose --file docker-compose-gluetun.yaml --env-file docker-compose.env up -d
-```
-**NOTE - Windows users:** Do not use the "**sudo**" at the front of the commands.
-
-==**NOTE:** "WARNING: Found orphan containers (gluetun, qbittorrent, sabnzbd, prowlarr, prowlarr) for this project"==
-
-This ==WARNING== can be safely ignored, as we're loading the project apps one at a time, rather than all in one YAML file.
-
-## Deploy Media Server and Content Request Manager:
-```
-sudo docker-compose --file docker-compose-jellyfin.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-jellyseerr.yaml --env-file docker-compose.env up -d
-```
-
-
-## Deploy Index Manager and Media Library Managers:
-```
-sudo docker-compose --file docker-compose-prowlarr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-lidarr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-mylar3.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-radarr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-readarr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-sonarr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-whisparr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-bazarr.yaml --env-file docker-compose.env up -d
-```
-
-
-## Deploy Download Clients:
-```
-sudo docker-compose --file docker-compose-qbittorrent.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-sabnzbd.yaml --env-file docker-compose.env up -d
-```
-
-
-## Deploy Archive Unpacker and Automatic Video Re-encoding:
-```
-sudo docker-compose --file docker-compose-unpackerr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-tdarr.yaml --env-file docker-compose.env up -d
-```
-
-
-## Deploy Reverse Proxy (with SSL Certbot) and Cloudflare Proxy
-```
-sudo docker-compose --file docker-compose-swag.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-authelia.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-heimdall.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-ddns-updater.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-flaresolverr.yaml --env-file docker-compose.env up -d
-```
->The "your-domain-name.com" / IP Address validation is performed when the container is started for the first time. Nginx won't be up and start the web server, until ssl certs are successfully generated and installed.
-
-## Deploy Portainer-CE to View Docker via GUI
-```
-sudo docker-compose --file docker-compose-portainer.yaml --env-file docker-compose.env up -d
-```
-
-
-
-## Application Portals:
-
- Portal | Application | Function
--------- | -------- | --------
-[https://localhost:9443](https://localhost:9443)|Portainer|GUI Interface for Docker Management
-[http://localhost:6767](http://localhost:6767)|Bazarr|Subtitle Manager for Radarr / Sonarr
-[http://localhost:8191](http://localhost:8191)|FlareSolverr|Provides status message only
-[http://localhost:8096](http://localhost:8096)|Jellyfin|(Media Player)
-[http://localhost:5055](http://localhost:5055)|Jellyseerr|(Content Request Management)
-[http://localhost:8686](http://localhost:8686)|Lidarr|(Library Manager - Music)
-[http://localhost:8090](http://localhost:8090)|Mylar3|(Library Manager - Comics)
-[http://localhost:9696](http://localhost:9696)|Prowlarr|(Index and Search Management)
-[http://localhost:7878](http://localhost:7878)|Radarr|(Library Manager - Movies)
-[http://localhost:8787](http://localhost:8787)|Readarr|(Library Manager - Books)
-[http://localhost:8100](http://localhost:8100)|SABnzbd|(Library Manager - TV Shows)
-[http://localhost:8989](http://localhost:8989)|Sonarr|(Library Manager - TV Shows)
-[http://localhost:8265](http://localhost:8265)|Tdarr|Automatic Audio/Video Library Transcoding
-[http://localhost:6969](http://localhost:6969)|Whisparr|(Library Manager - XXX)
-[http://localhost:8200](http://localhost:8200)|qBittorrent|(Downloader - Torrents)
-[http://localhost:5080](http://localhost:5080)|SWAG - Nginx|Web Server for Reverse Proxy HTTP
-[http://localhost:5433](http://localhost:5433)|SWAG - Nginx|Web Server for Reverse Proxy HTTPS
-[http://localhost:6500](http://localhost:6500)|DDNS-Updater|Web Portal - DDNS-Updater Status
-
-**Default qBittorrent Portal Access:** Username: **admin** Password: **adminadmin**
-
-**NOTE: If the qBittorrent portal fails to load with an error message**, it may be due to the themepark module, this can be resolved by editing "FOLDER_FOR_CONFIGS/qbittorrent/qBittorrent/qBittorrent.conf" and changing "WebUI\AlternativeUIEnabled=true" to "false" and restarting qBittorrent.
-
-## For Reverse Proxy into your network (from the Internet):
-
- Portal | Application | Function
--------- | -------- | --------
-[http://your-domain-name.com](http://your-domain-name.com)|SWAG|Reverse Proxy
-[https://your-domain-name.com](http://your-domain-name.com)|SWAG|Reverse Proxy
-
-The SWAG container provides Nginx Reverse Proxy and MFA running on ports **5080/HTTP** and **5443/HTTPS**, so they don't conflict with other services running on the Docker host computer. To access your Reverse Proxy from the Internet, you need to set up your gateway / router, to allow Internet ports **80** and **443** into your network, but redirect them to the Docker host IP Address on ports **5080** and **5443** respectively.
-
-Port **80** will be accessible on the Internet and redirected to the Reverse Proxy on port **5080**, however it will redirect to HTTPS protocol using port **443** via the Internet, which will also be redirected to the Reverse Proxy on port **5443**. Reverse Proxy port numbers can be changed as required in the ENV file if required.
-
-The SWAG container requires a resolvable domain name, and will automatically install SSL certificates using either Let's Encrypt or Zero SSL providers, and is also able to provide Multi-Factor Authentication (MFA), to provide strong security for your Internet connected applications.
-
- - [https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia](https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia)
-
-
-
-## Configuring DDNS-Updater for Reverse Proxy
-
-Reference: [https://hub.docker.com/r/qmcgaw/ddns-updater](https://hub.docker.com/r/qmcgaw/ddns-updater)
-
-If you have a Dynamic IP address, you will need a way to keep your Dynamic IP Address insync with your registered domain name. The DNS-Updater container supports MANY DDNS service providers, however we need to use Cloudflare as part of the Authelia zero trust framework for our multifacture authentication, so it makes sense to use Cloudflare to also host your domain and update it with DDNS-Updater. Head over to Cloudflare and register a free account: [https://dash.cloudflare.com/sign-up](https://dash.cloudflare.com/sign-up)
-
-Once you have registered a free account with Cloudflare, you can transfer your existing domain to Cloudflare with "Domain Registration" --> "Transfer Domains", or you can purchase a new domain inside Cloudflare with "Domain Registration" --> "Purchase Domains".
-
-If you don't want to pay for a domain and want to use a free DDNS domain, then check out the DDNS-Updater documenation and follow the DDNS set up for your preferred option.
-
-Configure the DDNS-Updater by editing the "config.json" file with the details and credentials for your DDNS provider.
-
-```
-sudo vi FOLDER_FOR_CONFIGS/ddns-updater/config.json
-
-{
- "settings": [
- {
- "provider": "cloudflare",
- "zone_identifier": "zone id",
- "domain": "your-domain-name.com",
- "host": "@",
- "ttl": 600,
- "token": "yourtoken",
- "ip_version": "ipv4"
- }
- ]
-}
-```
-
-Restart the DDNS-Updater container, then check the status at: [http://localhost:6500](http://localhost:6500)
-
-
-## Configuring SWAG HTTP / DNS
-In order for the Certbot tool inside SWAG to be able to request / issue a digital SSL certificate from Let's Encrypt or ZeroSSL, you need to set up the validation type in ENV.
-```
-sudo vi docker-compose.env
-VALIDATION=dns
-DNSPLUGIN=cloudflare
-```
-If you're using "dns" as the validation process, select the DNS plugin that suits your environment, and make appropriate updates.
-
-DNS plugins are located: "**FOLDER_FOR_CONFIGS/swag/dns-conf/**"
-
->The domain name you used in "**URL**" MUST resolve back to your Internet IP address, and your Internet Router / Firewall be set up to forward the ports **80** and **443** to your Docker host IP address, on ports **5080** and **5443** respectively.
-
-Refer to:
-
-- [https://docs.linuxserver.io/general/swag#cert-provider-lets-encrypt-vs-zerossl](https://docs.linuxserver.io/general/swag#cert-provider-lets-encrypt-vs-zerossl)
-- [https://docs.linuxserver.io/general/swag#web-hosting-examples](https://docs.linuxserver.io/general/swag#web-hosting-examples)
-- [https://docs.linuxserver.io/general/swag#reverse-proxy](https://docs.linuxserver.io/general/swag#reverse-proxy)
-- [https://docs.linuxserver.io/general/swag#authorization-method](https://docs.linuxserver.io/general/swag#authorization-method)
-
-SWAG has many different plugins available to help validate your "your-domain-name.com" / IP address, via DNS, they are located in the $FOLDER_FOR_CONFIGS/swag/dns-conf folder.
-For example, to set up the Cloudflare plugin, edit the following:
-```
-sudo vi $FOLDER_FOR_CONFIGS/swag/dns-conf/cloudflare.ini
-```
-**You can then update the ENV file, delete the SWAG container and re-deploy it, to build a new container with the updated configurations.**
-
-###Once your SWAG Server has validated "your-domain-name.com" / IP address, and installed an SSL certificate, the Nginx web server will start working.
-
-###If you have forwarded ports 80 and 443 to the Docker host on 5080 and 5443, then you should be able to access the Nginx web server welcome page from the Internet.
-
-You can use an online remote web browser to check if your site is accessible from the Internet. Go to [https://www.browserling.com](https://www.browserling.com) and put in your domain name to test.
-
->NOTE: All HTTP traffic on port 80 is automatically redirected to HTTPS on port 443, so it helps to have both ports open and redirected.
-
-
-
-## Activate Authelia Integration in SWAG Container
-
-How to set up users, passwords and groups in Authelia
-[https://www.authelia.com/reference/guides/passwords/](https://www.authelia.com/reference/guides/passwords/)
-
-
-[https://www.authelia.com/integration/prologue/get-started/](https://www.authelia.com/integration/prologue/get-started/)
-
-
-```
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/authelia-server.conf
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/authelia-location.conf
-
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
-include /config/nginx/authelia-server.conf;
-
-sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-server.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-server.conf
-sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-location.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-location.conf
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## 5 - Configuring the docker applications after they have been deployed
-Refer to:
-
-- [https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/](https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/)
-- [https://www.synoforum.com/resources/ultimate-starter-page-2-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.185/](https://www.synoforum.com/resources/ultimate-starter-page-2-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.185/)
-
-Follow what is in these pages for now, they will be updated further to include these applications / setup.
-
-
-
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-
-### Document Heimdell integration better
-### Document Authelia so the authentication mechanisms are working....
-One factor / two factor authentication.
-
-
-
-
-## Activate Heimdall Integration in SWAG Container
-```
-sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf
-
-#Enable this line
-include /config/nginx/authelia-location.conf;
-
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
-
-```
-
-
-# THESE ARE ITEMS FOR NOTES ONLY AT THIS POINT
-
-```
-Text Editor - Open:
-
-heimdall.subfolder.conf.sample
-sudo vi $FOLDER_FOR_CONFIGS/swag/www/index.html
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
-sudo -E vi $FOLDER_FOR_CONFIGS/authelia/
-sudo -E vi $FOLDER_FOR_CONFIGS/authelia/
-
-```
-
-
-[https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia](https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia)
-
-Test...
-
-
-
-
-
-
-# THESE ARE ITEMS FOR NOTES ONLY AT THIS POINT
-
-
-
-cat /home/geekau/docker/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
-
-/home/geekau/docker/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
-
-
-
-
-$FOLDER_FOR_CONFIGS/swag/
-$FOLDER_FOR_CONFIGS/swag/dns-conf/
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample
-$FOLDER_FOR_CONFIGS/swag/nginx/
-$FOLDER_FOR_CONFIGS/swag/nginx/
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy.conf
-$FOLDER_FOR_CONFIGS/swag/nginx/nginx.conf
-
-
-
-sudo -E cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf
-sudo -E cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf
-ls -la $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/*.conf
-ls -la $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/
-
-mv /mnt/user/appdata/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample /mnt/user/appdata/swag/nginx/proxy-confs/sonarr.subdomain.conf
-
-
-
-audiobookshelf.subdomain.conf.sample
-audiobookshelf.subfolder.conf.sample
-authelia.subdomain.conf.sample
-bazarr.subdomain.conf.sample
-bazarr.subfolder.conf.sample
-filebot.subdomain.conf.sample
-filebot.subfolder.conf.sample
-jellyfin.subdomain.conf.sample
-jellyfin.subfolder.conf.sample
-jellyseerr.subdomain.conf.sample
-lidarr.subdomain.conf.sample
-lidarr.subfolder.conf.sample
-mylar.subdomain.conf.sample
-mylar.subfolder.conf.sample
-portainer.subdomain.conf.sample
-portainer.subfolder.conf.sample
-prowlarr.subdomain.conf.sample
-prowlarr.subfolder.conf.sample
-qbittorrent.subdomain.conf.sample
-qbittorrent.subfolder.conf.sample
-radarr.subdomain.conf.sample
-radarr.subfolder.conf.sample
-readarr.subdomain.conf.sample
-readarr.subfolder.conf.sample
-sabnzbd.subdomain.conf.sample
-sabnzbd.subfolder.conf.sample
-sonarr.subdomain.conf.sample
-sonarr.subfolder.conf.sample
-tdarr.subdomain.conf.sample
-
-
-
-
-
-
diff --git a/docs/installation/environment-file.md b/docs/installation/customising-environment.md
similarity index 100%
rename from docs/installation/environment-file.md
rename to docs/installation/customising-environment.md
diff --git a/docs/installation/default-environment.md b/docs/installation/default-environment.md
new file mode 100644
index 0000000..8686cb3
--- /dev/null
+++ b/docs/installation/default-environment.md
@@ -0,0 +1,196 @@
+# Docker Environment File
+
+The docker applications are deployed and configured using an environment file, which ensures all variables and settings are shared consistantly across all of the applications as they are deployed.
+
+The environment file is called `docker-compose.env`, and it is exactly the same file located in each of the folders
+
+!!! note "File: docker-compose.env <-- Default Configuration File"
+
+ ```
+ ###########################################################################
+ ###########################################################################
+ ###########################################################################
+ ##
+ ## Docker Compose Environment Variable file for Jellyfin Media Stack
+ ##
+ ## Update any of the environment variables below as required.
+ ##
+ ## It is highly recommended Linux users set up a "docker"
+ ## user, so the applications can access the local filesystem
+ ## with this user's access privileges. Use PUID / PGID to map
+ ## user access between the Docker apps and local filesystem.
+ ##
+ ###########################################################################
+ ###########################################################################
+ ###########################################################################
+
+ #Name of the project in Docker
+ COMPOSE_PROJECT_NAME=media-stack
+
+ # This is the network subnet which will be used inside the docker "media_network", change as required.
+ # LOCAL_SUBNET is your home network and is needed so the VPN client allows access to your home computers.
+ DOCKER_SUBNET=172.28.10.0/24
+ DOCKER_GATEWAY=172.28.10.1
+ LOCAL_SUBNET=10.168.1.0/24
+ LOCAL_DOCKER_IP=10.168.1.10
+
+ # Each of the "*ARR" applications have been configured so the theme can be changed to your needs.
+ # Refer to Theme Park for more info / options: https://docs.theme-park.dev/theme-options/aquamarine/
+ TP_THEME=nord
+
+ # These are the folders on your local host computer / NAS running docker, they MUST exist
+ # and have correct permissions for PUID and PGUI prior to running the docker-compose.
+ #
+ # Use the commands in the Guide to create all the sub-folders in each of these folders.
+
+ # Host Data Folders - Will accept Linux, Windows, NAS folders
+ FOLDER_FOR_CONFIGS=/home/geekau/docker
+ FOLDER_FOR_MEDIA=/home/geekau/media-stack
+
+ # File access, date and time details for the containers / applications to use.
+ # Run "sudo id docker" on host computer to find PUID / PGID and update these to suit.
+ PUID=1000
+ PGID=1000
+ UMASK=0002
+ TIMEZONE=Australia/Brisbane
+
+ # Update your own Internet VPN provide details below
+ VPN_TYPE=openvpn
+ VPN_SERVICE_PROVIDER=VPN provider name
+ VPN_USERNAME=
+ VPN_PASSWORD=
+ SERVER_REGION=
+ SERVER_CITIES=
+ SERVER_HOSTNAMES=
+
+ # Fill in this item ONLY if you're using a custom OpenVPN configuration
+ # Should be inside gluetun data folder - Example: /gluetun/custom-openvpn.conf
+ # You can then edit it inside the FOLDER_FOR_CONFIGS location for gluetun.
+ OPENVPN_CUSTOM_CONFIG=
+
+ # Fill in these items ONLY if you change VPN_TYPE to "wireguard"
+ VPN_ENDPOINT_IP=
+ VPN_ENDPOINT_PORT=
+ WIREGUARD_PUBLIC_KEY=
+ WIREGUARD_PRIVATE_KEY=
+ WIREGUARD_PRESHARED_KEY=
+ WIREGUARD_ADDRESSES=
+
+ # These are the default ports used to access each of the application in your web browser.
+ # You can safely change these if you need, but they can't conflict with other active ports.
+ QBIT_PORT_TCP=6881
+ QBIT_PORT_UDP=6881
+ FLARESOLVERR_PORT=8191
+
+ TDARR_SERVER_PORT=8266
+ WEBUI_PORT_TDARR=8265
+
+ WEBUI_PORT_BAZARR=6767
+ WEBUI_PORT_DDNS_UPDATER=6500
+ WEBUI_PORT_JELLYFIN=8096
+ WEBUI_PORT_JELLYSEERR=5055
+ WEBUI_PORT_LIDARR=8686
+ WEBUI_PORT_MYLAR3=8090
+ WEBUI_PORT_PORTAINER=9443
+ WEBUI_PORT_PROWLARR=9696
+ WEBUI_PORT_QBITTORRENT=8200
+ WEBUI_PORT_RADARR=7878
+ WEBUI_PORT_READARR=8787
+ WEBUI_PORT_SONARR=8989
+ WEBUI_PORT_SABNZBD=8100
+ WEBUI_PORT_WHISPARR=6969
+
+ # SWAG is configured for Reverse Proxy. Set your Internet gateway to redirect incoming ports 80 and 443
+ # to the ports used below (using Docker IP Address), and they will be translated back to 80 and 443 by SWAG.
+ # Change these port numbers if you have conflicting services running on the Docker host computer.
+
+ REVERSE_PROXY_PORT_HTTP=5080
+ REVERSE_PROXY_PORT_HTTPS=5443
+
+ # SWAG REVERSE PROXY SETTINGS:
+ URL=your-domain-name-goes-here.com
+ SUBDOMAINS=wildcard
+ VALIDATION=dns
+ DNSPLUGIN=cloudflare
+ CERTPROVIDER=
+ PROPAGATION=
+ DUCKDNSTOKEN=
+ EMAIL=
+ ONLY_SUBDOMAINS=false
+ EXTRA_DOMAINS=
+ STAGING=false
+ ```
+
+
+
+PART 3 - Configuring the Docker-Compose Environment Settings
+
+This implementation will use a docker-compose configuration file and an accompanying environment file, containing all of the variables for the docker-compose file, so it can be customised to your individual requirements. This allows complex docker builds to be rapidly deployed over and over with relative ease, and minimal input. In fact, it is quicker and easier to delete all of the docker applications and redeploy it again, rather than trying to do any fault finding when errors occur. It is also a simply way to upgrade application versions, by deleting the entire docker stack, and redeploying again using updated images.
+
+Download Docker Compose Media Stack - Yaml file
+Download Docker Compose Media Stack - Environment file
+
+Below are some of the planning details / settings you need to consider, which are located inside the Environment File - they should be updated to suit your needs.
+
+Define Docker Stack and Local Network Details:
+
+You can change the subnet / gateway of the network inside docker where these applications will be deployed, if you are not experienced with docker, then leave the subnet / gateway settings alone.
+
+Put your internal home network details into the LOCAL_SUBNET variable, this will tell the VPN client to allow local computers on this network, they are allowed to access each of the applications inside the secure docker stack.
+
+DOCKER_SUBNET=172.28.10.0/24
+DOCKER_GATEWAY=172.28.10.1
+LOCAL_SUBNET=192.168.1.0/24 <-- your local / home network subnet details here
+
+Once the docker stack has been created and the VPN connection established, Gluetun also allows all computers on the local network, to piggy back off the VPN connection and send all web traffic from your local computer through the secure tunnel. You can change your web proxy to the IP address of your Docker host, using port 8888. A point to remember, if your Docker stack is disabled / turned off, then your web browsers will stop working until you restart the Docker host / stack, or remove the proxy setting in your web browsers.
+
+Set up VPN Connection for Entire Docker Stack:
+
+Its a mandatory requirement you have an active VPN connection, otherwise Gluetun will not establish a VPN tunnel, and there will be no data forwarded to the Internet for the entire docker stack.
+
+A full list of supported VPN / Wireguard providers can be found on the Gluetun wiki on the right hand side menu: Home · qdm12/gluetun Wiki
+
+Gluetun also supports custom VPN configurations if you have alternate VPN setups, the docker-compose file has the necessary variables if you need to set up a custom VPN connection, including Wireguard.
+
+VPN_SERVICE_PROVIDER=VPN provider name
+VPN_USERNAME=
+VPN_PASSWORD=
+SERVER_REGION=
+
+Main Folders For Media and Docker Persistent Configurations:
+
+This is the most important component of your media server, were data is going to be stored, and how all the different Docker applications are going to access the different media / configuration files.
+
+When you set up folders / volumes on the host computer, you need to map them in the Docker configuration, so the applications can access the data. The docker-compose file has already set up all the correct folder mappings between the host computer and docker applications by using environment variables in the YAML file, however you will need to update the variables below so the the docker-compose build knows which folders to map.
+
+When considering media storage, you also need to consider files are going to be downloaded by the Docker applications and moved between folders, which are actually being moved by the underlaying host computer. So you need to consider what happens when moving a 10GB file between two folders inside different Docker applications, may in fact be getting transferred to different HDDs / Filesystems / Volumes, on the host system - this can greatly slow down the performance of disk operations and docker performance.
+
+It is highly recommended the locations you choose for the MEDIA, TORRENTS, USENET, and WATCH folders, are located on the same HDD / Volume / Partition on the local host computer. The Docker stack has been carefully planned, and as long as these host folders are using these principles, then the Docker application will take advantage of Atomic Moves (instant) inside the containers.
+
+FOLDER_FOR_DOCKER_DATA= # Folder to store persistent configuration settings for all the docker applications
+FOLDER_FOR_MEDIA= # Folder where root of media library exists
+FOLDER_FOR_TORRENTS= # Folder where all torrent files will be downloaded (Transmission)
+FOLDER_FOR_USENET= # Folder where all NZB Usenet files will be downloaded (NZBGet)
+FOLDER_FOR_WATCH= # Folder to place NZB and Torrent files for manual downloading
+
+The following table provides examples on how the folders located on the Host computer, will be mapped to the folders inside the Docker containers.
+
+
+Environment Variable:
+Synology Example:
+Linux Example:
+Windows Example:
+Docker Path:
+FOLDER_FOR_DOCKER_DATA /volume1/docker /opt/docker D:\Docker Differs by container
+FOLDER_FOR_MEDIA /volume1/media /opt/media D:\Media /data/media
+FOLDER_FOR_TORRENTS /volume1/data/torrents /opt/torrents D:\Torrents /data/torrents
+FOLDER_FOR_USENET /volume1/data/usenet /opt/usenet D:\Usenet /data/usenet
+FOLDER_FOR_WATCH /volume1/data/watch /opt/watch D:\Watch /data/watch
+
+You need to define your own folders for Synology / Linux / Windows, however the locations you define in the variables, will be mapped to the docker application as per the Docker Path column.
+
+NOTE: It is recommended the folders you use on the host computer, remain empty until completing the entire guide and setting up all the applications. So if you plan to use folder names that current have media, you should rename the old folders, create new ones, then copy the media into the new folders after completing this guide.
+
+
+
+
diff --git a/docs/installation/individual-install.md b/docs/installation/individual-install.md
index 95ae152..e69de29 100644
--- a/docs/installation/individual-install.md
+++ b/docs/installation/individual-install.md
@@ -1,1004 +0,0 @@
-# Individual Installation
-
-
-**NOTE: This is PAGE 2 of** [**Ultimate Starter - Jellyfin, Jellyseerr, NZBGet, Torrents and \*ARR Media Stack**](https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/)
-
-
-
-**PART 8 - Configuring the \*ARR Media Library Managers / Index Manager**
-
-Prowlarr \*ARR Indexer and Search Manager: [http://localhost:9696](http://localhost:9696/)
-
-Now that we have both the Download Clients set up on Page 1, we're going to set up Prowlarr, which is an index and search manager for all the ARR applications; it handles search requests on behalf of Sonarr, Radarr, Lidarr etc.. to all the indexers, and returns the results to each ARR application that initiated the index search.
-
-1\. In "Indexers" -- "Add Indexer", to get started, add about eight indexers which are listed as public - these will mostly be Torrent indexers, as all NZB Indexers are private and you need an account to access the indexer services.
-
-2\. Make sure you select a Base URL and test the connection before saving. Some indexers have multiple URLs to choose from, and you may need to change the Base URL if any on them fail the connection test.
-
-3\. Once you have several indexers, select "Test All Indexers" to test their connectivity / status.
-
-4\. You can also test the "Search" function by typing "Big Buck Bunny" and checking that results are returned - Do not download anything yet, there is much more to set up before importing media.
-
-**NOTE:** If you're using Windows as your Docker host, you may need to open up network ports in the Windows 11 firewall, before you can access the web portals from the local network:
-
-*
-
-
-5\. "Settings" -- "Indexers" menu: Only used if you need index proxies
-
-6\. "Settings" -- "Apps" menu: Go to all the other ARR applications listed below, then navigate to "Settings" -- "General" and copy the API Key from each application. Then back in Prowlarr, click "Add Application", and use the API Key to link the other application to Prowlarr.
-
-**For example: To add Radarr**
-
-* Name: Radarr
-* Sync Level: Full Sync
-* Prowlarr: Add "[http://localhost:9696](http://localhost:9696)" Check the field to see if the text is actually in there.
-* Reader: Add "[http://localhost:7878](http://localhost:7878)" Check the field to see if the text is actually in there.
-* API Key: Copied from Radarr application in "Settings" -- "General"
-* Test and Save
-
-Repeat this step for all \*ARR applications until you have Lidarr, Mylar, Radarr, Readarr, Sonarr and Whisparr listed in the Prowlarr applications - There should be six.
-
-**NOTE For Mylar:** Go to "Settings" -- "Web Interface" -- Tick Enable API -- Generate API Key -- Save Changes -- Restart Mylar -- API Key can now be copied.
-
-
-
-\*ARR Application:
-
-Link to API Key:
-
-Lidarr
-
-[http://localhost:8686/settings/general](http://localhost:8686/settings/general)
-
-Mylar3
-
-[http://localhost:8090/config](http://localhost:8090/config) Then Select "Web Interface" Tab
-
-Radarr
-
-[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
-
-Readarr
-
-[http://localhost:8787/settings/general](http://localhost:8787/settings/general)
-
-Sonarr
-
-[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
-
-Whisparr
-
-[http://localhost:6969/settings/general](http://localhost:6969/settings/general)
-
-Prowlarr
-
-[http://localhost:9696/settings/downloadclients](http://localhost:9696/settings/downloadclients)
-
-
-
-7\. "Settings" -- "Download Clients" menu:
-
-
-* Go to all SEVEN of the ARR applications listed in the table below, then navigate to "Settings" -- "Download Clients" and add the following two download clients to each of the seven applications. Make sure you change the category for each application… the categories MUST be in lowercase.
-
-
-
-ARR Application:
-
-Download Category:
-(must be in lowercase)
-
-Prowlarr
-
-prowlarr
-
-Lidarr
-
-music
-
-Mylar3
-
-comics
-
-Rradarr
-
-movies
-
-Readarr
-
-books
-
-Sonarr
-
-series
-
-Whisparr
-
-adult
-
-
-
-* Add NZBGet
- * Name: NZBGet
- * Host: localhost
- * Port: 6789
- * Username: nzbget Empty if you removed this earlier
- * Password: tegbzn6789 Empty if you removed this earlier
- * Category: < --- In "lowercase" - refer to table above, for each \*ARR application category
-* Add Transmission
- * Name: Transmission
- * Enabled: Ticked
- * Host: localhost
- * Port: 9091
- * Username: empty
- * Password: empty
- * Category: < --- In "lowercase" - refer to table above, for each \*ARR application category
-
-
-
-8\. Add the "Root Folder" for all of the \*ARR medial managers, so they are able to access / manage the media in each library.
-
-**NOTE: It is recommended you allow all of the Media Library Managers to totally manage your media, including the renaming and sorting of media into its own media folder structure and naming conventions. Select "Show Advanced" and follow the naming conventions in the table below, for the relevant media managers.
-
-NOTE: Do not add your own media into your media folders yet, we will prepare all of your existing media in steps further below, before importing into each of the media libraries, to ensure they're in a format that the \*ARR applications will each read be able to identify and match to Internet media lookup searches.**
-
-
-
-Library Manager:
-
-Media Path:
-
-Media Renaming Conventions:
-
-Lidarr:
-[http://localhost:8686/settings/mediamanagement](http://localhost:8686/settings/mediamanagement)
-
-/data/media/music
-
-[Lidarr Settings](https://wiki.servarr.com/lidarr/settings)
-(No guidance available - refer to other apps in wiki)
-
-Mylar3:
-[http://localhost:8090/config](http://localhost:8090/config)
-
-/data/media/comics
-
-[Folder and File formats · mylar3/mylar3 Wiki](https://github.com/mylar3/mylar3/wiki/Folder-and-File-formats) (minor guidance)
-
-Radarr:
-[http://localhost:7878/settings/mediamanagement](http://localhost:7878/settings/mediamanagement)
-
-/data/media/movies
-
-[Radarr Settings](https://wiki.servarr.com/radarr/settings#community-naming-suggestions)
-
-Readarr:
-[http://localhost:8787/settings/mediamanagement](http://localhost:8787/settings/mediamanagement)
-
-/data/media/books
-
-[Readarr Settings](https://wiki.servarr.com/readarr/settings#book-file-naming)
-
-Sonarr:
-[http://localhost:8989/settings/mediamanagement](http://localhost:8989/settings/mediamanagement)
-
-/data/media/series
-
-[Sonarr Settings](https://wiki.servarr.com/sonarr/settings#community-naming-suggestions)
-
-[Whisparr:
-http://localhost:6969/settings/mediamanagement](http://Whisparr: http://localhost:6969/settings/mediamanagement)
-
-/data/media/adult
-
-[Whisparr Settings](https://wiki.servarr.com/whisparr/settings#community-naming-suggestions)
-
-
-**NOTE:** Prowlarr is an index and search manager, it does not manage media libraries.
-
-
-**Example set up steps for Radarr to manage media renaming**
-
-* [http://localhost:7878/settings/mediamanagement](http://localhost:7878/settings/mediamanagement)
-
-
-* Turn on "Show Advanced" options
-* Rename Movies: Ticked
-* Replace Characters: Ticked
-* Colon Replace: Replace with Space Dash Space
-* Standard Movie Format: {Movie Title} ({Release Year}) - {Quality Title} {MediaInfo Simple}
-* Movie Folder Format: {Movie Title} ({Release Year}) \[imdbid-{ImdbId}\]
-* Create Empty Folders: Not Ticked
-* Delete Empty Folders: Ticked # Depends on your preference
-* Unmonitor Deleted Movies: Ticked
-* Propers and Repacks: Prefer and Upgrade
-* Analyze video files: Ticked
-* Rescan Movie Folder: Always
-* Change File Date: None
-* Recycle Bin: Optional
-* Set Permissions: Ticked # Depends on your preference
-* Chmod Folder: 775 # Depends on your preference
-* Chmod Group: users # Depends on your preference
-
-
-**Example set up steps for Sonarr to manage media renaming**
-
-* [http://localhost:8989/settings/mediamanagement](http://localhost:8989/settings/mediamanagement)
-
-
-* Turn on "Show Advanced" options
-* Rename Episodes: Ticked
-* Replace Illegal Characters: Ticked
-*
-
-* Standard Episode Format:
- * {Series Title} S{season:00}E{episode:00} - {Episode Title} {Quality Title} {MediaInfo Simple}
-* Daily Episode Format:
- * {Series Title} {Air-Date} - {Episode Title} {Quality Title} {MediaInfo Simple}
-* Anime Episode Format:
- * {Series Title} S{season:00}E{episode:00} - {Episode Title} {Quality Title} {MediaInfo Simple}
-* Series Folder Format:
- * {Series Title} ({Series Year}) \[imdbid-{ImdbId}\]
-* Multi-Episode Style: Extend
-* Create Empty Folders: Not Ticked
-* Delete Empty Folders: Ticked # Depends on your preference
-* Unmonitor Deleted Episodes: Ticked
-* Propers and Repacks: Prefer and Upgrade
-* Analyze video files: Ticked
-* Rescan Episode Folder: Always
-* Change File Date: None
-* Recycle Bin: Optional
-* Set Permissions: Ticked # Depends on your preference
-* Chmod Folder: 775 # Depends on your preference
-* Chmod Group: users # Depends on your preference
-
-
-Complete remaining Media Library Managers as per step 8 guidance and table.
-
-
-
-**Mylar3 needs extra steps to get set up properly and integrated into Prowlarr**
-
-9\. Complete these additional steps to configure Mylar3, which are slightly different to the rest of the \*ARR family
-
-
-* Go to Mylar3 "Settings" -- "Web Interface":
-* ComicVine API Key:
- * Go over to ComicVine at Gamespot, and register for a user account: [Comic Vine](https://comicvine.gamespot.com) When you're logged in to ComicVine, head to this page for your personal API Key: [Comic Reviews, News, and Forums - Comic Vine](https://comicvine.gamespot.com/api/)
- * Copy your Comic Vine API Key, then goto Mylar3 "Settings" -- "Web Interface" and copy the key into the field on the top right
-* Basic HTTP Host: 0.0.0.0
-* HTTP Port: 8090
-* Authentication: None
-* HTTP Usernam: Empty
-* HTTP Password: Empty
-* Comic Path Location: /data/media/comics
-* Enforce Permissions: ticked
-* Directory CHMOD: 0777
-* File CHMOD: 0660
-* Owner: 1000 --- Change this to the numeric PUID value of the Docker user account you created earlier
-* Group: 1000 --- Change this to the numeric PGID value of the Docker user account you created earlier
-
-
-* Mylar3 "Settings" -- "Download Settings"
-
-
-* NZBget: Ticked
-* NZBGet Host: [http://localhost](http://localhost)
-* NZBGet Port: 6789
-* NZBGet Username: Empty the field
-* NZBGet Password: Empty the field
-* NZBGet Download Directory: /data/usenet
-* NZBGet Category: comics
-* Enable Completed Download Handling: Ticked
-* Usenet Retention (in days) - This depends on your Usenet service provider
-
-
-
-* Use Torrents: Tickered
-* Minimum # of seeders: 3
-* NOTE: Seed numbers is a personnal choice, the lower the number could result in stalled downloads
-* Transmission: Ticked
-* Transmission Host: [http://localhost](http://localhost)
-* Transmission Username: Empty the field
-* Transmission Password: Empty the field
-* Transmission Directory: /data/torrents
-
-
-
-* Mylar3 "Settings" -- "Search Providers"
-* Torrents: Ticked
-* Enabled Torznab: Ticked
-* Use Newznab: Ticked
-
-
-**NOTE:** There is no need to manually update the Torrent / Usenet settings listed on this page, Prowlarr will
-automatically make the relevant changes to search providers as they're added to the \*ARR Index Manager.
-
-
-10\. Finish the basic customisation below for all of the \*ARR settings:
-
-
-\*ARR Application:
-
-Link to Settings Page
-
-Prowlarr
-
-[http://localhost:9696/settings](http://localhost:9696/settings)
-
-Lidarr
-
-[http://localhost:8686/settings](http://localhost:8686/settings)
-
-Mylar3
-
-[http://localhost:8090/config](http://localhost:8090/config) Then Select "Web Interface" Tab
-
-Radarr
-
-[http://localhost:7878/settings](http://localhost:7878/settings)
-
-Readarr
-
-[http://localhost:8787/settings](http://localhost:8787/settings)
-
-Sonarr
-
-[http://localhost:8989/settings](http://localhost:8989/settings)
-
-Whisparr
-
-[http://localhost:6969/settings](http://localhost:6969/settings)
-
-
-"Settings" -- "UI" menu:
-
-* Set up all the system locale / date and time formats for your region / liking
-
-
-"Settings" -- "Indexers" menu:
-
-* These are a list of indexers, which are configured using Prowlarr, and replicated to each of the ARR applications. If you need to update your indexers, do this in Prowlarr.
-
-
-"Settings" -- "Quality" menu:
-
-* This page allows you to configure all the general quality, size limits, for all the different download options.
-
-
-Home Page For Each \*APP Application:
-
-* Click "Options" icon on right hand side and select the viewable options to suit your needs.
-
-
-Test Each of Your \*APP Application:
-
-* From the application home page, select "Add New", and search title for each application's media category.
-* You should get search results for each of the media types that each application is responsible for managing.
-
-
-
-**NOTE: Whisparr - Adult Movie Industry Metadata**
-
-Whisparr will correctly locate metadata for adult movie industry content, however Jellyfin does not, for reasons we won't go into here. However, you can save the metadata for adult content from Whisparr into the movie folder on the hard drive, then Jellyfin can be set up to read and import the metadata correctly.
-
-Go to "Whisparr" -- "Settings" -- "Metadata" -- "Edit Kodi (XBMC) / Emby Metadata" and select all options, except for "Use Movie.nfo", and save. This will create .nfo and cover art files inside the movie folder, which Jellyfin will scrape during import of the adult library.
-
-**NOTE:** This technique can be used for other media types which do not work well in Jellyfin metadata look ups.
-
-
-NOTE: If you have following this guide step by step, you'll probably notice the theme used across most of the applications is, or is not to your likely, you can change the theme to something that suites you suit by editing the following variable in the .ENV file, and redeploying your media stack configuration discussed on Page 1.
-
-
-Code:
-
- TP_THEME=nord
-
-
-Refer to colour these codes at: [Aquamarine - theme.park Docs](https://docs.theme-park.dev/theme-options/aquamarine/)
-
-
-
-
-**PART 9 - Organising Your Media Library And Importing Into \*ARR Apps**
-
-Now that we've set up the Media Library Managers and Index Manager with the correct settings, including filenames for all media content, we can commence importing any of your current media repositories into the respective Media Library Managers for each media format type.
-
-**NOTE: The success of importing media files into the media libraries and having them identified correctly by the library managers, depends heavily on the how well they are organised and named in the first place. Don't expect to load random files which have no naming conventions, or cannot identify what the content is, to be picked up and imported correctly. Do some effort first to save you importing time - otherwise: the old adage is… shit in, shit out.**
-
-My personal preference is to use Filebot with the following renaming conventions to get things organised, before I manually add anything into the \*ARR media folders.
-
-
-**Filebot Renaming Preset String for Series / TV Shows:**
-
-D:/Storage/renaming/series/{ny.colon(' - ').ascii()} \[tmdbid-{id}\]/Season {s00}/{ny.colon(' - ').ascii()} {s00e00} - {t.ascii()} {" - $hd $vf $vc $ac"}
-
-
-**Filebot Renaming Preset String for Movies / Adult:**
-
-D:/Storage/renaming/movies/{ny.colon(' - ').ascii()} \[imdbid-{imdbid}\]/{ny.colon(' - ').ascii()} {" - $hd $vf $vc $ac"}
-
-
-**Filebot Renaming Preset String for Music / Audio:**
-
-D:/Storage/renaming/music/{artist.upperInitial().ascii()}/{album.upperInitial().ascii()} ({y})/{albumArtist.upperInitial().ascii()} - {album.upperInitial().ascii()} - {pi.pad(3)+' - '} {t.ascii()}
-
-
-Change "D:/Storage" to suit your requirements. Being on the same drive / partition as the original media which is being renamed, will save considerable time moving files between partitions or across network shares. i.e. Don't use a different partition / HDD as the destination, it will take forever.
-
-**NOTE:** Do all media renaming outside of \*ARR folders, then slowly control the import of the renamed media into each of the Library Managers.
-
-Once you have prepared all of your current media folders, start importing a few series / movies at a time, to ensure the \*ARR Library Manager is detecting the new media, and that you're comfortable with the process.
-
-As you start adding files in the following folders, the files will be immediately accessible in each of the \*ARR apps
-
-
-
-Host Computer Folder Location:
-
-\*ARR Library Manager
-
-FOLDER\_FOR\_MEDIA/adult
-
-Whisparr
-
-FOLDER\_FOR\_MEDIA/books
-
-Readarr
-
-FOLDER\_FOR\_MEDIA/comics
-
-Mylar3
-
-FOLDER\_FOR\_MEDIA/movies
-
-Radarr
-
-FOLDER\_FOR\_MEDIA/music
-
-Lidarr
-
-FOLDER\_FOR\_MEDIA/series
-
-Sonarr
-
-
-
-Head over the your \*ARR application to "Settings" -- "Media Management"… you'll note that the root folder "/data/media/series" etc... inside each Docker container now says there are a number of "Unmapped Folders".
-
-To import the new media you copied into your FOLDER\_FOR\_MEDIA folders, open the link that says "Path: /data/media/series", it will now show the series / movies which you added, and will attempt to identify these new series / movies by looking them up via the Internet databases.
-
-NOTE: This could take some time depending on how large the media library is.
-
-NOTE: DO NOT IMPORT ANY MOVIE / SERIES WHICH ARE INCORRENTLY IDENTIFIED, RENAME THEM AND TRY TO IMPORT THEM AGAIN LATER
-
-Select all of the folders / media which has been correctly identified by using the checkboxes on the left hand side, then down the bottom select whether to monitor the first season, or the entire season (this is your personal choice), then select the option "Import \* Series" - This will commence the import and renaming if you opted to rename.
-
-For any movie / series which was incorrectly identified, go to your local media directory and rename the folder, and then import the new folder after the \*ARR manager correctly identifies the folder content.
-
-Once identified, select "Import \* Series". If successful, you will receive a message that says: All series in /data/media/imports have been imported.
-
-Use the same process in all of the other \*ARR applications to import your existing media library into the corresponding \*ARR Media Library Manager.
-
-NOTE:: If you do a lot of transcoding and changing the encoding types / bitrates across your library, the Filebot renaming strings can be used to update your media library as needed, however you'll need to refresh your \*ARR Media Library Managers / Jellyfin to make sure they pick up the new names.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-**WARNING - THE BELOW INFORMATION IS STILL BEING FORMATTED FOR PRESENTATION - IT SHOULD BE ACCURATE, BUT DIFFICULT TO READ. AM CURRENTLY FORMATTING NOW.**
-
-
-
-
-
-
-
-
-
-**PART 10 - Configuring Jellyfin Media Server**
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-\#### Configuring Jellyfin to access all Media Libraries
-
-Firstly, head over and set up accounts at Fanart and Opensubtitles, so you can enrich your Jellyfin media content. Once you have accounts, you'll need to copy the API Key from each of your account profiles
-[https://fanart.tv](https://fanart.tv/)
-[https://opensubtitles.com](https://opensubtitles.com/) (opensubtitles.org and opensubtitles.com are the same, but .com is the newer site for accounts)
-
-
-
-* Head over to Jellyfin at [http://localhost:8096](http://localhost:8096/) where you will be welcomed to Jellyfin, choose your desired language and select "Next".
-* Create a username / password for the first user account (it will become the admin account) - you can have a blank password if you desire - Select "Next".
-* DO NOT ADD MEDIA at this time, select "Next", as we want to set up Fanart and other plugins first.
-* Select your Metadata Language and Country and select "Next".
-* Set up remote access: Remote connections (Ticked), Enable port mapping (No / Unticked) - Select "Next", the "Finsh".
-* You'll be presented with a signin page, use the username / password entered previously.
-
-
-Press the hamburger icon (3 lines) in top left corner to open the menu, then select "Dashboard", go down the bottom of the menu and open "Plugins", the select "Repositories" up the top, and add the following:
-
-Repository Name: Daniel Adov
-Repository URL: [https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json](https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json)
-
-Using the "Plugins" -- "Catalogue" menu, add the following plugins to your Jellyfin instance:
-
-
-* AniDB
-* AniList
-* Fanart
-* Merge Versions
-* Open Subtitles
-* Playback Reporting
-* Reports
-* Skin Manager
-* TMDb Box Sets
-* Tvmaze
-* TheTVDB
-
-
-These plugins should already be installed by default:
-
-
-* AudioDB
-* MusicBrainz - Installed by default
-* OMDb - Installed by default
-* Studio Images
-* TMDb
-
-
-Now that all of the plugins have been installed, go to Docker / Portainer, select the Jellyfin container and restart it. Then come back to Jellyfin config.
-
-Open the hamburger menu in top left corner again and then select "Dashboard", go down the bottom of the menu and open "Plugins", and configure the following plugins:
-
-
-* AniDB - Defaults
-* AniList - Defaults
-* Fanart - Add "Personal API Key" from your Fanart.tv account, and save.
-* Merge Versions - Defaults
-* Open Subtitles - Add Username / Password / API Key from your OpenSubtitles.com account, and save.
-* Playback Reporting - Defaults
-* Reports - Defaults
-* Skin Manager - Select a skin of your choosing, however further customisation is outside the scope of this guide.
-* TMDb - Include adult content (Optional), Import season name (Ticked), Max Cast Members (25), Image Scaling (Optional), and save.
-* TMDb Box Sets - Defaults
-* Tvmaze - Nil
-* TheTVDB - If there is no API Key pre-installed, you will need to register at [https://TheTVDB.com](https://thetvdb.com/) to obtain one.
-
-
-"Playback" -- "Transcoding"
-Depending on the computer / NAS you are running Docker / Jellyfin, its possible to use hardware acceleration for transcoding - this configuration has been set up to map /dev/dri from the docker container to the host, so it will work, but will be dependent upon your personal hardware configuration. You will need to seek further advise from the Jellyfin community at Reddit / Discord / Youtube on settings for your hardware.
-
-Refer: [Hardware Acceleration | Jellyfin](https://jellyfin.org/docs/general/administration/hardware-acceleration/)
-DLNA (Digital Living Network Alliance): As this guide and configuration is built around a secure contained network for the entire media docker stack, the ports and services needed to support DLNA have not been mapped and exposed to the host network. The docker configuration can be customised to allow for DLNA, however it is outside the scope of this starter guide. So these settings won't work unless the docker-compose is reconfigured by yourself.
-
-"Libraries" -- "Display"
-Date added behavior for new content: change to "Use date scanned into library".
-
-"Libraries" -- "Metadata"
-Select your language and country prior to setting up libraries and importing metadata.
-
-
-\## Adding Movie Content
-"Libraries" -- "Libraries" and select "Add Media Library"
-Content Type: Movies
-Display Name: Movies
-Folders: Add - /data/media/movies
-Preferred Language: Personal Choice
-Country: Personal Choice, however it is linked to media ratings on IMDB, and will allow restrictions to children and other users depending on the content you have in the library.
-
-Enable real time monitoring: Ticked
-
-Order for Metadata Downloaders:
-
-* TheMovieDB
-* The Open Movie Database
-* AniList
-* AniDB
-
-Automatically refresh metadata from the internet: Never
-
-Order for Image Fetchers:
-
-* Fanart
-* TheMovieDB
-* The Open Movie Database
-* AniList
-* AniDB
-* Embedded Image Extractor (should be first for dedicated libraries with home video recordings / personal media)
-* Screen Grabber (should be second for dedicated libraries with home video recordings / personal media)
-
-Subtitle Downloads
-
-* Language: Personal Choice
-* Subtitle Downloaders - Open Subtitles: Ticked (Disable for libraries with dedicated home video recordings / personal media)
-
-
-NOTE: If you choose to use an adult movie library, use the same process as above to set up a new / separate adult library, so access to be restricted to certain user accounts.
-
-\## Adding Music Content
-"Libraries" -- "Libraries" and select "Add Media Library"
-Content Type: Music
-Display Name: Music
-Folders: Add - /data/media/music
-Preferred Language: Personal Choice
-Country: Personal Choice, however it is linked to media ratings on OMDB, and will allow restricting content to other users.
-
-Enable real time monitoring: Ticked
-
-Order for Metadata Downloaders (Artists):
-
-*
-
-* MusicBrainz
-*
-
-* TheAudioDB
-
-
-Order for Metadata Downloaders (Albums):
-
-*
-
-* MusicBrainz
-*
-
-* TheAudioDB
-
-
-Order for Image Fetchers (Artists):
-
-*
-
-* Fanart
-*
-
-* TheAudioDB
-
-
-Order for Image Fetchers (Albums):
-
-*
-
-* Fanart
-*
-
-* TheAudioDB
-
-
-Automatically refresh metadata from the internet: Never
-
-Order for Image Fetchers (Music Videos):
-
-*
-
-* Fanart
-*
-
-* Embedded Image Extractor
-*
-
-* Screen Grabber
-
-
-Save artwork into media folders: Ticked
-
-
-\## Adding TV Shows / Series Content
-"Libraries" -- "Libraries" and select "Add Media Library"
-Content Type: Shows
-Display Name: Series
-Folders: Add - /data/media/series
-Preferred Language: Personal Choice
-Country: Personal Choice, however it is linked to the media rating on IMDB,
-and will allow restrictions to children and other users depending on the categorisation you allow other users to access.
-
-Enable real time monitoring: Ticked
-
-Order for Metadata Downloaders (TV Shows):
-
-*
-
-* TheTVDB
-*
-
-* Tvmaze
-*
-
-* AniList
-*
-
-* AniDB
-*
-
-* TheMovieDB
-*
-
-* The Open Movie Database
-*
-
-* Missing Episode Fetcher
-
-
-Order for Metadata Downloaders (Seasons):
-
-*
-
-* TheTVDB
-*
-
-* AniDB
-*
-
-* TheMovieDB
-
-
-
-Order for Metadata Downloaders (Episodes):
-
-*
-
-* TheTVDB
-*
-
-* Tvmaze
-*
-
-* AniDB
-*
-
-* TheMovieDB
-*
-
-* The Open Movie Database
-
-
-Automatically refresh metadata from the internet: Never
-
-Order for Image Fetchers (TV Shows):
-
-* Fanart
-* TVmaze
-* TheTVDB
-* AniDB
-* AniList
-* TheMovieDB
-
-Order for Image Fetchers (Seasons):
-
-* Fanart
-* TVmaze
-* TheTVDB
-* AniDB
-* AniList
-* TheMovieDB
-
-
-Order for Image Fetchers (Episodes):
-
-* TVmaze
-* TheTVDB
-* TheMovieDB
-* The Open Movie Database
-* Embedded Image Extractor
-* Screen Grabber
-
-Subtitle Downloads
-
-* Language: Personal Choice
-* Subtitle Downloaders - Open Subtitles: Ticked (Disable for libraries with dedicated home video recordings / personal media)
-
-
-\## Adding Books Content
-"Libraries" -- "Libraries" and select "Add Media Library"
-Content Type: Books
-Display Name: Books
-Folders: Add - /data/media/books
-
-Enable real time monitoring: Ticked
-
-
-\## Adding Comic / Manga Content
-"Libraries" -- "Libraries" and select "Add Media Library"
-Content Type: Books
-Display Name: Comics
-Folders: Add - /data/media/comics
-
-Enable real time monitoring: Ticked
-
-
-\## Adding Photo Content
-"Libraries" -- "Libraries" and select "Add Media Library"
-Content Type: Photos
-Display Name: Photos
-Folders: Add - /data/media/photos
-
-Enable real time monitoring: Ticked
-
-Order for Image Fetchers (Videos):
-
-* Embedded Image Extractor
-* Screen Grabber
-
-
-
-
-
-
-
-
-
-
-PART 11 - Configuring Jellyseerr
-
-
-[http://localhost:5055](http://localhost:5055) jellyseerr
-
-
-
-When you open Jellyseer for the first time, you'll be asked to sign in… select "Use your Jellyfin Account", and enter the details from your Jellyfin server in order to link it to Jellyseerr.
-
-Jellyfin URL: [http://localhost:8096](http://localhost:8096)
-Email Address: The email address is only used if you want to set up notifications when media has been downloaded, however it is a mandatory field.
-Username: Same username as Jellyfin
-Password: Same password as Jellyfin
-
-After connecting Jellyseerr to Jellyfin, you will need to synchronise the libraries between the two applications.
-
-Select "Sync Libraries", then use the slide toggle to select "Movies" and "Series", However…. DO NOT PRESS "START SCAN", skip the library scan and go straight to "Continue".
-
-**NOTE**: We skip the library scan on initial setup as it can take quite a while to scan the libraries, it is also dependant on Jellyfin having its libraries fully scanned and up to date, so it will be better to scan the libraries after all the configurations are completed.
-
-NOTE: Adult Content - Jellyseerr does not manage Adult content requests, so if you are using Whisparr, the library will appear in "Jellyfin Libraries", however there is no need to activate it for syncing. If the library exists in Jellyfin, it will be seen in Jellyseerr, you just don't need to enable it.
-
-
-Radarr Settings:
-
-Setting up non-4K defaults
-
-Select "Add Radarr Server"
-Default Server: Yes
-4K Server: No
-Server Name: Radarr - FHD 1080P
-Hostname of IP Address: localhost
-Port: 7878
-Use SSL: No
-API Key: Can be found in Radarr application on "Settings" -- "General" page.
-[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
-URL Base: Empty
-Quality Profile: HD-1080p
-Root Folder: /data/media/movies
-Minimum Availability: Released
-Tags: Empty
-External URL: [http://media-server:7878](http://media-server:7878) (Radarr's network address, used in links when sending email notifications)
-Enable Scan: Yes
-Enable Automatic Search: Yes
-
-Test and Save.
-
-Setting up 4K defaults
-Default Server: Yes
-4K Server: Yes
-Server Name: Radarr - UHD 4K
-Hostname of IP Address: localhost
-Port: 7878
-Use SSL: No
-API Key: Can be found in Radarr application on "Settings" -- "General" page.
-[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
-URL Base: Empty
-Quality Profile: Ultra-HD
-Root Folder: /data/media/movies
-Minimum Availability: Released
-Tags: Empty
-External URL: [http://media-server:7878](http://media-server:7878) (Radarr's network address, used in links when sending email notifications)
-Enable Scan: Yes
-Enable Automatic Search: Yes
-
-Test and Save.
-
-
-Sonarr Settings:
-
-Setting up non-4K defaults
-
-Select "Add Sonarr Server"
-Default Server: Yes
-4K Server: No
-Server Name: Sonarr - FHD 1080P
-Hostname of IP Address: localhost
-Port: 8989
-Use SSL: No
-API Key: Can be found in Radarr application on "Settings" -- "General" page.
-[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
-URL Base: Empty
-Quality Profile: HD-1080p
-Root Folder: /data/media/series
-Language Profile: **\* Personal Choice \***
-Tags: Empty
-URL Base: Empty
-Anime Quality Profile: HD-1080p
-Anime Root Folder: /data/media/anime
-Anime Language Profile: **\* Personal Choice \***
-Anime Tags: Empty
-Season Folders: Yes
-External URL: [http://media-server:8989](http://media-server:8989) (Sonarr's network address, used in links when sending email notifications)
-Enable Scan: Yes
-Enable Automatic Search: Yes
-
-Test and Save.
-
-
-
-
-Setting up 4K defaults
-
-Select "Add Sonarr Server"
-Default Server: Yes
-4K Server: No
-Server Name: Sonarr - UHD 4K
-Hostname of IP Address: localhost
-Port: 8989
-Use SSL: No
-API Key: Can be found in Radarr application on "Settings" -- "General" page.
-[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
-URL Base: Empty
-Quality Profile: Ultra-HD
-Root Folder: /data/media/series
-Language Profile: **\* Personal Choice \***
-Tags: Empty
-URL Base: Empty
-Anime Quality Profile: Ultra-4K
-Anime Root Folder: /data/media/anime
-Anime Language Profile: **\* Personal Choice \***
-Anime Tags: Empty
-Season Folders: Yes
-External URL: [http://media-server:8989](http://media-server:8989) (Sonarr's network address, used in links when sending email notifications)
-Enable Scan: Yes
-Enable Automatic Search: Yes
-
-Test and Save.
-
-
-After adding the connectors to Radarr and Sonarr, Jellyseerr will be fully functional, however we want to do some additional configurations before importing users and media information from Jellyfin.
-
-Go to "Settings" -- "General" and make any changes to region and language as needed.
-
-
-Go to "Settings" -- "Users" and make any changes for users, you may want to change the default permissions assigned to new users.
-
-If you want to allow all users to automatically request, approve and download any media type and quality up to 1080P, then you would select "Request", "Auto-Approved", and "Auto-Request". You can select additional permissions and allow automated 4K requests, however the data will quickly add up on the server if is it not controlled, so grant this privilege with due care.
-
-NOTE: These privileges / permissions are applied when new accounts are created or imported from Jellyfin, they do not effect existing user accounts.
-
-
-Go to "Settings" -- "Jellyfin" and select "Start Scan" to commence scanning the Jellyfin libraries for all media.
-
-Go to "Settings" -- "Notifications", you can add any email server settings or integrations if you want to get notifications on the status of your media requests.
-
-Go to the "Users" menu, and you can now create local users, or "Import Jellyfin Users" (preferred). The new users will be granted the privileges / permissions which we set up earlier.
\ No newline at end of file
diff --git a/docs/preparation/application-roles.md b/docs/preparation/application-roles.md
deleted file mode 100644
index eb555e3..0000000
--- a/docs/preparation/application-roles.md
+++ /dev/null
@@ -1 +0,0 @@
-# Docker Applications and Their Roles
diff --git a/docs/preparation/download-mediastack.md b/docs/preparation/docker-compose-files.md
similarity index 100%
rename from docs/preparation/download-mediastack.md
rename to docs/preparation/docker-compose-files.md
diff --git a/docs/preparation/docker-filesystem.md b/docs/preparation/docker-filesystem.md
new file mode 100644
index 0000000..90a77dd
--- /dev/null
+++ b/docs/preparation/docker-filesystem.md
@@ -0,0 +1,122 @@
+# Docker Filesystems and Folders
+
+## Set up all of the folders / subfolders:
+The commands suit the folders defined above in your ENV file for `FOLDER_FOR_CONFIGS` and `FOLDER_FOR_MEDIA`.
+
+## For Linux hosted data folders:
+If you used Linux / NAS folders in the ENV file, then use the following commands to create the necessary folders:
+
+
+
+
+
+
+
+
+!!! note "This is a note code fence"
+
+ Select something below:
+
+ FOLDER_FOR_CONFIGS
+ FOLDER_FOR_MEDIA
+
+
+ === "Linux Shell"
+
+ ``` bash
+ export FOLDER_FOR_CONFIGS=/home/geekau/docker
+ export FOLDER_FOR_MEDIA=/home/geekau/media-stack
+
+ sudo -E mkdir -p $FOLDER_FOR_CONFIGS/{authelia,bazarr,ddns-updater,gluetun,heimdall,jellyfin,jellyseerr,lidarr,mylar3,portainer,prowlarr,qbittorrent,radarr,readarr,sabnzbd,sonarr,swag,tdarr,tdarr_transcode_cache,unpackerr,whisparr}
+ sudo -E mkdir -p $FOLDER_FOR_MEDIA/media/{adult,anime,audio,books,comics,movies,music,photos,podcasts,series,software}
+ sudo -E mkdir -p $FOLDER_FOR_MEDIA/usenet/{adult,anime,audio,books,comics,movies,music,prowlarr,podcasts,series,software}
+ sudo -E mkdir -p $FOLDER_FOR_MEDIA/torrents/{adult,anime,audio,books,comics,movies,music,prowlarr,podcasts,series,software}
+ sudo -E mkdir -p $FOLDER_FOR_MEDIA/watch
+ sudo -E chmod -R 775 $FOLDER_FOR_CONFIGS $FOLDER_FOR_MEDIA
+ sudo -E chown -R geekau:geekau $FOLDER_FOR_CONFIGS $FOLDER_FOR_MEDIA
+ ```
+
+ === "Windows PowerShell"
+
+ ``` powershell
+ set FOLDER_FOR_CONFIGS=D:\Storage\Docker
+ set FOLDER_FOR_MEDIA=D:\Storage\Media-Stack
+
+ FOR /D %I IN (authelia bazarr ddns-updater gluetun heimdall jellyfin jellyseerr lidarr mylar3 portainer prowlarr qbittorrent radarr readarr sabnzbd sonarr swag tdarr tdarr_transcode_cache unpackerr whisparr) DO mkdir %FOLDER_FOR_CONFIGS%\%I
+ FOR /D %I IN (adult anime audio books comics movies music photos podcasts series software) DO mkdir %FOLDER_FOR_MEDIA%\media\%I
+ FOR /D %I IN (adult anime audio books comics movies music podcasts prowlarr series software) DO mkdir %FOLDER_FOR_MEDIA%\usenet\%I
+ FOR /D %I IN (adult anime audio books comics movies music podcasts prowlarr series software) DO mkdir %FOLDER_FOR_MEDIA%\torrents\%I
+ mkdir %FOLDER_FOR_MEDIA%\watch
+ ```
+
+ === "MacOS Shell"
+
+ ``` bash
+ Waiting Testing
+ ```
+
+ === "Synology NAS (SSH)"
+
+ ``` bash
+ Synology - ADD HERE
+ ```
+
+
+
+
+### For Window hosted data folders:
+If you used Windows folders in the ENV file, then use the following commands to create the necessary folders:
+### Folder mappings between host and Docker containers:
+After you run the commands above (Linux or Windows), **this will be your folder structure INSIDE your docker containers**:
+
+!!! note "Folders on Host <--> "
+
+ ```
+ $ tree $FOLDER_FOR_MEDIA
+
+ ⠀⠀⠀⠀⠀Host Computer:⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Inside Containers:
+ ├── /FOLDER_FOR_MEDIA ⠀ ├── /data
+ ⠀⠀⠀⠀⠀├── media ⠀⠀⠀⠀├── media <-- Media is located / managed under this folder
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── photos │⠀⠀⠀⠀├── photos
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
+ ⠀⠀⠀⠀⠀├── torrents ⠀⠀⠀⠀├── torrents <-- Downloads for Torrent data
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr │⠀⠀⠀⠀├── prowlarr
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
+ ⠀⠀⠀⠀⠀├── usenet ⠀⠀⠀⠀├── usenet <-- Downloads for Usenet data
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr │⠀⠀⠀⠀├── prowlarr
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
+ ⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
+ ⠀⠀⠀⠀⠀└── watch ⠀⠀⠀⠀└── watch <-- Add .nzb and .torrent files for manual download
+
+ ```
diff --git a/docs/preparation/docker-filesystems.md b/docs/preparation/docker-filesystems.md
deleted file mode 100644
index 067f8bb..0000000
--- a/docs/preparation/docker-filesystems.md
+++ /dev/null
@@ -1,109 +0,0 @@
-# Docker Filesystems and Folders
-
-## Set up all of the folders / subfolders:
-The commands suit the folders defined above in your ENV file for `FOLDER_FOR_CONFIGS` and `FOLDER_FOR_MEDIA`.
-
-## For Linux hosted data folders:
-If you used Linux / NAS folders in the ENV file, then use the following commands to create the necessary folders:
-
-
-!!! note "This is a note code fence"
-
- Select something below:
-
- FOLDER_FOR_CONFIGS
- FOLDER_FOR_MEDIA
-
-
- === "Linux Shell"
-
- ``` bash
- export FOLDER_FOR_CONFIGS=/home/geekau/docker
- export FOLDER_FOR_MEDIA=/home/geekau/media-stack
-
- sudo -E mkdir -p $FOLDER_FOR_CONFIGS/{authelia,bazarr,ddns-updater,gluetun,heimdall,jellyfin,jellyseerr,lidarr,mylar3,portainer,prowlarr,qbittorrent,radarr,readarr,sabnzbd,sonarr,swag,tdarr,tdarr_transcode_cache,unpackerr,whisparr}
- sudo -E mkdir -p $FOLDER_FOR_MEDIA/media/{adult,anime,audio,books,comics,movies,music,photos,podcasts,series,software}
- sudo -E mkdir -p $FOLDER_FOR_MEDIA/usenet/{adult,anime,audio,books,comics,movies,music,prowlarr,podcasts,series,software}
- sudo -E mkdir -p $FOLDER_FOR_MEDIA/torrents/{adult,anime,audio,books,comics,movies,music,prowlarr,podcasts,series,software}
- sudo -E mkdir -p $FOLDER_FOR_MEDIA/watch
- sudo -E chmod -R 775 $FOLDER_FOR_CONFIGS $FOLDER_FOR_MEDIA
- sudo -E chown -R geekau:geekau $FOLDER_FOR_CONFIGS $FOLDER_FOR_MEDIA
- ```
-
- === "Windows PowerShell"
-
- ``` powershell
- set FOLDER_FOR_CONFIGS=D:\Storage\Docker
- set FOLDER_FOR_MEDIA=D:\Storage\Media-Stack
-
- FOR /D %I IN (authelia bazarr ddns-updater gluetun heimdall jellyfin jellyseerr lidarr mylar3 portainer prowlarr qbittorrent radarr readarr sabnzbd sonarr swag tdarr tdarr_transcode_cache unpackerr whisparr) DO mkdir %FOLDER_FOR_CONFIGS%\%I
- FOR /D %I IN (adult anime audio books comics movies music photos podcasts series software) DO mkdir %FOLDER_FOR_MEDIA%\media\%I
- FOR /D %I IN (adult anime audio books comics movies music podcasts prowlarr series software) DO mkdir %FOLDER_FOR_MEDIA%\usenet\%I
- FOR /D %I IN (adult anime audio books comics movies music podcasts prowlarr series software) DO mkdir %FOLDER_FOR_MEDIA%\torrents\%I
- mkdir %FOLDER_FOR_MEDIA%\watch
- ```
-
- === "MacOS Shell"
-
- ``` bash
- Waiting Testing
- ```
-
- === "Synology NAS (SSH)"
-
- ``` bash
- Synology - ADD HERE
- ```
-
-
-
-
-### For Window hosted data folders:
-If you used Windows folders in the ENV file, then use the following commands to create the necessary folders:
-### Folder mappings between host and Docker containers:
-After you run the commands above (Linux or Windows), **this will be your folder structure INSIDE your docker containers**:
-
-```
-$ tree $FOLDER_FOR_MEDIA
-
-⠀⠀⠀⠀⠀Host Computer:⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Inside Containers:
-├── /FOLDER_FOR_MEDIA ⠀ ├── /data
-⠀⠀⠀⠀⠀├── media ⠀⠀⠀⠀├── media <-- Media is located / managed under this folder
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── photos │⠀⠀⠀⠀├── photos
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
-⠀⠀⠀⠀⠀├── torrents ⠀⠀⠀⠀├── torrents <-- Downloads for Torrent data
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr │⠀⠀⠀⠀├── prowlarr
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
-⠀⠀⠀⠀⠀├── usenet ⠀⠀⠀⠀├── usenet <-- Downloads for Usenet data
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult │⠀⠀⠀⠀├── adult
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime │⠀⠀⠀⠀├── anime
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio │⠀⠀⠀⠀├── audio
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books │⠀⠀⠀⠀├── books
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics │⠀⠀⠀⠀├── comics
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies │⠀⠀⠀⠀├── movies
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music │⠀⠀⠀⠀├── music
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts │⠀⠀⠀⠀├── podcasts
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr │⠀⠀⠀⠀├── prowlarr
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series │⠀⠀⠀⠀├── series
-⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software │⠀⠀⠀⠀└── software
-⠀⠀⠀⠀⠀└── watch ⠀⠀⠀⠀└── watch <-- Add .nzb and .torrent files for manual download
-
-```
diff --git a/docs/preparation/install-docker.md b/docs/preparation/installing-docker.md
similarity index 100%
rename from docs/preparation/install-docker.md
rename to docs/preparation/installing-docker.md
diff --git a/docs/preparation/mediastack-applications.md b/docs/preparation/mediastack-applications.md
new file mode 100644
index 0000000..88987dc
--- /dev/null
+++ b/docs/preparation/mediastack-applications.md
@@ -0,0 +1,3 @@
+# MediaStack Applications
+
+
diff --git a/docs/preparation/networking-architecture.md b/docs/preparation/networking-architecture.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/preparation/media-library.md b/docs/preparation/prepare-media-library.md
similarity index 100%
rename from docs/preparation/media-library.md
rename to docs/preparation/prepare-media-library.md
diff --git a/mkdocs.yml b/mkdocs.yml
index 1cb1574..2b27c1a 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -19,29 +19,52 @@ plugins:
nav:
- Home: index.md
- Preparation:
- - MediaStack Applications: preparation/applications-roles.md
- - Installing Docker: preparation/install-docker.md
- - Docker Filesystems / Folders: preparation/docker-filesystems.md
- - Prepare Media Library: preparation/media-library.md
- - Docker Compose Files: preparation/compose-files.md
+ - MediaStack Applications: preparation/mediastack-applications.md
+ - Networking Architecture: preparation/networking-architecture.md
+ - Installing Docker: preparation/installing-docker.md
+ - Docker Filesystem: preparation/docker-filesystem.md
+ - Prepare Media Library: preparation/prepare-media-library.md
+ - Docker Compose Files: preparation/docker-compose-files.md
- Installation:
- - Configuring Environment: installation/environment-file.md
- - Installing Apps Individually: installation/individual-install.md
- - Installing Apps Collectively: installation/collective-install.md
- - Configuring Environment: installation/environment-file.md
- - Portainer - Docker GUI: installation/portainer.md
- - Configuration:
- - Download Clients: configuration/download-clients.md
- - "*ARR (starr) Applications": configuration/arr-applications.md
- - Jellyfin Media Server: configuration/jellyfin.md
- - Jellyseerr - Request Media: configuration/jellyseerr.md
- - SWAG Reverse Proxy: configuration/swag.md
+ - Default Environment: installation/default-environment.md
+ - Customising Environment: installation/customising-environment.md
+ - Individual Install: installation/individual-install.md
+ - Collective Install: installation/collective-install.md
+ - Docker GUI (Portainer): installation/portainer.md
+ - Configure Media Apps:
+ - Gluetun (VPN Client): configuration/gluetun.md
+ - qBittorrent (Torrent Files): configuration/qbittorrent.md
+ - SABnzbd (Usenet Files): configuration/sabnzbd.md
+ - Prowlarr (Index Search): configuration/prowlarr.md
+ - Radarr (Movie Library): configuration/radarr.md
+ - Sonarr (Series Library): configuration/sonarr.md
+ - Lidarr (Music Library): configuration/lidarr.md
+ - Readarr (Book Library): configuration/readarr.md
+ - Mylar (Comic Library): configuration/mylar.md
+ - Whisparr (Adult Library): configuration/whisparr.md
+ - Bazaar (Subtitles): configuration/bazaar.md
+ - Tdarr (Transcoding): configuration/tdarr.md
+ - Unpackerr (Unzip Archives): configuration/unpackerr.md
+ - Jellyfin (Media Server): configuration/jellyfin.md
+ - Jellyseerr (Request Manager): configuration/jellyseerr.md
+ - Configure Remote Access:
+ - Cloudflare Domain Management: configuration/cloudflare-domain-management.md
- DDNS-Updater: configuration/ddns-updater.md
+ - Secure Web App Gateway: configuration/secure-web-app-gateway.md
+ - Authelia: configuration/authelia.md
+ - Heimdall: configuration/heimdall.md
- Cloudflare Zero Trust: configuration/cloudflare-zero-trust.md
- - Cloudflare Domain Management: configuration/cloudflare-domains.md
- - Contributing to MediaStack:
- - Contributing: contributing/contributing.md
- - Template: contributing/doc-template.md
+ - Help:
+ - Application Websites: help/application-websites.md
+ - Contributing: help/contributing.md
+ - Template: help/template.md
+ - OLD DOCS:
+ - Old Notes 1: help/1.md
+ - Old Notes 2: help/2.md
+ - Old Notes 3: help/3.md
+ - Old Notes 4: help/4.md
+ - Old Notes 5: help/5.md
+
theme:
From bf83882baeae0368eb7ec8640d7bc7c4499a0a76 Mon Sep 17 00:00:00 2001
From: geekau
Date: Sat, 28 Jan 2023 18:13:14 +1000
Subject: [PATCH 16/29] update web structure
---
docs/configuration/authelia.md | 4 +
docs/configuration/bazaar.md | 4 +
.../cloudflare-domain-management.md | 3 +-
docs/configuration/gluetun.md | 1 +
docs/configuration/heimdall.md | 1 +
docs/configuration/jellyfin.md | 2 +-
docs/configuration/lidarr.md | 1 +
docs/configuration/mylar.md | 1 +
docs/configuration/prowlarr.md | 4 +
docs/configuration/qbittorrent.md | 5 ++
docs/configuration/radarr.md | 1 +
docs/configuration/readarr.md | 1 +
docs/configuration/sabnzbd.md | 1 +
docs/configuration/sonarr.md | 1 +
docs/configuration/tdarr.md | 1 +
docs/configuration/unpackerr.md | 1 +
docs/configuration/whisparr.md | 1 +
docs/preparation/docker-compose-files.md | 2 +-
docs/preparation/networking-architecture.md | 1 +
docs/preparation/prepare-media-library.md | 2 +-
...er-filesystem.md => setting-up-folders.md} | 6 +-
mkdocs.yml | 80 +++++++++----------
22 files changed, 76 insertions(+), 48 deletions(-)
rename docs/preparation/{docker-filesystem.md => setting-up-folders.md} (98%)
diff --git a/docs/configuration/authelia.md b/docs/configuration/authelia.md
index e69de29..0025f6a 100644
--- a/docs/configuration/authelia.md
+++ b/docs/configuration/authelia.md
@@ -0,0 +1,4 @@
+# Authelia - Authentication and Authorisation Server
+
+Authelia is an open-source authentication and authorization server and portal fulfilling the identity and access management (IAM) role of information security in providing multi-factor authentication and single sign-on (SSO) for your applications via a web portal. We will integrate it into the SWAG Nginx Reverse Proxy to manage remote secure access into your home media stack network.
+
diff --git a/docs/configuration/bazaar.md b/docs/configuration/bazaar.md
index e69de29..6690ecf 100644
--- a/docs/configuration/bazaar.md
+++ b/docs/configuration/bazaar.md
@@ -0,0 +1,4 @@
+# Bazarr - Subtitle Manager
+
+Bazarr is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.
+
diff --git a/docs/configuration/cloudflare-domain-management.md b/docs/configuration/cloudflare-domain-management.md
index c78436f..f034bd9 100644
--- a/docs/configuration/cloudflare-domain-management.md
+++ b/docs/configuration/cloudflare-domain-management.md
@@ -1 +1,2 @@
-# Cloudflare Domain Management
+# Cloudflare - Domain Management
+
diff --git a/docs/configuration/gluetun.md b/docs/configuration/gluetun.md
index e69de29..6df69b5 100644
--- a/docs/configuration/gluetun.md
+++ b/docs/configuration/gluetun.md
@@ -0,0 +1 @@
+# Gluetun VPN - Secure Outbound Network Traffic
diff --git a/docs/configuration/heimdall.md b/docs/configuration/heimdall.md
index e69de29..5c6bb47 100644
--- a/docs/configuration/heimdall.md
+++ b/docs/configuration/heimdall.md
@@ -0,0 +1 @@
+# Heimdall - Website Link Manager
diff --git a/docs/configuration/jellyfin.md b/docs/configuration/jellyfin.md
index 031b68a..dcf93bd 100644
--- a/docs/configuration/jellyfin.md
+++ b/docs/configuration/jellyfin.md
@@ -1 +1 @@
-# Jellyfin Media Server
+# Jellyfin - Media Server
diff --git a/docs/configuration/lidarr.md b/docs/configuration/lidarr.md
index e69de29..867a394 100644
--- a/docs/configuration/lidarr.md
+++ b/docs/configuration/lidarr.md
@@ -0,0 +1 @@
+# Lidarr - Music Library Manager
diff --git a/docs/configuration/mylar.md b/docs/configuration/mylar.md
index e69de29..1d61aa2 100644
--- a/docs/configuration/mylar.md
+++ b/docs/configuration/mylar.md
@@ -0,0 +1 @@
+# Mylar - Comic Library Manager
diff --git a/docs/configuration/prowlarr.md b/docs/configuration/prowlarr.md
index e69de29..36c0ccd 100644
--- a/docs/configuration/prowlarr.md
+++ b/docs/configuration/prowlarr.md
@@ -0,0 +1,4 @@
+# Prowlarr - Index Search Manager
+
+Prowlarr is a indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Sonarr, Radarr, Lidarr, Readarr, and Whisparr offering complete management of your indexers with no per app Indexer setup required (Prowlarr does it all).
+
diff --git a/docs/configuration/qbittorrent.md b/docs/configuration/qbittorrent.md
index e69de29..c7af7c8 100644
--- a/docs/configuration/qbittorrent.md
+++ b/docs/configuration/qbittorrent.md
@@ -0,0 +1,5 @@
+# qBittorent - Torrent Download Client
+
+qBittorrent is a well established open-source BitTorrent client. qBittorrent features a light footprint, whilst providing all the features you may need. It uses the high-tech libtorrent-rasterbar library, which means greater download and upload speed, as well as excellent support of the latest features in the BitTorrent protocol qBittorrent is fast, stable and provides unicode support as well as many features.
+
+
diff --git a/docs/configuration/radarr.md b/docs/configuration/radarr.md
index e69de29..d511ab8 100644
--- a/docs/configuration/radarr.md
+++ b/docs/configuration/radarr.md
@@ -0,0 +1 @@
+# Radarr - Movie Library Manager
diff --git a/docs/configuration/readarr.md b/docs/configuration/readarr.md
index e69de29..94c01d3 100644
--- a/docs/configuration/readarr.md
+++ b/docs/configuration/readarr.md
@@ -0,0 +1 @@
+# Readarr - Book / ePub Library Manager
diff --git a/docs/configuration/sabnzbd.md b/docs/configuration/sabnzbd.md
index e69de29..61030ef 100644
--- a/docs/configuration/sabnzbd.md
+++ b/docs/configuration/sabnzbd.md
@@ -0,0 +1 @@
+# SABnzbd - Usenet Download Client
diff --git a/docs/configuration/sonarr.md b/docs/configuration/sonarr.md
index e69de29..ceb2eb0 100644
--- a/docs/configuration/sonarr.md
+++ b/docs/configuration/sonarr.md
@@ -0,0 +1 @@
+# Sonarr - TV Series Library Manager
diff --git a/docs/configuration/tdarr.md b/docs/configuration/tdarr.md
index e69de29..fdb56cb 100644
--- a/docs/configuration/tdarr.md
+++ b/docs/configuration/tdarr.md
@@ -0,0 +1 @@
+# Tdarr - Ditributed Media Transcoding Service
diff --git a/docs/configuration/unpackerr.md b/docs/configuration/unpackerr.md
index e69de29..6f6ae9b 100644
--- a/docs/configuration/unpackerr.md
+++ b/docs/configuration/unpackerr.md
@@ -0,0 +1 @@
+# Unpackerr -
\ No newline at end of file
diff --git a/docs/configuration/whisparr.md b/docs/configuration/whisparr.md
index e69de29..e185e4a 100644
--- a/docs/configuration/whisparr.md
+++ b/docs/configuration/whisparr.md
@@ -0,0 +1 @@
+# Whisparr - Adult Library Manager
diff --git a/docs/preparation/docker-compose-files.md b/docs/preparation/docker-compose-files.md
index 1e8c0e8..72b2517 100644
--- a/docs/preparation/docker-compose-files.md
+++ b/docs/preparation/docker-compose-files.md
@@ -1,4 +1,4 @@
-# Download Docker Build Files
+# Docker Compose Files
Goto: [https://github.com/geekau/media-stack](https://github.com/geekau/media-stack)
diff --git a/docs/preparation/networking-architecture.md b/docs/preparation/networking-architecture.md
index e69de29..8a22e3d 100644
--- a/docs/preparation/networking-architecture.md
+++ b/docs/preparation/networking-architecture.md
@@ -0,0 +1 @@
+# Networking Architecture
\ No newline at end of file
diff --git a/docs/preparation/prepare-media-library.md b/docs/preparation/prepare-media-library.md
index 4d97cd8..69cd62a 100644
--- a/docs/preparation/prepare-media-library.md
+++ b/docs/preparation/prepare-media-library.md
@@ -1,4 +1,4 @@
-# Organising Your Media Library
+# Preparing Your Media Library
## Prepare / rename media library if needed:
If you are setting up your media server and media libraries for the very first time, or your media is very poorly named, it is recommended you use Filebot with the following naming standards below, to initially sort all of your media. Otherwise the Media Library Managers and Jellyfin may not be able to identify your media titles, media art, and subtitles, if the original filenames are of a poor standard.
diff --git a/docs/preparation/docker-filesystem.md b/docs/preparation/setting-up-folders.md
similarity index 98%
rename from docs/preparation/docker-filesystem.md
rename to docs/preparation/setting-up-folders.md
index 90a77dd..e2fb198 100644
--- a/docs/preparation/docker-filesystem.md
+++ b/docs/preparation/setting-up-folders.md
@@ -1,4 +1,4 @@
-# Docker Filesystems and Folders
+# Setting Up Application and Media Folders
## Set up all of the folders / subfolders:
The commands suit the folders defined above in your ENV file for `FOLDER_FOR_CONFIGS` and `FOLDER_FOR_MEDIA`.
@@ -18,9 +18,7 @@ If you used Linux / NAS folders in the ENV file, then use the following commands
-!!! note "This is a note code fence"
-
- Select something below:
+!!! note "Select the correct operating system to execute desired commands:"
FOLDER_FOR_CONFIGS
FOLDER_FOR_MEDIA
diff --git a/mkdocs.yml b/mkdocs.yml
index 2b27c1a..41a9d35 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -19,51 +19,51 @@ plugins:
nav:
- Home: index.md
- Preparation:
- - MediaStack Applications: preparation/mediastack-applications.md
- - Networking Architecture: preparation/networking-architecture.md
- - Installing Docker: preparation/installing-docker.md
- - Docker Filesystem: preparation/docker-filesystem.md
- - Prepare Media Library: preparation/prepare-media-library.md
- - Docker Compose Files: preparation/docker-compose-files.md
+ - MediaStack Applications: preparation/mediastack-applications.md
+ - Networking Architecture: preparation/networking-architecture.md
+ - Installing Docker: preparation/installing-docker.md
+ - Setting Up App / Media Folders: preparation/setting-up-folders.md
+ - Prepare Media Library: preparation/prepare-media-library.md
+ - Docker Compose Files: preparation/docker-compose-files.md
- Installation:
- - Default Environment: installation/default-environment.md
- - Customising Environment: installation/customising-environment.md
- - Individual Install: installation/individual-install.md
- - Collective Install: installation/collective-install.md
- - Docker GUI (Portainer): installation/portainer.md
+ - Default Environment: installation/default-environment.md
+ - Customising Environment: installation/customising-environment.md
+ - Individual Install: installation/individual-install.md
+ - Collective Install: installation/collective-install.md
+ - Docker GUI (Portainer): installation/portainer.md
- Configure Media Apps:
- - Gluetun (VPN Client): configuration/gluetun.md
- - qBittorrent (Torrent Files): configuration/qbittorrent.md
- - SABnzbd (Usenet Files): configuration/sabnzbd.md
- - Prowlarr (Index Search): configuration/prowlarr.md
- - Radarr (Movie Library): configuration/radarr.md
- - Sonarr (Series Library): configuration/sonarr.md
- - Lidarr (Music Library): configuration/lidarr.md
- - Readarr (Book Library): configuration/readarr.md
- - Mylar (Comic Library): configuration/mylar.md
- - Whisparr (Adult Library): configuration/whisparr.md
- - Bazaar (Subtitles): configuration/bazaar.md
- - Tdarr (Transcoding): configuration/tdarr.md
- - Unpackerr (Unzip Archives): configuration/unpackerr.md
- - Jellyfin (Media Server): configuration/jellyfin.md
- - Jellyseerr (Request Manager): configuration/jellyseerr.md
+ - Gluetun (VPN Client): configuration/gluetun.md
+ - qBittorrent (Torrent Files): configuration/qbittorrent.md
+ - SABnzbd (Usenet Files): configuration/sabnzbd.md
+ - Prowlarr (Index Search): configuration/prowlarr.md
+ - Radarr (Movie Library): configuration/radarr.md
+ - Sonarr (Series Library): configuration/sonarr.md
+ - Lidarr (Music Library): configuration/lidarr.md
+ - Readarr (Book Library): configuration/readarr.md
+ - Mylar (Comic Library): configuration/mylar.md
+ - Whisparr (Adult Library): configuration/whisparr.md
+ - Bazaar (Subtitles): configuration/bazaar.md
+ - Tdarr (Transcoding): configuration/tdarr.md
+ - Unpackerr (Unzip Archives): configuration/unpackerr.md
+ - Jellyfin (Media Server): configuration/jellyfin.md
+ - Jellyseerr (Request Manager): configuration/jellyseerr.md
- Configure Remote Access:
- - Cloudflare Domain Management: configuration/cloudflare-domain-management.md
- - DDNS-Updater: configuration/ddns-updater.md
- - Secure Web App Gateway: configuration/secure-web-app-gateway.md
- - Authelia: configuration/authelia.md
- - Heimdall: configuration/heimdall.md
- - Cloudflare Zero Trust: configuration/cloudflare-zero-trust.md
+ - Cloudflare Domain Management: configuration/cloudflare-domain-management.md
+ - DDNS-Updater: configuration/ddns-updater.md
+ - Secure Web App Gateway: configuration/secure-web-app-gateway.md
+ - Authelia (AA Server): configuration/authelia.md
+ - Heimdall (Link Manager): configuration/heimdall.md
+ - Cloudflare Zero Trust: configuration/cloudflare-zero-trust.md
- Help:
- - Application Websites: help/application-websites.md
- - Contributing: help/contributing.md
- - Template: help/template.md
+ - Application Websites: help/application-websites.md
+ - Contributing: help/contributing.md
+ - Template: help/template.md
- OLD DOCS:
- - Old Notes 1: help/1.md
- - Old Notes 2: help/2.md
- - Old Notes 3: help/3.md
- - Old Notes 4: help/4.md
- - Old Notes 5: help/5.md
+ - Old Notes 1: help/1.md
+ - Old Notes 2: help/2.md
+ - Old Notes 3: help/3.md
+ - Old Notes 4: help/4.md
+ - Old Notes 5: help/5.md
From 7a4acc1677831969f1b14c8d07e0a691be0055fc Mon Sep 17 00:00:00 2001
From: geekau
Date: Wed, 1 Feb 2023 00:57:59 +1000
Subject: [PATCH 17/29] Dev Pages
---
docs/configuration/authelia.md | 16 ++++++++
docs/configuration/bazaar.md | 16 ++++++++
.../cloudflare-domain-management.md | 16 ++++++++
docs/configuration/cloudflare-zero-trust.md | 17 +++++++++
docs/configuration/ddns-updater.md | 17 +++++++++
docs/configuration/gluetun.md | 17 +++++++++
docs/configuration/heimdall.md | 17 +++++++++
docs/configuration/jellyfin.md | 17 +++++++++
docs/configuration/jellyseerr.md | 17 +++++++++
docs/configuration/lidarr.md | 17 +++++++++
docs/configuration/mylar.md | 17 +++++++++
docs/configuration/prowlarr.md | 16 ++++++++
docs/configuration/qbittorrent.md | 15 ++++++++
docs/configuration/radarr.md | 17 +++++++++
docs/configuration/readarr.md | 17 +++++++++
docs/configuration/sabnzbd.md | 17 +++++++++
docs/configuration/secure-web-app-gateway.md | 17 +++++++++
docs/configuration/sonarr.md | 17 +++++++++
docs/configuration/tdarr.md | 17 +++++++++
docs/configuration/unpackerr.md | 19 +++++++++-
docs/configuration/whisparr.md | 17 +++++++++
docs/help/1.md | 19 ++++++++++
docs/help/2.md | 18 +++++++++
docs/help/3.md | 19 ++++++++++
docs/help/application-websites.md | 18 +++++++++
docs/help/contributing.md | 21 +++++++++-
docs/help/template.md | 29 ++++++++++++++
docs/installation/collective-install.md | 18 +++++++++
docs/installation/default-environment.md | 19 ++++++++++
docs/installation/individual-install.md | 18 +++++++++
docs/installation/portainer.md | 21 +++++++++-
docs/preparation/docker-compose-files.md | 7 +++-
docs/preparation/installing-docker.md | 18 +++++++++
docs/preparation/mediastack-applications.md | 13 +++++++
docs/preparation/networking-architecture.md | 20 +++++++++-
docs/preparation/prepare-media-library.md | 6 +++
docs/preparation/setting-up-folders.md | 18 ++++-----
mkdocs.yml | 38 +++++++++----------
overrides/main.html | 2 +-
39 files changed, 640 insertions(+), 35 deletions(-)
diff --git a/docs/configuration/authelia.md b/docs/configuration/authelia.md
index 0025f6a..3de3ba1 100644
--- a/docs/configuration/authelia.md
+++ b/docs/configuration/authelia.md
@@ -2,3 +2,19 @@
Authelia is an open-source authentication and authorization server and portal fulfilling the identity and access management (IAM) role of information security in providing multi-factor authentication and single sign-on (SSO) for your applications via a web portal. We will integrate it into the SWAG Nginx Reverse Proxy to manage remote secure access into your home media stack network.
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/bazaar.md b/docs/configuration/bazaar.md
index 6690ecf..cc5c9b7 100644
--- a/docs/configuration/bazaar.md
+++ b/docs/configuration/bazaar.md
@@ -2,3 +2,19 @@
Bazarr is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/cloudflare-domain-management.md b/docs/configuration/cloudflare-domain-management.md
index f034bd9..5f72a58 100644
--- a/docs/configuration/cloudflare-domain-management.md
+++ b/docs/configuration/cloudflare-domain-management.md
@@ -1,2 +1,18 @@
# Cloudflare - Domain Management
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/cloudflare-zero-trust.md b/docs/configuration/cloudflare-zero-trust.md
index 8d56c01..46d2110 100644
--- a/docs/configuration/cloudflare-zero-trust.md
+++ b/docs/configuration/cloudflare-zero-trust.md
@@ -1 +1,18 @@
# Cloudflare - Zero Trust Network Access
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/ddns-updater.md b/docs/configuration/ddns-updater.md
index 97879ae..acb6bb2 100644
--- a/docs/configuration/ddns-updater.md
+++ b/docs/configuration/ddns-updater.md
@@ -1 +1,18 @@
# DDNS-Updater - Keep Dynamic IP / DNS Mappings Updated
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/gluetun.md b/docs/configuration/gluetun.md
index 6df69b5..1bc5be2 100644
--- a/docs/configuration/gluetun.md
+++ b/docs/configuration/gluetun.md
@@ -1 +1,18 @@
# Gluetun VPN - Secure Outbound Network Traffic
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/heimdall.md b/docs/configuration/heimdall.md
index 5c6bb47..c780abd 100644
--- a/docs/configuration/heimdall.md
+++ b/docs/configuration/heimdall.md
@@ -1 +1,18 @@
# Heimdall - Website Link Manager
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/jellyfin.md b/docs/configuration/jellyfin.md
index dcf93bd..2beb05f 100644
--- a/docs/configuration/jellyfin.md
+++ b/docs/configuration/jellyfin.md
@@ -1 +1,18 @@
# Jellyfin - Media Server
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/jellyseerr.md b/docs/configuration/jellyseerr.md
index 1193aec..17cf018 100644
--- a/docs/configuration/jellyseerr.md
+++ b/docs/configuration/jellyseerr.md
@@ -1 +1,18 @@
# Jellyseerr - Media Request Manager
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/lidarr.md b/docs/configuration/lidarr.md
index 867a394..deaf75a 100644
--- a/docs/configuration/lidarr.md
+++ b/docs/configuration/lidarr.md
@@ -1 +1,18 @@
# Lidarr - Music Library Manager
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/mylar.md b/docs/configuration/mylar.md
index 1d61aa2..ac05de7 100644
--- a/docs/configuration/mylar.md
+++ b/docs/configuration/mylar.md
@@ -1 +1,18 @@
# Mylar - Comic Library Manager
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/configuration/prowlarr.md b/docs/configuration/prowlarr.md
index 36c0ccd..e5a2972 100644
--- a/docs/configuration/prowlarr.md
+++ b/docs/configuration/prowlarr.md
@@ -2,3 +2,19 @@
Prowlarr is a indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Sonarr, Radarr, Lidarr, Readarr, and Whisparr offering complete management of your indexers with no per app Indexer setup required (Prowlarr does it all).
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/configuration/qbittorrent.md b/docs/configuration/qbittorrent.md
index c7af7c8..847e6b3 100644
--- a/docs/configuration/qbittorrent.md
+++ b/docs/configuration/qbittorrent.md
@@ -2,4 +2,19 @@
qBittorrent is a well established open-source BitTorrent client. qBittorrent features a light footprint, whilst providing all the features you may need. It uses the high-tech libtorrent-rasterbar library, which means greater download and upload speed, as well as excellent support of the latest features in the BitTorrent protocol qBittorrent is fast, stable and provides unicode support as well as many features.
+## Heading One
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/configuration/radarr.md b/docs/configuration/radarr.md
index d511ab8..fe848c5 100644
--- a/docs/configuration/radarr.md
+++ b/docs/configuration/radarr.md
@@ -1 +1,18 @@
# Radarr - Movie Library Manager
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/configuration/readarr.md b/docs/configuration/readarr.md
index 94c01d3..a04d401 100644
--- a/docs/configuration/readarr.md
+++ b/docs/configuration/readarr.md
@@ -1 +1,18 @@
# Readarr - Book / ePub Library Manager
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/configuration/sabnzbd.md b/docs/configuration/sabnzbd.md
index 61030ef..537b954 100644
--- a/docs/configuration/sabnzbd.md
+++ b/docs/configuration/sabnzbd.md
@@ -1 +1,18 @@
# SABnzbd - Usenet Download Client
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/configuration/secure-web-app-gateway.md b/docs/configuration/secure-web-app-gateway.md
index 5485403..3a9ce80 100644
--- a/docs/configuration/secure-web-app-gateway.md
+++ b/docs/configuration/secure-web-app-gateway.md
@@ -1 +1,18 @@
# SWAG - Secure Web Application Gateway
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/configuration/sonarr.md b/docs/configuration/sonarr.md
index ceb2eb0..b9bd91c 100644
--- a/docs/configuration/sonarr.md
+++ b/docs/configuration/sonarr.md
@@ -1 +1,18 @@
# Sonarr - TV Series Library Manager
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/configuration/tdarr.md b/docs/configuration/tdarr.md
index fdb56cb..a3b025d 100644
--- a/docs/configuration/tdarr.md
+++ b/docs/configuration/tdarr.md
@@ -1 +1,18 @@
# Tdarr - Ditributed Media Transcoding Service
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/configuration/unpackerr.md b/docs/configuration/unpackerr.md
index 6f6ae9b..1d61e57 100644
--- a/docs/configuration/unpackerr.md
+++ b/docs/configuration/unpackerr.md
@@ -1 +1,18 @@
-# Unpackerr -
\ No newline at end of file
+# Unpackerr -
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/configuration/whisparr.md b/docs/configuration/whisparr.md
index e185e4a..acc0083 100644
--- a/docs/configuration/whisparr.md
+++ b/docs/configuration/whisparr.md
@@ -1 +1,18 @@
# Whisparr - Adult Library Manager
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/help/1.md b/docs/help/1.md
index b81cecb..daa932d 100644
--- a/docs/help/1.md
+++ b/docs/help/1.md
@@ -1,3 +1,22 @@
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
+
+
**PART 1 - Introduction**
Set up a full VPN encrypted Jellyfin, Jellyseerr, NZBGet, Transmission and \*ARR media stack using this docker-compose guide in approximately 30 - 60 minutes, on Linux, Windows or Synology NAS, and potentially more Docker enabled environments.
diff --git a/docs/help/2.md b/docs/help/2.md
index d102c36..eb84193 100644
--- a/docs/help/2.md
+++ b/docs/help/2.md
@@ -1,3 +1,21 @@
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
+
# Collective Installation
diff --git a/docs/help/3.md b/docs/help/3.md
index 95ae152..f3a62fe 100644
--- a/docs/help/3.md
+++ b/docs/help/3.md
@@ -1,3 +1,22 @@
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
+
+
# Individual Installation
diff --git a/docs/help/application-websites.md b/docs/help/application-websites.md
index e69de29..735be34 100644
--- a/docs/help/application-websites.md
+++ b/docs/help/application-websites.md
@@ -0,0 +1,18 @@
+# Application Home Sites
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/help/contributing.md b/docs/help/contributing.md
index ccdc38c..d8b3a56 100644
--- a/docs/help/contributing.md
+++ b/docs/help/contributing.md
@@ -1,4 +1,23 @@
-# Contributing to https://MediaStack.Guide
+# Contributing to MediaStack.Guide
+
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
+
Anyone can easily join and contribute to the https://MediaStack.Guide GitHub repo, to improve the overall documentation / website by following these steps.
diff --git a/docs/help/template.md b/docs/help/template.md
index 60a72dc..d3bb43f 100644
--- a/docs/help/template.md
+++ b/docs/help/template.md
@@ -4,6 +4,35 @@
For full documentation visit [mkdocs.org](https://www.mkdocs.org).
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
+
+
+
+
+
+
+
## Commands
* `mkdocs new [dir-name]` - Create a new project.
diff --git a/docs/installation/collective-install.md b/docs/installation/collective-install.md
index e69de29..875331a 100644
--- a/docs/installation/collective-install.md
+++ b/docs/installation/collective-install.md
@@ -0,0 +1,18 @@
+# Collective Docker Compose Installation
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/installation/default-environment.md b/docs/installation/default-environment.md
index 8686cb3..9e98b2e 100644
--- a/docs/installation/default-environment.md
+++ b/docs/installation/default-environment.md
@@ -1,5 +1,24 @@
# Docker Environment File
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
+
+
The docker applications are deployed and configured using an environment file, which ensures all variables and settings are shared consistantly across all of the applications as they are deployed.
The environment file is called `docker-compose.env`, and it is exactly the same file located in each of the folders
diff --git a/docs/installation/individual-install.md b/docs/installation/individual-install.md
index e69de29..b1d9ef0 100644
--- a/docs/installation/individual-install.md
+++ b/docs/installation/individual-install.md
@@ -0,0 +1,18 @@
+# Individual Docker Compose Installation
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/installation/portainer.md b/docs/installation/portainer.md
index 4338ff9..6f2f2a5 100644
--- a/docs/installation/portainer.md
+++ b/docs/installation/portainer.md
@@ -1 +1,20 @@
-# Installing and Managing Docker Applications with Portainer
+# Portainer - Docker GUI
+
+# Collective Docker Compose Installation
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/preparation/docker-compose-files.md b/docs/preparation/docker-compose-files.md
index 72b2517..5b1a76c 100644
--- a/docs/preparation/docker-compose-files.md
+++ b/docs/preparation/docker-compose-files.md
@@ -1,8 +1,13 @@
# Docker Compose Files
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+## Download Compose Files
Goto: [https://github.com/geekau/media-stack](https://github.com/geekau/media-stack)
Download this repository to your computer by selecting "**Code**" --> "**Download Zip**".
-# Follow the installation instructions at: [https://MediaStack.Guide](https://MediaStack.Guide)
+Describe
diff --git a/docs/preparation/installing-docker.md b/docs/preparation/installing-docker.md
index 102e200..2b910d4 100644
--- a/docs/preparation/installing-docker.md
+++ b/docs/preparation/installing-docker.md
@@ -1 +1,19 @@
# Installing Docker
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Basic intro to Docker... embed Docker intro video etc..
+
+Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+
+
+## Heading Two
+
+## Heading Three
+
diff --git a/docs/preparation/mediastack-applications.md b/docs/preparation/mediastack-applications.md
index 88987dc..4c767ca 100644
--- a/docs/preparation/mediastack-applications.md
+++ b/docs/preparation/mediastack-applications.md
@@ -1,3 +1,16 @@
# MediaStack Applications
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+List of all Media-Stack applications used in this guide and their roles
+
+## Heading Two
+
+
+
+## Heading Three
diff --git a/docs/preparation/networking-architecture.md b/docs/preparation/networking-architecture.md
index 8a22e3d..dc6ed3f 100644
--- a/docs/preparation/networking-architecture.md
+++ b/docs/preparation/networking-architecture.md
@@ -1 +1,19 @@
-# Networking Architecture
\ No newline at end of file
+# Networking Architecture
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+Describe the network architecture of the two different Docker network deployment options, the secure VPN connection, and how to change docker containers between the direct connection mode and VPN container mode.
+
+Also describe the incoming / remote network connectivity from the Internet (using a DNS entry), to access Jellyfin and all other Media-Stack portals via the Reverse Proxy.
+
+External / Remote connectivity to be discussed lightly here, and broken down into more detail in the "Configure Remote Access" menu stack
+
+## Heading Two
+
+## Heading Three
\ No newline at end of file
diff --git a/docs/preparation/prepare-media-library.md b/docs/preparation/prepare-media-library.md
index 69cd62a..62dd45b 100644
--- a/docs/preparation/prepare-media-library.md
+++ b/docs/preparation/prepare-media-library.md
@@ -1,5 +1,11 @@
# Preparing Your Media Library
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
## Prepare / rename media library if needed:
If you are setting up your media server and media libraries for the very first time, or your media is very poorly named, it is recommended you use Filebot with the following naming standards below, to initially sort all of your media. Otherwise the Media Library Managers and Jellyfin may not be able to identify your media titles, media art, and subtitles, if the original filenames are of a poor standard.
diff --git a/docs/preparation/setting-up-folders.md b/docs/preparation/setting-up-folders.md
index e2fb198..30328af 100644
--- a/docs/preparation/setting-up-folders.md
+++ b/docs/preparation/setting-up-folders.md
@@ -1,5 +1,11 @@
# Setting Up Application and Media Folders
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
## Set up all of the folders / subfolders:
The commands suit the folders defined above in your ENV file for `FOLDER_FOR_CONFIGS` and `FOLDER_FOR_MEDIA`.
@@ -7,21 +13,13 @@ The commands suit the folders defined above in your ENV file for `FOLDER_FOR_CON
If you used Linux / NAS folders in the ENV file, then use the following commands to create the necessary folders:
-
-
-
!!! note "Select the correct operating system to execute desired commands:"
- FOLDER_FOR_CONFIGS
- FOLDER_FOR_MEDIA
+ `FOLDER_FOR_CONFIGS`
+ `FOLDER_FOR_MEDIA`
=== "Linux Shell"
diff --git a/mkdocs.yml b/mkdocs.yml
index 41a9d35..a8ba240 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -1,13 +1,13 @@
# yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json
site_name: MediaStack.Guide
-site_url: https://mediastack.guide/
+site_url: https://mediastack.guide/
site_description: >
Quick-start guide to set up a full VPN encrypted streaming media service, with reverse-proxy / MFA access from the Internet, for Linux, Windows, Synology NAS, and more... Full Docker deployment for Jellyfin, Jellyseerr, Gluetun, DDNS-Updater, Prowlarr, Radarr, Sonarr, Lidarr, Mylar, Readarr, Whisparr, Bazarr, qBittorrent, SABnzbd, Unpackerr, SWAG, Heimdall, Authelia, Flaresolverr, and Portainer.
repo_name: mediastack.guide
-repo_url: https://github.com/geekau/mediastack.guide
-edit_uri: blob/main/docs/
+repo_url: https://github.com/geekau/mediastack.guide
+edit_uri: blob/main/docs/
plugins:
- search
@@ -17,7 +17,7 @@ plugins:
# - typeset
nav:
- - Home: index.md
+ - Home: index.md
- Preparation:
- MediaStack Applications: preparation/mediastack-applications.md
- Networking Architecture: preparation/networking-architecture.md
@@ -30,7 +30,7 @@ nav:
- Customising Environment: installation/customising-environment.md
- Individual Install: installation/individual-install.md
- Collective Install: installation/collective-install.md
- - Docker GUI (Portainer): installation/portainer.md
+ - Portainer (Docker GUI): installation/portainer.md
- Configure Media Apps:
- Gluetun (VPN Client): configuration/gluetun.md
- qBittorrent (Torrent Files): configuration/qbittorrent.md
@@ -68,9 +68,9 @@ nav:
theme:
- name: material
+ name: material
custom_dir: overrides
- favicon: assets/favicon.ico
+ favicon: assets/favicon.ico
features:
- announce.dismiss
@@ -94,24 +94,24 @@ theme:
- search.highlight
palette:
- - media: "(prefers-color-scheme: light)"
- scheme: default
+ - media: "(prefers-color-scheme: light)"
+ scheme: default
primary: deep purple
- accent: light green
+ accent: light green
toggle:
- icon: material/lightbulb
- name: Switch to Dark Mode
- - media: "(prefers-color-scheme: dark)"
- scheme: slate
+ icon: material/lightbulb
+ name: Switch to Dark Mode
+ - media: "(prefers-color-scheme: dark)"
+ scheme: slate
primary: yellow
- accent: red
+ accent: red
toggle:
- icon: material/lightbulb-outline
- name: Switch to Light Mode
+ icon: material/lightbulb-outline
+ name: Switch to Light Mode
icon:
- logo: assets/header-logo
- repo: fontawesome/brands/github
+ logo: assets/header-logo
+ repo: fontawesome/brands/github
admonition:
note: fontawesome/solid/note-sticky
abstract: fontawesome/solid/book
diff --git a/overrides/main.html b/overrides/main.html
index 7d5bc75..03010c0 100644
--- a/overrides/main.html
+++ b/overrides/main.html
@@ -1,7 +1,7 @@
{% extends "base.html" %}
{% block announce %}
- Listen Up.... This is an announcement..
+ Development Notice: This site is still in heavy development..
{% endblock %}
{% block outdated %}
From 7cfce207b2e4f1653f36c46de6068940e1d1d608 Mon Sep 17 00:00:00 2001
From: geekau
Date: Fri, 3 Feb 2023 23:22:37 +1000
Subject: [PATCH 18/29] draft contents
---
docs/configuration/authelia.md | 20 -
.../cloudflare-domain-management.md | 18 -
docs/configuration/cloudflare-zero-trust.md | 18 -
docs/configuration/ddns-updater.md | 18 -
docs/configuration/gluetun.md | 8 +-
docs/configuration/heimdall.md | 18 -
docs/configuration/jellyfin.md | 329 ++++++-
docs/configuration/jellyseerr.md | 158 +++-
docs/configuration/qbittorrent.md | 174 ++++
docs/configuration/sabnzbd.md | 170 ++++
docs/configuration/secure-web-app-gateway.md | 18 -
docs/help/1.md | 816 +-----------------
docs/help/2.md | 426 +--------
docs/help/3.md | 489 +----------
docs/help/4.md | 3 +
docs/help/5.md | 3 +
docs/index.md | 6 +-
docs/installation/customising-environment.md | 312 +++++++
docs/installation/individual-install.md | 112 +++
docs/installation/portainer.md | 65 ++
docs/preparation/mediastack-applications.md | 131 +++
docs/preparation/setting-up-folders.md | 102 ++-
docs/remote-access/authelia.md | 54 ++
.../cloudflare-domain-management.md | 77 ++
docs/remote-access/cloudflare-zero-trust.md | 26 +
docs/remote-access/ddns-updater.md | 62 ++
docs/remote-access/heimdall.md | 64 ++
docs/remote-access/nginx-reverse-proxy.md | 120 +++
docs/remote-access/secure-web-app-gateway.md | 26 +
mkdocs.yml | 16 +-
30 files changed, 2012 insertions(+), 1847 deletions(-)
delete mode 100644 docs/configuration/authelia.md
delete mode 100644 docs/configuration/cloudflare-domain-management.md
delete mode 100644 docs/configuration/cloudflare-zero-trust.md
delete mode 100644 docs/configuration/ddns-updater.md
delete mode 100644 docs/configuration/heimdall.md
delete mode 100644 docs/configuration/secure-web-app-gateway.md
create mode 100644 docs/help/4.md
create mode 100644 docs/help/5.md
create mode 100644 docs/remote-access/authelia.md
create mode 100644 docs/remote-access/cloudflare-domain-management.md
create mode 100644 docs/remote-access/cloudflare-zero-trust.md
create mode 100644 docs/remote-access/ddns-updater.md
create mode 100644 docs/remote-access/heimdall.md
create mode 100644 docs/remote-access/nginx-reverse-proxy.md
create mode 100644 docs/remote-access/secure-web-app-gateway.md
diff --git a/docs/configuration/authelia.md b/docs/configuration/authelia.md
deleted file mode 100644
index 3de3ba1..0000000
--- a/docs/configuration/authelia.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Authelia - Authentication and Authorisation Server
-
-Authelia is an open-source authentication and authorization server and portal fulfilling the identity and access management (IAM) role of information security in providing multi-factor authentication and single sign-on (SSO) for your applications via a web portal. We will integrate it into the SWAG Nginx Reverse Proxy to manage remote secure access into your home media stack network.
-
-## Heading One
-
-!!! Danger "Warning: Page Under Development"
-
- This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
-
-
-
-Basic intro to Docker... embed Docker intro video etc..
-
-Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
-
-
-## Heading Two
-
-## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/cloudflare-domain-management.md b/docs/configuration/cloudflare-domain-management.md
deleted file mode 100644
index 5f72a58..0000000
--- a/docs/configuration/cloudflare-domain-management.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Cloudflare - Domain Management
-
-## Heading One
-
-!!! Danger "Warning: Page Under Development"
-
- This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
-
-
-
-Basic intro to Docker... embed Docker intro video etc..
-
-Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
-
-
-## Heading Two
-
-## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/cloudflare-zero-trust.md b/docs/configuration/cloudflare-zero-trust.md
deleted file mode 100644
index 46d2110..0000000
--- a/docs/configuration/cloudflare-zero-trust.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Cloudflare - Zero Trust Network Access
-
-## Heading One
-
-!!! Danger "Warning: Page Under Development"
-
- This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
-
-
-
-Basic intro to Docker... embed Docker intro video etc..
-
-Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
-
-
-## Heading Two
-
-## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/ddns-updater.md b/docs/configuration/ddns-updater.md
deleted file mode 100644
index acb6bb2..0000000
--- a/docs/configuration/ddns-updater.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# DDNS-Updater - Keep Dynamic IP / DNS Mappings Updated
-
-## Heading One
-
-!!! Danger "Warning: Page Under Development"
-
- This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
-
-
-
-Basic intro to Docker... embed Docker intro video etc..
-
-Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
-
-
-## Heading Two
-
-## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/gluetun.md b/docs/configuration/gluetun.md
index 1bc5be2..93b5181 100644
--- a/docs/configuration/gluetun.md
+++ b/docs/configuration/gluetun.md
@@ -15,4 +15,10 @@ Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other
## Heading Two
-## Heading Three
\ No newline at end of file
+## Heading Three
+
+The Gluetun docker container will establish a secure VPN tunnel to your choice of VPN service provider, and then it will force all of the other docker applications in the stack to use the VPN tunnel, if they need to communicate out to the Internet. If Gluetun drops the VPN tunnel at any time, for any reason, then all Internet traffic between the docker applications and the Internet are blocked until the VPN connection is re-established. This provides encrypted security to all data transfers, and assurance that unencrypted data will not be sent if there is a network error.
+
+All local data traffic between the applications in the docker stack, use the basic HTTP / unencrypted protocol, as the data in not going out to the Internet. This saves a considerable amount of configuration of digital certificates on portals / data traffic which will only be used internally.
+
+**NOTE:** All network traffic going in and out of the **DOCKER\_SUBNET** goes through the Gluetun security container. Some guides advise to only secure the network traffic for the download clients, this guide takes a more secure approach and secures ALL network going out to the Internet.
\ No newline at end of file
diff --git a/docs/configuration/heimdall.md b/docs/configuration/heimdall.md
deleted file mode 100644
index c780abd..0000000
--- a/docs/configuration/heimdall.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Heimdall - Website Link Manager
-
-## Heading One
-
-!!! Danger "Warning: Page Under Development"
-
- This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
-
-
-
-Basic intro to Docker... embed Docker intro video etc..
-
-Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
-
-
-## Heading Two
-
-## Heading Three
\ No newline at end of file
diff --git a/docs/configuration/jellyfin.md b/docs/configuration/jellyfin.md
index 2beb05f..6191a86 100644
--- a/docs/configuration/jellyfin.md
+++ b/docs/configuration/jellyfin.md
@@ -15,4 +15,331 @@ Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other
## Heading Two
-## Heading Three
\ No newline at end of file
+## Heading Three
+
+
+
+
+
+\#### Configuring Jellyfin to access all Media Libraries
+
+Firstly, head over and set up accounts at Fanart and Opensubtitles, so you can enrich your Jellyfin media content. Once you have accounts, you'll need to copy the API Key from each of your account profiles
+[https://fanart.tv](https://fanart.tv/)
+[https://opensubtitles.com](https://opensubtitles.com/) (opensubtitles.org and opensubtitles.com are the same, but .com is the newer site for accounts)
+
+
+
+* Head over to Jellyfin at [http://localhost:8096](http://localhost:8096/) where you will be welcomed to Jellyfin, choose your desired language and select "Next".
+* Create a username / password for the first user account (it will become the admin account) - you can have a blank password if you desire - Select "Next".
+* DO NOT ADD MEDIA at this time, select "Next", as we want to set up Fanart and other plugins first.
+* Select your Metadata Language and Country and select "Next".
+* Set up remote access: Remote connections (Ticked), Enable port mapping (No / Unticked) - Select "Next", the "Finsh".
+* You'll be presented with a signin page, use the username / password entered previously.
+
+
+Press the hamburger icon (3 lines) in top left corner to open the menu, then select "Dashboard", go down the bottom of the menu and open "Plugins", the select "Repositories" up the top, and add the following:
+
+Repository Name: Daniel Adov
+Repository URL: [https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json](https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json)
+
+Using the "Plugins" -- "Catalogue" menu, add the following plugins to your Jellyfin instance:
+
+
+* AniDB
+* AniList
+* Fanart
+* Merge Versions
+* Open Subtitles
+* Playback Reporting
+* Reports
+* Skin Manager
+* TMDb Box Sets
+* Tvmaze
+* TheTVDB
+
+
+These plugins should already be installed by default:
+
+
+* AudioDB
+* MusicBrainz - Installed by default
+* OMDb - Installed by default
+* Studio Images
+* TMDb
+
+
+Now that all of the plugins have been installed, go to Docker / Portainer, select the Jellyfin container and restart it. Then come back to Jellyfin config.
+
+Open the hamburger menu in top left corner again and then select "Dashboard", go down the bottom of the menu and open "Plugins", and configure the following plugins:
+
+
+* AniDB - Defaults
+* AniList - Defaults
+* Fanart - Add "Personal API Key" from your Fanart.tv account, and save.
+* Merge Versions - Defaults
+* Open Subtitles - Add Username / Password / API Key from your OpenSubtitles.com account, and save.
+* Playback Reporting - Defaults
+* Reports - Defaults
+* Skin Manager - Select a skin of your choosing, however further customisation is outside the scope of this guide.
+* TMDb - Include adult content (Optional), Import season name (Ticked), Max Cast Members (25), Image Scaling (Optional), and save.
+* TMDb Box Sets - Defaults
+* Tvmaze - Nil
+* TheTVDB - If there is no API Key pre-installed, you will need to register at [https://TheTVDB.com](https://thetvdb.com/) to obtain one.
+
+
+"Playback" -- "Transcoding"
+Depending on the computer / NAS you are running Docker / Jellyfin, its possible to use hardware acceleration for transcoding - this configuration has been set up to map /dev/dri from the docker container to the host, so it will work, but will be dependent upon your personal hardware configuration. You will need to seek further advise from the Jellyfin community at Reddit / Discord / Youtube on settings for your hardware.
+
+Refer: [Hardware Acceleration | Jellyfin](https://jellyfin.org/docs/general/administration/hardware-acceleration/)
+DLNA (Digital Living Network Alliance): As this guide and configuration is built around a secure contained network for the entire media docker stack, the ports and services needed to support DLNA have not been mapped and exposed to the host network. The docker configuration can be customised to allow for DLNA, however it is outside the scope of this starter guide. So these settings won't work unless the docker-compose is reconfigured by yourself.
+
+"Libraries" -- "Display"
+Date added behavior for new content: change to "Use date scanned into library".
+
+"Libraries" -- "Metadata"
+Select your language and country prior to setting up libraries and importing metadata.
+
+
+\## Adding Movie Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Movies
+Display Name: Movies
+Folders: Add - /data/media/movies
+Preferred Language: Personal Choice
+Country: Personal Choice, however it is linked to media ratings on IMDB, and will allow restrictions to children and other users depending on the content you have in the library.
+
+Enable real time monitoring: Ticked
+
+Order for Metadata Downloaders:
+
+* TheMovieDB
+* The Open Movie Database
+* AniList
+* AniDB
+
+Automatically refresh metadata from the internet: Never
+
+Order for Image Fetchers:
+
+* Fanart
+* TheMovieDB
+* The Open Movie Database
+* AniList
+* AniDB
+* Embedded Image Extractor (should be first for dedicated libraries with home video recordings / personal media)
+* Screen Grabber (should be second for dedicated libraries with home video recordings / personal media)
+
+Subtitle Downloads
+
+* Language: Personal Choice
+* Subtitle Downloaders - Open Subtitles: Ticked (Disable for libraries with dedicated home video recordings / personal media)
+
+
+NOTE: If you choose to use an adult movie library, use the same process as above to set up a new / separate adult library, so access to be restricted to certain user accounts.
+
+\## Adding Music Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Music
+Display Name: Music
+Folders: Add - /data/media/music
+Preferred Language: Personal Choice
+Country: Personal Choice, however it is linked to media ratings on OMDB, and will allow restricting content to other users.
+
+Enable real time monitoring: Ticked
+
+Order for Metadata Downloaders (Artists):
+
+*
+
+* MusicBrainz
+*
+
+* TheAudioDB
+
+
+Order for Metadata Downloaders (Albums):
+
+*
+
+* MusicBrainz
+*
+
+* TheAudioDB
+
+
+Order for Image Fetchers (Artists):
+
+*
+
+* Fanart
+*
+
+* TheAudioDB
+
+
+Order for Image Fetchers (Albums):
+
+*
+
+* Fanart
+*
+
+* TheAudioDB
+
+
+Automatically refresh metadata from the internet: Never
+
+Order for Image Fetchers (Music Videos):
+
+*
+
+* Fanart
+*
+
+* Embedded Image Extractor
+*
+
+* Screen Grabber
+
+
+Save artwork into media folders: Ticked
+
+
+\## Adding TV Shows / Series Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Shows
+Display Name: Series
+Folders: Add - /data/media/series
+Preferred Language: Personal Choice
+Country: Personal Choice, however it is linked to the media rating on IMDB,
+and will allow restrictions to children and other users depending on the categorisation you allow other users to access.
+
+Enable real time monitoring: Ticked
+
+Order for Metadata Downloaders (TV Shows):
+
+*
+
+* TheTVDB
+*
+
+* Tvmaze
+*
+
+* AniList
+*
+
+* AniDB
+*
+
+* TheMovieDB
+*
+
+* The Open Movie Database
+*
+
+* Missing Episode Fetcher
+
+
+Order for Metadata Downloaders (Seasons):
+
+*
+
+* TheTVDB
+*
+
+* AniDB
+*
+
+* TheMovieDB
+
+
+
+Order for Metadata Downloaders (Episodes):
+
+*
+
+* TheTVDB
+*
+
+* Tvmaze
+*
+
+* AniDB
+*
+
+* TheMovieDB
+*
+
+* The Open Movie Database
+
+
+Automatically refresh metadata from the internet: Never
+
+Order for Image Fetchers (TV Shows):
+
+* Fanart
+* TVmaze
+* TheTVDB
+* AniDB
+* AniList
+* TheMovieDB
+
+Order for Image Fetchers (Seasons):
+
+* Fanart
+* TVmaze
+* TheTVDB
+* AniDB
+* AniList
+* TheMovieDB
+
+
+Order for Image Fetchers (Episodes):
+
+* TVmaze
+* TheTVDB
+* TheMovieDB
+* The Open Movie Database
+* Embedded Image Extractor
+* Screen Grabber
+
+Subtitle Downloads
+
+* Language: Personal Choice
+* Subtitle Downloaders - Open Subtitles: Ticked (Disable for libraries with dedicated home video recordings / personal media)
+
+
+\## Adding Books Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Books
+Display Name: Books
+Folders: Add - /data/media/books
+
+Enable real time monitoring: Ticked
+
+
+\## Adding Comic / Manga Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Books
+Display Name: Comics
+Folders: Add - /data/media/comics
+
+Enable real time monitoring: Ticked
+
+
+\## Adding Photo Content
+"Libraries" -- "Libraries" and select "Add Media Library"
+Content Type: Photos
+Display Name: Photos
+Folders: Add - /data/media/photos
+
+Enable real time monitoring: Ticked
+
+Order for Image Fetchers (Videos):
+
+* Embedded Image Extractor
+* Screen Grabber
+
+
+
\ No newline at end of file
diff --git a/docs/configuration/jellyseerr.md b/docs/configuration/jellyseerr.md
index 17cf018..4b4d2dd 100644
--- a/docs/configuration/jellyseerr.md
+++ b/docs/configuration/jellyseerr.md
@@ -15,4 +15,160 @@ Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other
## Heading Two
-## Heading Three
\ No newline at end of file
+## Heading Three
+
+
+
+
+
+
+
+PART 11 - Configuring Jellyseerr
+
+
+[http://localhost:5055](http://localhost:5055) jellyseerr
+
+
+
+When you open Jellyseer for the first time, you'll be asked to sign in… select "Use your Jellyfin Account", and enter the details from your Jellyfin server in order to link it to Jellyseerr.
+
+Jellyfin URL: [http://localhost:8096](http://localhost:8096)
+Email Address: The email address is only used if you want to set up notifications when media has been downloaded, however it is a mandatory field.
+Username: Same username as Jellyfin
+Password: Same password as Jellyfin
+
+After connecting Jellyseerr to Jellyfin, you will need to synchronise the libraries between the two applications.
+
+Select "Sync Libraries", then use the slide toggle to select "Movies" and "Series", However…. DO NOT PRESS "START SCAN", skip the library scan and go straight to "Continue".
+
+**NOTE**: We skip the library scan on initial setup as it can take quite a while to scan the libraries, it is also dependant on Jellyfin having its libraries fully scanned and up to date, so it will be better to scan the libraries after all the configurations are completed.
+
+NOTE: Adult Content - Jellyseerr does not manage Adult content requests, so if you are using Whisparr, the library will appear in "Jellyfin Libraries", however there is no need to activate it for syncing. If the library exists in Jellyfin, it will be seen in Jellyseerr, you just don't need to enable it.
+
+
+Radarr Settings:
+
+Setting up non-4K defaults
+
+Select "Add Radarr Server"
+Default Server: Yes
+4K Server: No
+Server Name: Radarr - FHD 1080P
+Hostname of IP Address: localhost
+Port: 7878
+Use SSL: No
+API Key: Can be found in Radarr application on "Settings" -- "General" page.
+[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
+URL Base: Empty
+Quality Profile: HD-1080p
+Root Folder: /data/media/movies
+Minimum Availability: Released
+Tags: Empty
+External URL: [http://media-server:7878](http://media-server:7878) (Radarr's network address, used in links when sending email notifications)
+Enable Scan: Yes
+Enable Automatic Search: Yes
+
+Test and Save.
+
+Setting up 4K defaults
+Default Server: Yes
+4K Server: Yes
+Server Name: Radarr - UHD 4K
+Hostname of IP Address: localhost
+Port: 7878
+Use SSL: No
+API Key: Can be found in Radarr application on "Settings" -- "General" page.
+[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
+URL Base: Empty
+Quality Profile: Ultra-HD
+Root Folder: /data/media/movies
+Minimum Availability: Released
+Tags: Empty
+External URL: [http://media-server:7878](http://media-server:7878) (Radarr's network address, used in links when sending email notifications)
+Enable Scan: Yes
+Enable Automatic Search: Yes
+
+Test and Save.
+
+
+Sonarr Settings:
+
+Setting up non-4K defaults
+
+Select "Add Sonarr Server"
+Default Server: Yes
+4K Server: No
+Server Name: Sonarr - FHD 1080P
+Hostname of IP Address: localhost
+Port: 8989
+Use SSL: No
+API Key: Can be found in Radarr application on "Settings" -- "General" page.
+[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
+URL Base: Empty
+Quality Profile: HD-1080p
+Root Folder: /data/media/series
+Language Profile: **\* Personal Choice \***
+Tags: Empty
+URL Base: Empty
+Anime Quality Profile: HD-1080p
+Anime Root Folder: /data/media/anime
+Anime Language Profile: **\* Personal Choice \***
+Anime Tags: Empty
+Season Folders: Yes
+External URL: [http://media-server:8989](http://media-server:8989) (Sonarr's network address, used in links when sending email notifications)
+Enable Scan: Yes
+Enable Automatic Search: Yes
+
+Test and Save.
+
+
+
+
+Setting up 4K defaults
+
+Select "Add Sonarr Server"
+Default Server: Yes
+4K Server: No
+Server Name: Sonarr - UHD 4K
+Hostname of IP Address: localhost
+Port: 8989
+Use SSL: No
+API Key: Can be found in Radarr application on "Settings" -- "General" page.
+[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
+URL Base: Empty
+Quality Profile: Ultra-HD
+Root Folder: /data/media/series
+Language Profile: **\* Personal Choice \***
+Tags: Empty
+URL Base: Empty
+Anime Quality Profile: Ultra-4K
+Anime Root Folder: /data/media/anime
+Anime Language Profile: **\* Personal Choice \***
+Anime Tags: Empty
+Season Folders: Yes
+External URL: [http://media-server:8989](http://media-server:8989) (Sonarr's network address, used in links when sending email notifications)
+Enable Scan: Yes
+Enable Automatic Search: Yes
+
+Test and Save.
+
+
+After adding the connectors to Radarr and Sonarr, Jellyseerr will be fully functional, however we want to do some additional configurations before importing users and media information from Jellyfin.
+
+Go to "Settings" -- "General" and make any changes to region and language as needed.
+
+
+Go to "Settings" -- "Users" and make any changes for users, you may want to change the default permissions assigned to new users.
+
+If you want to allow all users to automatically request, approve and download any media type and quality up to 1080P, then you would select "Request", "Auto-Approved", and "Auto-Request". You can select additional permissions and allow automated 4K requests, however the data will quickly add up on the server if is it not controlled, so grant this privilege with due care.
+
+NOTE: These privileges / permissions are applied when new accounts are created or imported from Jellyfin, they do not effect existing user accounts.
+
+
+Go to "Settings" -- "Jellyfin" and select "Start Scan" to commence scanning the Jellyfin libraries for all media.
+
+Go to "Settings" -- "Notifications", you can add any email server settings or integrations if you want to get notifications on the status of your media requests.
+
+Go to the "Users" menu, and you can now create local users, or "Import Jellyfin Users" (preferred). The new users will be granted the privileges / permissions which we set up earlier.
+
+
diff --git a/docs/configuration/qbittorrent.md b/docs/configuration/qbittorrent.md
index 847e6b3..3eef446 100644
--- a/docs/configuration/qbittorrent.md
+++ b/docs/configuration/qbittorrent.md
@@ -18,3 +18,177 @@ Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other
## Heading Two
## Heading Three
+
+
+
+**NOTE: If the qBittorrent portal fails to load with an error message**, it may be due to the themepark module, this can be resolved by editing "FOLDER_FOR_CONFIGS/qbittorrent/qBittorrent/qBittorrent.conf" and changing "WebUI\AlternativeUIEnabled=true" to "false" and restarting qBittorrent.
+
+
+
+
+**PART 7 - Configuring Your Torrent / NZB Download Clients
+
+
+Validating The Security of Your VPN Network Connection:**
+
+As the Gluetun container is providing full VPN encryption for the entire Docker stack, its important to first check the VPN is providing obscurity for your Internet connection.
+
+From any computer in your network, you will be able to see what the IP Address for your Internet connection is by going to [ifconfig.io](http://ifconfig.io)
+
+Now open Portainer, and go to the Transmission and NZBGet containers and connect to "Console", then type the following into the terminal window:
+
+
+Code:
+
+ curl ifconfig.io
+
+
+This will show the IP Address being used by your Transmission and NZBGet containers, which is being provided by the Gluetun VPN connection.
+
+You can check the location of the IP Address at [IP Location](https://iplocation.com)
+
+**NOTE:** If the Gluetun container is not running, or does not have an active VPN connection, then no traffic from the other containers (Transmission / NZBGet etc…) will be allowed to go out to the Internet; it is all blocked unless a secure VPN tunnel is active.
+
+**NOTE:** If you are using an active VPN account and are not able to secure a VPN connection, you should seek assistance before progressing. Synology users may need to check VPN / TUN prerequisite details in this article, and seek guidance from the Synology community: [Synology prerequisites · qdm12/gluetun Wiki](https://github.com/qdm12/gluetun/wiki/Synology-prerequisites)
+
+
+**Transmission - Torrent Download Client:**
+
+Transmission connects to trackers, seeders and peers in the torrent network in order to access content which has been uploaded to torrent groups.
+
+1\. Open Transmissions Portal: [http://localhost:9091](http://localhost:9091)
+
+2\. Press the "Spanner" icon in the bottom left corner to open "Preferences Menu"
+
+3\. Torrents Tab - Downloading to… Change this to: **/data/torrents**
+
+4\. You can adjust Torrent, Speed, Peer, and Network settings in this section. Only adjust these if you know what you're doing. Don't change the download path or peering port, as these a relative to the Transmission Docker container, not your local file or network settings - adjust these in the ENV docker-compose file.
+
+5\. If you need to manually download torrent files, they can be placed into your **FOLDER\_FOR\_WATCH** folder, and Transmission will start to download the file.
+
+6\. Completed manual file downloads will be placed into **FOLDER\_FOR\_TORRENT** folder.
+
+
+**NZBGet - Usenet Download Client:**
+
+1\. Open NZBGet Portal: [http://localhost:6789](http://localhost:6789)
+
+* Default Username: nzbget
+* Default Password: tegbzn6789
+
+2\. Go to the Settings page: [http://localhost:6789/#ConfigTab](http://localhost:6789/#ConfigTab)
+
+3\. "PATHS" menu, change these paths only:
+
+* MainDir: /data/usenet
+* DestDir: /data/usenet
+* NzbDir: /data/watch
+
+
+4\. "NEWS-SERVERS" menu: Use this page to configure all your Usenet News Servers - Gaining access to Usenet News Servers is out of scope for this guide - sorry.
+
+5\. "SECURITY" menu: Leave these as default. However, you can empty both ControlUsername and ControlPassword fields if you want to remove username and password prompts each time you access the NZBGet portal.
+
+6\. "CATEGORIES" menu: DELETE ALL THE DEFAULT CATEGORIES
+
+7\. Add the following new category names, destdirs, and aliases for each of the "ARR" applications:
+
+**NOTE:** They must be in LOWERCASE only.
+
+
+
+**ARE THESE THE CORRECT CATEGORIES FOR STARTERS?
+
+ARE THE CATEGORY ALIASES ALLOCATED CORRECTLY?**
+
+
+
+
+
+Category.Name:
+
+Category.DestDir
+
+Category.Aliases
+
+adult
+
+adult
+
+xxx,\*hentai
+
+anime
+
+anime
+
+audio
+
+audio
+
+audible
+
+books
+
+books
+
+epub
+
+comics
+
+comics
+
+manga
+
+movies
+
+movies
+
+music
+
+music
+
+podcasts
+
+podcasts
+
+prowlarr
+
+prowlarr
+
+series
+
+series
+
+tv\*
+
+software
+
+software
+
+console,pc
+
+
+**NOTE:** You should now have 11 categories.... all in lowercase.
+
+8\. "RSS FEEDS" menu: Leave these as default
+
+9\. "INCOMING NZBS" menu: Change "NzbDirFileAge" to 5 seconds
+
+11\. "DOWNLOAD QUEUE" menu: Leave these as default
+
+12\. "CONNECTION" menu: Leave these as default
+
+13\. "LOGGING" menu: Leave these as default
+
+14\. "SCHEDULER" menu: Leave these as default
+
+15\. "CHECK AND REPAIR" menu: Leave these as default
+
+16\. "UNPACK" menu: Leave these as default
+
+17\. "EXTENSION SCRIPTS" menu: Leave these as default
+
+18\. Save all your changes and allow NZBGet to restart
+
+
+.
diff --git a/docs/configuration/sabnzbd.md b/docs/configuration/sabnzbd.md
index 537b954..696124f 100644
--- a/docs/configuration/sabnzbd.md
+++ b/docs/configuration/sabnzbd.md
@@ -16,3 +16,173 @@ Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other
## Heading Two
## Heading Three
+
+
+
+
+**PART 7 - Configuring Your Torrent / NZB Download Clients
+
+
+Validating The Security of Your VPN Network Connection:**
+
+As the Gluetun container is providing full VPN encryption for the entire Docker stack, its important to first check the VPN is providing obscurity for your Internet connection.
+
+From any computer in your network, you will be able to see what the IP Address for your Internet connection is by going to [ifconfig.io](http://ifconfig.io)
+
+Now open Portainer, and go to the Transmission and NZBGet containers and connect to "Console", then type the following into the terminal window:
+
+
+Code:
+
+ curl ifconfig.io
+
+
+This will show the IP Address being used by your Transmission and NZBGet containers, which is being provided by the Gluetun VPN connection.
+
+You can check the location of the IP Address at [IP Location](https://iplocation.com)
+
+**NOTE:** If the Gluetun container is not running, or does not have an active VPN connection, then no traffic from the other containers (Transmission / NZBGet etc…) will be allowed to go out to the Internet; it is all blocked unless a secure VPN tunnel is active.
+
+**NOTE:** If you are using an active VPN account and are not able to secure a VPN connection, you should seek assistance before progressing. Synology users may need to check VPN / TUN prerequisite details in this article, and seek guidance from the Synology community: [Synology prerequisites · qdm12/gluetun Wiki](https://github.com/qdm12/gluetun/wiki/Synology-prerequisites)
+
+
+**Transmission - Torrent Download Client:**
+
+Transmission connects to trackers, seeders and peers in the torrent network in order to access content which has been uploaded to torrent groups.
+
+1\. Open Transmissions Portal: [http://localhost:9091](http://localhost:9091)
+
+2\. Press the "Spanner" icon in the bottom left corner to open "Preferences Menu"
+
+3\. Torrents Tab - Downloading to… Change this to: **/data/torrents**
+
+4\. You can adjust Torrent, Speed, Peer, and Network settings in this section. Only adjust these if you know what you're doing. Don't change the download path or peering port, as these a relative to the Transmission Docker container, not your local file or network settings - adjust these in the ENV docker-compose file.
+
+5\. If you need to manually download torrent files, they can be placed into your **FOLDER\_FOR\_WATCH** folder, and Transmission will start to download the file.
+
+6\. Completed manual file downloads will be placed into **FOLDER\_FOR\_TORRENT** folder.
+
+
+**NZBGet - Usenet Download Client:**
+
+1\. Open NZBGet Portal: [http://localhost:6789](http://localhost:6789)
+
+* Default Username: nzbget
+* Default Password: tegbzn6789
+
+2\. Go to the Settings page: [http://localhost:6789/#ConfigTab](http://localhost:6789/#ConfigTab)
+
+3\. "PATHS" menu, change these paths only:
+
+* MainDir: /data/usenet
+* DestDir: /data/usenet
+* NzbDir: /data/watch
+
+
+4\. "NEWS-SERVERS" menu: Use this page to configure all your Usenet News Servers - Gaining access to Usenet News Servers is out of scope for this guide - sorry.
+
+5\. "SECURITY" menu: Leave these as default. However, you can empty both ControlUsername and ControlPassword fields if you want to remove username and password prompts each time you access the NZBGet portal.
+
+6\. "CATEGORIES" menu: DELETE ALL THE DEFAULT CATEGORIES
+
+7\. Add the following new category names, destdirs, and aliases for each of the "ARR" applications:
+
+**NOTE:** They must be in LOWERCASE only.
+
+
+
+**ARE THESE THE CORRECT CATEGORIES FOR STARTERS?
+
+ARE THE CATEGORY ALIASES ALLOCATED CORRECTLY?**
+
+
+
+
+
+Category.Name:
+
+Category.DestDir
+
+Category.Aliases
+
+adult
+
+adult
+
+xxx,\*hentai
+
+anime
+
+anime
+
+audio
+
+audio
+
+audible
+
+books
+
+books
+
+epub
+
+comics
+
+comics
+
+manga
+
+movies
+
+movies
+
+music
+
+music
+
+podcasts
+
+podcasts
+
+prowlarr
+
+prowlarr
+
+series
+
+series
+
+tv\*
+
+software
+
+software
+
+console,pc
+
+
+**NOTE:** You should now have 11 categories.... all in lowercase.
+
+8\. "RSS FEEDS" menu: Leave these as default
+
+9\. "INCOMING NZBS" menu: Change "NzbDirFileAge" to 5 seconds
+
+11\. "DOWNLOAD QUEUE" menu: Leave these as default
+
+12\. "CONNECTION" menu: Leave these as default
+
+13\. "LOGGING" menu: Leave these as default
+
+14\. "SCHEDULER" menu: Leave these as default
+
+15\. "CHECK AND REPAIR" menu: Leave these as default
+
+16\. "UNPACK" menu: Leave these as default
+
+17\. "EXTENSION SCRIPTS" menu: Leave these as default
+
+18\. Save all your changes and allow NZBGet to restart
+
+
+.
\ No newline at end of file
diff --git a/docs/configuration/secure-web-app-gateway.md b/docs/configuration/secure-web-app-gateway.md
deleted file mode 100644
index 3a9ce80..0000000
--- a/docs/configuration/secure-web-app-gateway.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# SWAG - Secure Web Application Gateway
-
-## Heading One
-
-!!! Danger "Warning: Page Under Development"
-
- This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
-
-
-
-Basic intro to Docker... embed Docker intro video etc..
-
-Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
-
-
-## Heading Two
-
-## Heading Three
diff --git a/docs/help/1.md b/docs/help/1.md
index daa932d..fd21a16 100644
--- a/docs/help/1.md
+++ b/docs/help/1.md
@@ -1,815 +1,3 @@
+!!! Success "Warning: Page Under Development"
-## Heading One
-
-!!! Danger "Warning: Page Under Development"
-
- This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
-
-
-
-Basic intro to Docker... embed Docker intro video etc..
-
-Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
-
-
-## Heading Two
-
-## Heading Three
-
-
-**PART 1 - Introduction**
-
-Set up a full VPN encrypted Jellyfin, Jellyseerr, NZBGet, Transmission and \*ARR media stack using this docker-compose guide in approximately 30 - 60 minutes, on Linux, Windows or Synology NAS, and potentially more Docker enabled environments.
-
-This guide will cover all the steps needed to initially install and configure a secure docker hosted media environment, with all the applications needed to download torrents and Usenet content which you have a right to use in your media library, and allow you to stream the media via a simple web browser, and even stream the media to your Smart TV / Apple TV apps around the house.
-
-This guide ensures all network traffic is securely hidden using a VPN, and encrypting ALL traffic in / out of your home network. It can also be used on your Synology NAS, or any other Linux / Windows / MacOS machine running the Docker environment.
-
-With many people owning CDs, DVD, and Blu-ray disks, there is demand to make people's media content more transferrable in their home media systems, so it can be viewed on their personal devices. People also want to be able to put their own home movies / photos onto their media servers, so it too can be freely shared between their devices.
-
-**NOTE:** This guide is not about, nor promotes, the illegal piracy of digital media content from their respected / licensed owners.
-
-**NOTE:** It is highly recommended not adding any of your own media files or libraries into the Docker folders / applications, until after setting up the entire media stack, then you can add your media in a structured manner.
-
-**TLDR - Short Version For Those People That Really Really Know What They're Doing:**
-
-1. [Download Docker Compose Media Stack - YAML file](https://github.com/geekau/media-stack/blob/main/docker-compose-media-stack.yaml)
-2. [Download Docker Compose Media Stack - Environment file](https://github.com/geekau/media-stack/blob/main/docker-compose-media-stack.env)
-3. Update ENV file with docker / local subnet details
-4. Update ENV file with local host folder details
-5. Update ENV file with PUID / PGID / TZ detail
-6. Update ENV file with VPN details
-7. Setup subfolders for apps / categories - commands below
-8. Deploy docker-compose file
-9. Configure applications as needed
-10. Come back to this guide because you missed something ![:)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 "Smile :)")
-
-For those that are not super gurus and fully understand all of these applications already, continue with the rest of the guide.
-
-
-
-**PART 2 - Docker Media Applications and Their Roles / Functions**
-
-This guide will focus on Jellyfin and the \*ARR media libraries in order to manage your media libraries and make your media accessible across your home network and devices.
-
-The Gluetun docker container will establish a secure VPN tunnel to your choice of VPN service provider, and then it will force all of the other docker applications in the stack to use the VPN tunnel, if they need to communicate out to the Internet. If Gluetun drops the VPN tunnel at any time, for any reason, then all Internet traffic between the docker applications and the Internet are blocked until the VPN connection is re-established. This provides encrypted security to all data transfers, and assurance that unencrypted data will not be sent if there is a network error.
-
-All local data traffic between the applications in the docker stack, use the basic HTTP / unencrypted protocol, as the data in not going out to the Internet. This saves a considerable amount of configuration of digital certificates on portals / data traffic which will only be used internally.
-
-**NOTE:** All network traffic going in and out of the **DOCKER\_SUBNET** goes through the Gluetun security container. Some guides advise to only secure the network traffic for the download clients, this guide takes a more secure approach and secures ALL network going out to the Internet.
-
-The table below shows the docker applications which will be installed, their default port numbers and what function they perform:
-
-
-
-Portal URL:
-
-Application:
-
-Role / Function:
-
-No Portal -->
-
-Gluetun
-
-VPN Client - Supports extensive Internet providers and protocols
-
-[http://localhost:6789](http://localhost:6789)
-
-NZBGet
-
-Download client - Used to download NZB from Usenet groups
-
-[http://localhost:9091](http://localhost:9091)
-
-Transmission
-
-Download Client - Used to download torrent files
-
-[http://localhost:8096](http://localhost:8096)
-
-Jellyfin
-
-Media Library / Player - Organise, manage, and share digital media files to networked devices
-
-[http://localhost:5055](http://localhost:5055)
-
-Jellyseerr
-
-Request management and media discovery tool (Overseerr Fork for Jellyfin)
-
-[http://localhost:9696](http://localhost:9696)
-
-Prowlarr
-
-Index and Search Management for "\*ARR" applications below
-
-[http://localhost:8686](http://localhost:8686)
-
-Lidarr
-
-Library Manager for Music content management
-
-[http://localhost:8090](http://localhost:8090)
-
-Mylar3
-
-Library Manager for Comic content management
-
-[http://localhost:7878](http://localhost:7878)
-
-Radarr
-
-Library Manager for Movie content management
-
-[http://localhost:8787](http://localhost:8787)
-
-Readarr
-
-Library Manager for Book / Epub content management
-
-[http://localhost:8989](http://localhost:8989)
-
-Sonarr
-
-Library Manager for TV Show / Series / Anime content management
-
-[http://localhost:6969](http://localhost:6969)
-
-Whisparr
-(see note)
-
-Library Manager for Adult movie content management
-
-
-**NOTE:** This guide also includes Whisparr which is a Library Manager for movies from the Adult entertainment industry. It is included as its part of the \*ARR product family, we don't judge what people do / don't watch, but we do urge the use of access controls / security on adult content, so minors and other groups are not exposed to this content if they are not of legal age under your regional laws.
-
-In order to deploy the docker-compose file and host the applications, Docker must be installed as a prerequisite on your Linux, Windows, or Synology hosting environment. The following guide will help set up your Docker environment, and help manage the applications once they are installed:
-
-[Tutorial - Ultimate Starter - Docker, Portainer, Portainer Agents, and Auto-Updating Everything with Watchtower](https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/)
-
-**NOTE:** This guide assumes you have installed Docker, and Portainer for managing your docker environment.
-
-
-
-**PART 3 - Configuring the Docker-Compose Environment Settings**
-
-This implementation will use a docker-compose configuration file and an accompanying environment file, containing all of the variables for the docker-compose file, so it can be customised to your individual requirements. This allows complex docker builds to be rapidly deployed over and over with relative ease, and minimal input. In fact, it is quicker and easier to delete all of the docker applications and redeploy it again, rather than trying to do any fault finding when errors occur. It is also a simply way to upgrade application versions, by deleting the entire docker stack, and redeploying again using updated images.
-
-[**Download Docker Compose Media Stack - Yaml file**](https://github.com/geekau/media-stack/blob/main/docker-compose-media-stack.yaml)
-[**Download Docker Compose Media Stack - Environment file**](https://github.com/geekau/media-stack/blob/main/docker-compose-media-stack.env)
-
-Below are some of the planning details / settings you need to consider, which are located inside the Environment File - they should be updated to suit your needs.
-
-**Define Docker Stack and Local Network Details:**
-
-You can change the subnet / gateway of the network inside docker where these applications will be deployed, if you are not experienced with docker, then leave the subnet / gateway settings alone.
-
-Put your internal home network details into the **LOCAL\_SUBNET** variable, this will tell the VPN client to allow local computers on this network, they are allowed to access each of the applications inside the secure docker stack.
-
-**DOCKER\_SUBNET**\=172.28.10.0/24
-**DOCKER\_GATEWAY**\=172.28.10.1
-**LOCAL\_SUBNET**\=192.168.1.0/24 <-- your local / home network subnet details here
-
-Once the docker stack has been created and the VPN connection established, Gluetun also allows all computers on the local network, to piggy back off the VPN connection and send all web traffic from your local computer through the secure tunnel. You can change your web proxy to the IP address of your Docker host, using port 8888. A point to remember, if your Docker stack is disabled / turned off, then your web browsers will stop working until you restart the Docker host / stack, or remove the proxy setting in your web browsers.
-
-**Set up VPN Connection for Entire Docker Stack:**
-
-Its a mandatory requirement you have an active VPN connection, otherwise Gluetun will not establish a VPN tunnel, and there will be no data forwarded to the Internet for the entire docker stack.
-
-A full list of supported VPN / Wireguard providers can be found on the Gluetun wiki on the right hand side menu: [Home · qdm12/gluetun Wiki](https://github.com/qdm12/gluetun/wiki)
-
-Gluetun also supports custom VPN configurations if you have alternate VPN setups, the docker-compose file has the necessary variables if you need to set up a custom VPN connection, including Wireguard.
-
-**VPN\_SERVICE\_PROVIDER**\=VPN provider name
-**VPN\_USERNAME**\=
-**VPN\_PASSWORD**\=
-**SERVER\_REGION**\=
-
-**Main Folders For Media and Docker Persistent Configurations:**
-
-This is the most important component of your media server, were data is going to be stored, and how all the different Docker applications are going to access the different media / configuration files.
-
-When you set up folders / volumes on the host computer, you need to map them in the Docker configuration, so the applications can access the data. The docker-compose file has already set up all the correct folder mappings between the host computer and docker applications by using environment variables in the YAML file, however you will need to update the variables below so the the docker-compose build knows which folders to map.
-
-When considering media storage, you also need to consider files are going to be downloaded by the Docker applications and moved between folders, which are actually being moved by the underlaying host computer. So you need to consider what happens when moving a 10GB file between two folders inside different Docker applications, may in fact be getting transferred to different HDDs / Filesystems / Volumes, on the host system - this can greatly slow down the performance of disk operations and docker performance.
-
-It is highly recommended the locations you choose for the MEDIA, TORRENTS, USENET, and WATCH folders, are located on the same HDD / Volume / Partition on the local host computer. The Docker stack has been carefully planned, and as long as these host folders are using these principles, then the Docker application will take advantage of Atomic Moves (instant) inside the containers.
-
-**FOLDER\_FOR\_DOCKER\_DATA**\= # Folder to store persistent configuration settings for all the docker applications
-**FOLDER\_FOR\_MEDIA**\= # Folder where root of media library exists
-**FOLDER\_FOR\_TORRENTS**\= # Folder where all torrent files will be downloaded (Transmission)
-**FOLDER\_FOR\_USENET**\= # Folder where all NZB Usenet files will be downloaded (NZBGet)
-**FOLDER\_FOR\_WATCH**\= # Folder to place NZB and Torrent files for manual downloading
-
-The following table provides examples on how the folders located on the Host computer, will be mapped to the folders inside the Docker containers.
-
-
-
-Environment Variable:
-
-Synology Example:
-
-Linux Example:
-
-Windows Example:
-
-Docker Path:
-
-FOLDER\_FOR\_DOCKER\_DATA
-
-/volume1/docker
-
-/opt/docker
-
-D:\\Docker
-
-Differs by container
-
-FOLDER\_FOR\_MEDIA
-
-/volume1/media
-
-/opt/media
-
-D:\\Media
-
-/data/media
-
-FOLDER\_FOR\_TORRENTS
-
-/volume1/data/torrents
-
-/opt/torrents
-
-D:\\Torrents
-
-/data/torrents
-
-FOLDER\_FOR\_USENET
-
-/volume1/data/usenet
-
-/opt/usenet
-
-D:\\Usenet
-
-/data/usenet
-
-FOLDER\_FOR\_WATCH
-
-/volume1/data/watch
-
-/opt/watch
-
-D:\\Watch
-
-/data/watch
-
-
-You need to define your own folders for Synology / Linux / Windows, however the locations you define in the variables, will be mapped to the docker application as per the Docker Path column.
-
-**NOTE:** It is recommended the folders you use on the host computer, remain empty until completing the entire guide and setting up all the applications. So if you plan to use folder names that current have media, you should rename the old folders, create new ones, then copy the media into the new folders after completing this guide.
-
-
-
-**PART 4 - Folders for Media Categories and Docker Applications**
-
-Now that you have identified the folders where you are going to locate your media types, download files, and docker configuration settings, you need to set up the sub-folders in each of these areas, so they are consistent between the host computer and each of the docker containers.
-
-Synology Users: Ideally you should create these folders in "File Station", but it will take a while to do them individually, so you can do them using SSH, logged into the Synology OS. Refer to the Docker / Portainer guide if needed, and minimise the amount of unnecessary commands executed while in SSH session: [Tutorial - Ultimate Starter - Docker, Portainer, Portainer Agents, and Auto-Updating Everything with Watchtower](https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/)
-
-
-**FOLDER\_FOR\_DOCKER\_DATA Sub-Folders:**
-
-These folders will hold all the persistent configuration settings for each of the docker containers being deployed in the docker-compose file. If one of the containers / applications become corrupt, you can delete it and redeploy it using the same configuration information. If you want to reset the configuration for one of the applications, you just need to delete the contents of the respective folder and restart the container.
-
-Synology NAS Users: Make sure a suitable volume / share is created using DSM before executing by SSH.
-
-Code:
-
- cd /volume1/docker
- pwd # check you're in correct folder before next command
- sudo mkdir gluetun jellyfin jellyseerr lidarr mylar nzbget prowlarr qbittorrent radarr readarr sabnzbd sonarr transmission whisparr
-
-
-Linux Users:
-
-Code:
-
- cd /opt/docker
- sudo mkdir gluetun jellyfin jellyseerr lidarr mylar nzbget prowlarr qbittorrent radarr readarr sabnzbd sonarr transmission whisparr
-
-
-Windows Users:
-
-Code:
-
- cd D:\Docker
- mkdir gluetun,jellyfin,jellyseerr,lidarr,mylar,nzbget,prowlarr,qbittorrent,radarr,readarr,sabnzbd,sonarr,transmission,whisparr
-
-
-
-**FOLDER\_FOR\_MEDIA **Sub-Folders**:**
-
-Each of the media subfolders will store your media based on the media category... i.e. Anime in the "anime" folder, and Movies in the "movies" folder etc... Each of the \*ARR media libraries which are responsible for managing media types, will be linked to that media folder inside the container.
-
-i.e. Radarr will be linked to managed the movies located in the "/data/movies" folder, which will be mapped back to the "movies" sub-folder inside FOLDER\_FOR\_MEDIA on the host computer.
-
-Synology NAS Users: Make sure a suitable volume / share is created using DSM before executing by SSH.
-
-Code:
-
- cd /volume1/media
- pwd # check you're in correct folder before next command
- sudo mkdir adult anime audio books comics movies music photos podcasts series software
-
-
-Linux Users:
-
-Code:
-
- cd /opt/media
- sudo mkdir adult anime audio books comics movies music photos podcasts series software
-
-
-Windows Users:
-
-Code:
-
- cd D:\Media
- mkdir adult,anime,audio,books,comics,movies,music,photos,podcasts,series,software
-
-
-
-**FOLDER\_FOR\_TORRENTS **Sub-Folders**:**
-
-The sub-folders inside the Torrent folder, is to handle category downloading by Transmission.
-
-Synology NAS Users: Make sure a suitable volume / share is created using DSM before executing by SSH.
-
-Code:
-
- cd /volume1/data/torrents
- pwd # check you're in correct folder before next command
- sudo mkdir adult anime audio books comics movies music podcasts prowlarr series software
-
-
-Linux Users:
-
-Code:
-
- cd /opt/torrents
- sudo mkdir adult anime audio books comics movies music podcasts prowlarr series software
-
-
-Windows Users:
-
-Code:
-
- cd D:\Torrents
- mkdir adult,anime,audio,books,comics,movies,music,podcasts,prowlarr,series,software
-
-
-
-**FOLDER\_FOR\_USENET **Sub-Folders**:**
-
-The sub-folders inside the Usenet folder, is to handle category downloading by NZBGet.
-
-Synology NAS Users: Make sure a suitable volume / share is created using DSM before executing by SSH.
-
-Code:
-
- cd /volume1/data/usenet
- pwd # check you're in correct folder before next command
- sudo mkdir adult anime audio books comics movies music podcasts prowlarr series software incomplete intermediate queue tmp scripts
-
-
-Linux Users:
-
-Code:
-
- cd /opt/usenet
- sudo mkdir adult anime audio books comics movies music podcasts prowlarr series software incomplete intermediate queue tmp scripts
-
-
-Windows Users:
-
-Code:
-
- cd D:\Usenet
- mkdir adult,anime,audio,books,comics,movies,music,podcasts,prowlarr,series,software,incomplete,intermediate,queue,tmp,scripts
-
-
-
-**FOLDER\_FOR\_WATCH **Sub-Folders**:**
-
-Nothing... there are no sub-folders needed for the Watch folder, however whenever you place a .nzb or .torrent file into this folder, it will automatically be picked up by either NZBGet or Transmission and commence downloading the files manually.
-
-Once manual .nzb and .torrent files have been downloaded by NZBGet and Transmission, they will be saved in the FOLDER\_FOR\_USENET and FOLDER\_FOR\_TORRENTS respectively. If they are media files, they will not be imported into any of the \*ARR media libraries / Jellyfin automatically, they will need to be manually imported into the media managers / Jellyfin.
-
-The Watch folder and manual downloading will help users who want to download none media centre oriented files, such as torrents for Ubuntu ISO files etc... then the download clients will do all the work of pulling in the files for you.
-
-
-**Docker Application Folder Structure:**
-
-You have now created the following folder structure inside your Docker containers, which will be mapped to the appropriate folders / files on your host computer, which were specified in the "FOLDER\_FOR" variables.
-
-
-
-> ├── data
-> ⠀⠀⠀⠀⠀├── media
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── photos
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software
-> ⠀⠀⠀⠀⠀├── torrents
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── software
-> ⠀⠀⠀⠀⠀├── usenet
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── adult
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── anime
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── audio
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── books
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── comics
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── incomplete
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── intermediate
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── movies
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── music
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── podcasts
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── prowlarr
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── queue
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── scripts
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── series
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀├── software
-> ⠀⠀⠀⠀⠀│⠀⠀⠀⠀└── tmp
-> ⠀⠀⠀⠀⠀└── watch
->
-> Click to expand...
-
-
-
-
-**PART 5 - File Permissions Between Docker Containers and Host Computer**
-
-One of the biggest issues new users face with using Docker and accessing files on the host computer, is the inability of the container applications accessing folders / files due to incorrect permissions. If the container has incorrect permissions to the local filesystem, then access will be denied, and the container applications do not function as expected.
-
-To overcome this issue, Docker can access the folders / files of the local host computer, as a specific user and group which exists on the local system, however its imperative the local user and group which is specified in the ENV file configuration, actually exists and has the correct permissions to the folder and files on the host.
-
-For Synology / Linux users, follow the earlier guide on setting up Docker / Portainer, and create the "docker" user as documented: [Tutorial - Ultimate Starter - Docker, Portainer, Portainer Agents, and Auto-Updating Everything with Watchtower](https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/)
-
-When logged into the terminal on Linux and Synology (via SSH), run the following command:
-
-
-Code:
-
- sudo id docker
-
-
-This will return an entry similar to:⠀⠀⠀⠀**uid=131(docker) gid=123(docker) groups=123(docker)**
-
-This means the "docker" user has User ID of 131, Group ID of 123, and is in the following groups... just 123, which is docker. If you convert the uid and gid to PUID and PGID respectively, your config should look like this:
-
-**PUID**\=131
-**PGID**\=123
-**UMASK**\=0002 <-- Don't change this unless you know what you're doing
-**TIMEZONE**\=Australia/Brisbane
-
-Update your local Timezone using this list: [List of tz database time zones - Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
-
-**NOTE:** PUID / PGID will vary from system to system, you can't use Docker configurations from the Internet and expect them to work, unless you adjust the PUID / PGID values to match your system.
-
-
-**File Permissions for Synology NAS Users:**
-
-Synology DSM has a very complex set of permissions and folder attributes underneath the DSM web interface, effectively where the shares are located in "File Station", the the underlying folder permissions are "777" (and more), which you don't want to mess with at the command line.
-
-
-Code:
-
- drwxrwxrwx+ 1 root root 436 Jan 1 00:10 /volume1/docker
-
-
-This means the root user and root group own the /volume1/docker share, however all of the folders and files have 777 permissions inherited recursively throughout the sub-folder structure.
-
-This might sound a bit complex, but the key point is just to use the DSM File Station web interface, and add the "docker" user to either the main shared folder, such as "/volume1/docker", or just to the selective sub-folders within a shared folder, such as "/volume1/data/torrents", "/volume1/data/usenet", and "/volume1/data/watch". This would mean the "docker" user only has access to the folders (and sub-folders) of torrents, usenet, and watch, inside the shared folder /volume1/data.
-
-Ultimately, you need to ensure the "docker" user has read/write access to whatever folders you are using on the Synology NAS, using DSM Portal.
-
-
-**File Permissions for Linux OS Users:**
-
-When you created the "docker" user for Linux, you also created a "docker" group. Additionally, you added your own Linux user account into the "docker" group, so you want to apply "docker:docker" permissions to folders for the correct access permissions to filter through the file structure.
-
-If you want to be security conscience and only allow members of the "docker" group (and running docker applications) access to for docker and media folders, you can execute the following commands, which also turn on the SetGid bit for the group, so any new folder / file created inside these folders will have full permissions to anyone in the "docker" group; so being a member of the "docker" group is key.
-
-
-Code:
-
- sudo chmod -R u+rwx,g+rws,o+rx,o-w /opt/docker /opt/media /opt/usenet /opt/torrents /opt/watch
- sudo chown -R docker:docker /opt/docker /opt/media /opt/usenet /opt/torrents /opt/watch
-
-
-
-Code:
-
- drwxrwsr-x+ 15 docker docker 4096 Jan 01 00:10 /opt/docker
- drwxrwsr-x+ 12 docker docker 4096 Jan 01 00:10 /opt/media
- drwxrwsr-x+ 12 docker docker 4096 Jan 01 00:10 /opt/torrents
- drwxrwsr-x+ 17 docker docker 4096 Jan 01 00:10 /opt/usenet
- drwxrwsr-x+ 2 docker docker 53248 Jan 01 00:10 /opt/watch
-
-
-
-If you don't share your Linux host computer with other users and you are having problems with access and permissions, you can always using the following commands, which allow everyone to have absolute access:
-
-
-Code:
-
- sudo chmod -R 777 /opt/docker /opt/media /opt/usenet /opt/torrents /opt/watch
- sudo chown -R docker:docker /opt/docker /opt/media /opt/usenet /opt/torrents /opt/watch
-
-
-**NOTE:** If you ever experience issues with file / permission access issues, then rerun both the "chmod" and "chown" commands above, and restart your docker media stack.
-
-
-**File Permissions for Windows OS Users:**
-
-Is this even needed, does Docker run as system or local user account? - needs testing.
-
-
-
-**PART 6 - Deploying the Docker Compose Media Stack**
-
-
-When you deploy the docker-compose build, it will download 12 Docker images from the public DockerHub repository before building the Docker containers and secure network. As its the first time you've deployed the docker-compose stack, it will take a few minutes to download the necessary Docker images. If you need to redeploy the docker-compose due to customisation, or fixing a fault, the containers will be instantly, as the images will still be available on your host computer.
-
-You can deploy the docker-compose build two ways, either via the Linux terminal (PowerShell for Windows), or via Portainer if you installed it as part of the earlier Docker / Portainer guide: [Tutorial - Ultimate Starter - Docker, Portainer, Portainer Agents, and Auto-Updating Everything with Watchtower](https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/)
-
-If you have issues loading the YAML file, whether its corrupt, or you've made changes, you can copy and paste the entire YAML file contents to an online YAML Validation Tool, and it will advise if, and where, there are errors in the YAML code, so you can fix it.
-
-**Online YAML Validator:** [Validate YAML - Online YAML Tools](https://onlineyamltools.com/validate-yaml)
-
-**NOTE:** Don't add any of your current media files into the folders you created above, we'll add all the media at the end in a structured process / format.
-
-
-**Deployment via Synology SSH / Linux Terminal / Windows** **PowerShell****:**
-
-Deploying the docker-compose media stack is exactly the same process using Synology SSH / Linux Terminal / Windows PowerShell, as the only difference between these systems is the paths for each Operating System, however we've added the paths for the relevant Operating Systems into the Environment file, so Docker will just pick this up during the build and map the local folders you've already declared.
-
-Execute the following command to build the docker compose media stack:
-
-
-Code:
-
- docker-compose --file docker-compose-media-stack.yaml --project-name media_stack --env-file docker-compose-media-stack.env up
-
-
-You will notice all of the images being downloaded from DockerHub, then all of the containers will display their log output on the screen, which is an easy way to identify if any errors occur.
-
-Press "CTRL+ C" to exit the docker console, if you're happy there were no errors and you want it to run in "detached mode" (i.e. in the background), the run the command again with the "-d" (detached) argument.
-
-
-Code:
-
- docker-compose --file docker-compose-media-stack.yaml --project-name media_stack --env-file docker-compose-media-stack.env up -d
-
-
-NOTE: While you now have a running media stack in Docker, you will need to manage all changes / executions from the terminal window / PowerShell from now on, and that's OK, however if you want the flexibility and ease of use to change / save settings in an easy to use GUI, then Portainer may be the way to load and manage your docker compose media stake.
-
-
-**Deployment via Portainer GUI on Synology / Linux / Windows:**
-
-Deploying the docker-compose media stack via Portainer, will be exactly the same on Synology / Linux / Windows, assuming Portainer has already been installed on the Docker Host, and the file paths have been updated in the ENV file for each respective Operating System.
-
-\- Open Portainer at: [https://localhost:9443](https://localhost:9443)
-
-\- Connect to your local Docker environment in the Portainer portal, then select "Stack" in the left menu, then "Add Stack" on the right side of the page.
-
-\- Stack Name: "media\_stack" <-- Must be lowercase and only use underscores or hyphens
-
-\- Select: "Upload" -- Press "Upload File", then select the "docker-compose-media-stack.yaml" file and save.
-
-\- Select: "Load Variables From .ENV File", then select the "docker-compose-media-stack.env" file and save.
-
-\- "Enable access control": Disable this if you do not have multiple users in Portainer (Optional)
-
-\- Select "Deploy The Stack".
-
-\- Go make a coffee if this is the first time downloading the images, it will take a few minutes.
-
-
-**Configuration Persistence for Docker Containers:**
-
-Great care has been taken to make sure all of the configuration settings in each of the docker containers, have been mapped into their individual folders in the **FOLDER\_FOR\_DOCKER\_DATA** location; if you check these folders, they are now full and contained the configuration of each application.
-
-This means you can completely delete all Docker containers, Docker images, uninstall the Docker application, and then rebuild everything again, and as long as you use the same .YAML and .ENV files with their settings, then your whole media stack will be rebuilt and operate exactly how is was running prior to you stopping it.
-
-This also allows you to easily migrate to new servers / host computers, fire up the docker compose media stack, and be up and running again as soon as the docker images have been downloaded.
-
-Back up the **OLDER\_FOR\_DOCKER\_DATA** sub-folders to save you rebuilding after a system failure / migration.
-
-
-**Test Redeploying Your Docker Compose Media Stack:**
-
-Now is the best time to validate your docker compose configuration, open some of the applications using the links at the very top to make sure they're up and running, then:
-
-\- If you used docker-compose command at the terminal / PowerShell, go to the .ENV file, then make the following change, and run the docker-compose up command again.
-
-
-Code:
-
- TP_THEME=dracula
-
-
-\- If you used Portainer, go to "Stacks" -- "media\_stack" -- "Editor", find "TP\_THEME" down the bottom in the variables, and change the value to "dracula", then select "Actions: Update The Stack".
-
-Once you have redeployed the docker-compose via the terminal / Portainer, go back into the applications using the links up the top again, and check that your chance has occurred.
-
-**NOTE:** The TP\_THEME is used in all docker containers, except Jellyfin, Jellyseerr, and Whisparr.
-
-
-
-
-**PART 7 - Configuring Your Torrent / NZB Download Clients
-
-
-Validating The Security of Your VPN Network Connection:**
-
-As the Gluetun container is providing full VPN encryption for the entire Docker stack, its important to first check the VPN is providing obscurity for your Internet connection.
-
-From any computer in your network, you will be able to see what the IP Address for your Internet connection is by going to [ifconfig.io](http://ifconfig.io)
-
-Now open Portainer, and go to the Transmission and NZBGet containers and connect to "Console", then type the following into the terminal window:
-
-
-Code:
-
- curl ifconfig.io
-
-
-This will show the IP Address being used by your Transmission and NZBGet containers, which is being provided by the Gluetun VPN connection.
-
-You can check the location of the IP Address at [IP Location](https://iplocation.com)
-
-**NOTE:** If the Gluetun container is not running, or does not have an active VPN connection, then no traffic from the other containers (Transmission / NZBGet etc…) will be allowed to go out to the Internet; it is all blocked unless a secure VPN tunnel is active.
-
-**NOTE:** If you are using an active VPN account and are not able to secure a VPN connection, you should seek assistance before progressing. Synology users may need to check VPN / TUN prerequisite details in this article, and seek guidance from the Synology community: [Synology prerequisites · qdm12/gluetun Wiki](https://github.com/qdm12/gluetun/wiki/Synology-prerequisites)
-
-
-**Transmission - Torrent Download Client:**
-
-Transmission connects to trackers, seeders and peers in the torrent network in order to access content which has been uploaded to torrent groups.
-
-1\. Open Transmissions Portal: [http://localhost:9091](http://localhost:9091)
-
-2\. Press the "Spanner" icon in the bottom left corner to open "Preferences Menu"
-
-3\. Torrents Tab - Downloading to… Change this to: **/data/torrents**
-
-4\. You can adjust Torrent, Speed, Peer, and Network settings in this section. Only adjust these if you know what you're doing. Don't change the download path or peering port, as these a relative to the Transmission Docker container, not your local file or network settings - adjust these in the ENV docker-compose file.
-
-5\. If you need to manually download torrent files, they can be placed into your **FOLDER\_FOR\_WATCH** folder, and Transmission will start to download the file.
-
-6\. Completed manual file downloads will be placed into **FOLDER\_FOR\_TORRENT** folder.
-
-
-**NZBGet - Usenet Download Client:**
-
-1\. Open NZBGet Portal: [http://localhost:6789](http://localhost:6789)
-
-* Default Username: nzbget
-* Default Password: tegbzn6789
-
-2\. Go to the Settings page: [http://localhost:6789/#ConfigTab](http://localhost:6789/#ConfigTab)
-
-3\. "PATHS" menu, change these paths only:
-
-* MainDir: /data/usenet
-* DestDir: /data/usenet
-* NzbDir: /data/watch
-
-
-4\. "NEWS-SERVERS" menu: Use this page to configure all your Usenet News Servers - Gaining access to Usenet News Servers is out of scope for this guide - sorry.
-
-5\. "SECURITY" menu: Leave these as default. However, you can empty both ControlUsername and ControlPassword fields if you want to remove username and password prompts each time you access the NZBGet portal.
-
-6\. "CATEGORIES" menu: DELETE ALL THE DEFAULT CATEGORIES
-
-7\. Add the following new category names, destdirs, and aliases for each of the "ARR" applications:
-
-**NOTE:** They must be in LOWERCASE only.
-
-
-
-**ARE THESE THE CORRECT CATEGORIES FOR STARTERS?
-
-ARE THE CATEGORY ALIASES ALLOCATED CORRECTLY?**
-
-
-
-
-
-Category.Name:
-
-Category.DestDir
-
-Category.Aliases
-
-adult
-
-adult
-
-xxx,\*hentai
-
-anime
-
-anime
-
-audio
-
-audio
-
-audible
-
-books
-
-books
-
-epub
-
-comics
-
-comics
-
-manga
-
-movies
-
-movies
-
-music
-
-music
-
-podcasts
-
-podcasts
-
-prowlarr
-
-prowlarr
-
-series
-
-series
-
-tv\*
-
-software
-
-software
-
-console,pc
-
-
-**NOTE:** You should now have 11 categories.... all in lowercase.
-
-8\. "RSS FEEDS" menu: Leave these as default
-
-9\. "INCOMING NZBS" menu: Change "NzbDirFileAge" to 5 seconds
-
-11\. "DOWNLOAD QUEUE" menu: Leave these as default
-
-12\. "CONNECTION" menu: Leave these as default
-
-13\. "LOGGING" menu: Leave these as default
-
-14\. "SCHEDULER" menu: Leave these as default
-
-15\. "CHECK AND REPAIR" menu: Leave these as default
-
-16\. "UNPACK" menu: Leave these as default
-
-17\. "EXTENSION SCRIPTS" menu: Leave these as default
-
-18\. Save all your changes and allow NZBGet to restart
-
-
-.
\ No newline at end of file
+ Content on this old page has been migrated to new section, and page is marked for deletion.
diff --git a/docs/help/2.md b/docs/help/2.md
index eb84193..fd21a16 100644
--- a/docs/help/2.md
+++ b/docs/help/2.md
@@ -1,425 +1,3 @@
+!!! Success "Warning: Page Under Development"
-## Heading One
-
-!!! Danger "Warning: Page Under Development"
-
- This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
-
-
-
-Basic intro to Docker... embed Docker intro video etc..
-
-Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
-
-
-## Heading Two
-
-## Heading Three
-
-# Collective Installation
-
-
-
-
-# Docker Media Stack
->You can download these files easily, by going to [https://github.com/geekau/media-stack](https://github.com/geekau/media-stack) then selecting "**Code**" --> "**Download Zip**".
-
-These Docker Compose configurations will help you rapidly deploy all the applications you need in a Docker stack, to operate a Jellyfin, Jellyseerr, Torrent, Usenet, \*ARR Media Library Managers, Reverse Proxy, MFA Authenticated Access, and Tdarr Automated Media Transcoding enabled media stack, and has been thoroughly testing on Linux, Windows and Synology NAS servers.
-
-
-## 2 - Edit the "docker-compose.env" file, and update variables to suit your environment.
-
-
-```
-DOCKER_SUBNET=172.28.10.0/24
-DOCKER_GATEWAY=172.28.10.1
-LOCAL_SUBNET=10.168.1.0/24
-LOCAL_DOCKER_IP=10.168.1.111
-```
-
-
-### Docker Host Folders Locations:
-Add the folder locations to the ENV file, where your docker configurations and media / downloads will be stored:
->Folders need to exist before running "docker-compose" commands. Valid choices are Linux, Windows or NAS folder naming conventions.
-```
-FOLDER_FOR_CONFIGS=/home/geekau/docker
-FOLDER_FOR_MEDIA=/home/geekau/media-stack
-```
-
-### At Linux / Synology terminal, use the "id" command to identify user ID and group ID.
-```
-sudo id geekau
-uid=1000(geekau) gid=1000(geekau) groups=1000(geekau)
-```
-Update the ENV file with these details:
-```
-PUID=1000 <-- Update this value from "id" command
-PGID=1000 <-- Update this value from "id" command
-TIMEZONE=Australia/Brisbane
-```
-Update your local Timezone using this list: [List of Timezone Database - Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
-
-### Update your VPN Service Provider details for Gluetun to create VPN tunnel.
-Add your VPN service provider details.
->If you don't have a VPN service provider configured, Gluetun will not establish a secure VPN tunnel, and will not allow any network traffic out onto the Internet.
-```
-VPN_SERVICE_PROVIDER=VPN provider name
-VPN_USERNAME=
-VPN_PASSWORD=
-SERVER_REGION=
-```
-== **All containers are initally configured to sit behind the VPN connection for security / privacy. If you want the containers to have direct Internet access, follow the steps in each of the YAML files to change the network configuration, and restart the container.** ==
-
-
-## 4 - Install the Docker applications individually as you need them.
-
-**NOTE: Gluetun MUST be installed as the first container**, as it sets up the VPN and the internal Bridge network the other containers will join (**media_network**).
-
-
-### Deploy VPN and Internal Docker Bridge "media_network":
-```
-sudo docker-compose --file docker-compose-gluetun.yaml --env-file docker-compose.env up -d
-```
-**NOTE - Windows users:** Do not use the "**sudo**" at the front of the commands.
-
-==**NOTE:** "WARNING: Found orphan containers (gluetun, qbittorrent, sabnzbd, prowlarr, prowlarr) for this project"==
-
-This ==WARNING== can be safely ignored, as we're loading the project apps one at a time, rather than all in one YAML file.
-
-## Deploy Media Server and Content Request Manager:
-```
-sudo docker-compose --file docker-compose-jellyfin.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-jellyseerr.yaml --env-file docker-compose.env up -d
-```
-
-
-## Deploy Index Manager and Media Library Managers:
-```
-sudo docker-compose --file docker-compose-prowlarr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-lidarr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-mylar3.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-radarr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-readarr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-sonarr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-whisparr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-bazarr.yaml --env-file docker-compose.env up -d
-```
-
-
-## Deploy Download Clients:
-```
-sudo docker-compose --file docker-compose-qbittorrent.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-sabnzbd.yaml --env-file docker-compose.env up -d
-```
-
-
-## Deploy Archive Unpacker and Automatic Video Re-encoding:
-```
-sudo docker-compose --file docker-compose-unpackerr.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-tdarr.yaml --env-file docker-compose.env up -d
-```
-
-
-## Deploy Reverse Proxy (with SSL Certbot) and Cloudflare Proxy
-```
-sudo docker-compose --file docker-compose-swag.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-authelia.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-heimdall.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-ddns-updater.yaml --env-file docker-compose.env up -d
-sudo docker-compose --file docker-compose-flaresolverr.yaml --env-file docker-compose.env up -d
-```
->The "your-domain-name.com" / IP Address validation is performed when the container is started for the first time. Nginx won't be up and start the web server, until ssl certs are successfully generated and installed.
-
-## Deploy Portainer-CE to View Docker via GUI
-```
-sudo docker-compose --file docker-compose-portainer.yaml --env-file docker-compose.env up -d
-```
-
-
-
-## Application Portals:
-
- Portal | Application | Function
--------- | -------- | --------
-[https://localhost:9443](https://localhost:9443)|Portainer|GUI Interface for Docker Management
-[http://localhost:6767](http://localhost:6767)|Bazarr|Subtitle Manager for Radarr / Sonarr
-[http://localhost:8191](http://localhost:8191)|FlareSolverr|Provides status message only
-[http://localhost:8096](http://localhost:8096)|Jellyfin|(Media Player)
-[http://localhost:5055](http://localhost:5055)|Jellyseerr|(Content Request Management)
-[http://localhost:8686](http://localhost:8686)|Lidarr|(Library Manager - Music)
-[http://localhost:8090](http://localhost:8090)|Mylar3|(Library Manager - Comics)
-[http://localhost:9696](http://localhost:9696)|Prowlarr|(Index and Search Management)
-[http://localhost:7878](http://localhost:7878)|Radarr|(Library Manager - Movies)
-[http://localhost:8787](http://localhost:8787)|Readarr|(Library Manager - Books)
-[http://localhost:8100](http://localhost:8100)|SABnzbd|(Library Manager - TV Shows)
-[http://localhost:8989](http://localhost:8989)|Sonarr|(Library Manager - TV Shows)
-[http://localhost:8265](http://localhost:8265)|Tdarr|Automatic Audio/Video Library Transcoding
-[http://localhost:6969](http://localhost:6969)|Whisparr|(Library Manager - XXX)
-[http://localhost:8200](http://localhost:8200)|qBittorrent|(Downloader - Torrents)
-[http://localhost:5080](http://localhost:5080)|SWAG - Nginx|Web Server for Reverse Proxy HTTP
-[http://localhost:5433](http://localhost:5433)|SWAG - Nginx|Web Server for Reverse Proxy HTTPS
-[http://localhost:6500](http://localhost:6500)|DDNS-Updater|Web Portal - DDNS-Updater Status
-
-**Default qBittorrent Portal Access:** Username: **admin** Password: **adminadmin**
-
-**NOTE: If the qBittorrent portal fails to load with an error message**, it may be due to the themepark module, this can be resolved by editing "FOLDER_FOR_CONFIGS/qbittorrent/qBittorrent/qBittorrent.conf" and changing "WebUI\AlternativeUIEnabled=true" to "false" and restarting qBittorrent.
-
-## For Reverse Proxy into your network (from the Internet):
-
- Portal | Application | Function
--------- | -------- | --------
-[http://your-domain-name.com](http://your-domain-name.com)|SWAG|Reverse Proxy
-[https://your-domain-name.com](http://your-domain-name.com)|SWAG|Reverse Proxy
-
-The SWAG container provides Nginx Reverse Proxy and MFA running on ports **5080/HTTP** and **5443/HTTPS**, so they don't conflict with other services running on the Docker host computer. To access your Reverse Proxy from the Internet, you need to set up your gateway / router, to allow Internet ports **80** and **443** into your network, but redirect them to the Docker host IP Address on ports **5080** and **5443** respectively.
-
-Port **80** will be accessible on the Internet and redirected to the Reverse Proxy on port **5080**, however it will redirect to HTTPS protocol using port **443** via the Internet, which will also be redirected to the Reverse Proxy on port **5443**. Reverse Proxy port numbers can be changed as required in the ENV file if required.
-
-The SWAG container requires a resolvable domain name, and will automatically install SSL certificates using either Let's Encrypt or Zero SSL providers, and is also able to provide Multi-Factor Authentication (MFA), to provide strong security for your Internet connected applications.
-
- - [https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia](https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia)
-
-
-
-## Configuring DDNS-Updater for Reverse Proxy
-
-Reference: [https://hub.docker.com/r/qmcgaw/ddns-updater](https://hub.docker.com/r/qmcgaw/ddns-updater)
-
-If you have a Dynamic IP address, you will need a way to keep your Dynamic IP Address insync with your registered domain name. The DNS-Updater container supports MANY DDNS service providers, however we need to use Cloudflare as part of the Authelia zero trust framework for our multifacture authentication, so it makes sense to use Cloudflare to also host your domain and update it with DDNS-Updater. Head over to Cloudflare and register a free account: [https://dash.cloudflare.com/sign-up](https://dash.cloudflare.com/sign-up)
-
-Once you have registered a free account with Cloudflare, you can transfer your existing domain to Cloudflare with "Domain Registration" --> "Transfer Domains", or you can purchase a new domain inside Cloudflare with "Domain Registration" --> "Purchase Domains".
-
-If you don't want to pay for a domain and want to use a free DDNS domain, then check out the DDNS-Updater documenation and follow the DDNS set up for your preferred option.
-
-Configure the DDNS-Updater by editing the "config.json" file with the details and credentials for your DDNS provider.
-
-```
-sudo vi FOLDER_FOR_CONFIGS/ddns-updater/config.json
-
-{
- "settings": [
- {
- "provider": "cloudflare",
- "zone_identifier": "zone id",
- "domain": "your-domain-name.com",
- "host": "@",
- "ttl": 600,
- "token": "yourtoken",
- "ip_version": "ipv4"
- }
- ]
-}
-```
-
-Restart the DDNS-Updater container, then check the status at: [http://localhost:6500](http://localhost:6500)
-
-
-## Configuring SWAG HTTP / DNS
-In order for the Certbot tool inside SWAG to be able to request / issue a digital SSL certificate from Let's Encrypt or ZeroSSL, you need to set up the validation type in ENV.
-```
-sudo vi docker-compose.env
-VALIDATION=dns
-DNSPLUGIN=cloudflare
-```
-If you're using "dns" as the validation process, select the DNS plugin that suits your environment, and make appropriate updates.
-
-DNS plugins are located: "**FOLDER_FOR_CONFIGS/swag/dns-conf/**"
-
->The domain name you used in "**URL**" MUST resolve back to your Internet IP address, and your Internet Router / Firewall be set up to forward the ports **80** and **443** to your Docker host IP address, on ports **5080** and **5443** respectively.
-
-Refer to:
-
-- [https://docs.linuxserver.io/general/swag#cert-provider-lets-encrypt-vs-zerossl](https://docs.linuxserver.io/general/swag#cert-provider-lets-encrypt-vs-zerossl)
-- [https://docs.linuxserver.io/general/swag#web-hosting-examples](https://docs.linuxserver.io/general/swag#web-hosting-examples)
-- [https://docs.linuxserver.io/general/swag#reverse-proxy](https://docs.linuxserver.io/general/swag#reverse-proxy)
-- [https://docs.linuxserver.io/general/swag#authorization-method](https://docs.linuxserver.io/general/swag#authorization-method)
-
-SWAG has many different plugins available to help validate your "your-domain-name.com" / IP address, via DNS, they are located in the $FOLDER_FOR_CONFIGS/swag/dns-conf folder.
-For example, to set up the Cloudflare plugin, edit the following:
-```
-sudo vi $FOLDER_FOR_CONFIGS/swag/dns-conf/cloudflare.ini
-```
-**You can then update the ENV file, delete the SWAG container and re-deploy it, to build a new container with the updated configurations.**
-
-###Once your SWAG Server has validated "your-domain-name.com" / IP address, and installed an SSL certificate, the Nginx web server will start working.
-
-###If you have forwarded ports 80 and 443 to the Docker host on 5080 and 5443, then you should be able to access the Nginx web server welcome page from the Internet.
-
-You can use an online remote web browser to check if your site is accessible from the Internet. Go to [https://www.browserling.com](https://www.browserling.com) and put in your domain name to test.
-
->NOTE: All HTTP traffic on port 80 is automatically redirected to HTTPS on port 443, so it helps to have both ports open and redirected.
-
-
-
-## Activate Authelia Integration in SWAG Container
-
-How to set up users, passwords and groups in Authelia
-[https://www.authelia.com/reference/guides/passwords/](https://www.authelia.com/reference/guides/passwords/)
-
-
-[https://www.authelia.com/integration/prologue/get-started/](https://www.authelia.com/integration/prologue/get-started/)
-
-
-```
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/authelia-server.conf
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/authelia-location.conf
-
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
-include /config/nginx/authelia-server.conf;
-
-sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-server.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-server.conf
-sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-location.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-location.conf
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## 5 - Configuring the docker applications after they have been deployed
-Refer to:
-
-- [https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/](https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/)
-- [https://www.synoforum.com/resources/ultimate-starter-page-2-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.185/](https://www.synoforum.com/resources/ultimate-starter-page-2-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.185/)
-
-Follow what is in these pages for now, they will be updated further to include these applications / setup.
-
-
-
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-# *DOCUMENTATION BELOW HAS NOT BEEN COMPLETED.*
-
-### Document Heimdell integration better
-### Document Authelia so the authentication mechanisms are working....
-One factor / two factor authentication.
-
-
-
-
-## Activate Heimdall Integration in SWAG Container
-```
-sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf
-
-#Enable this line
-include /config/nginx/authelia-location.conf;
-
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
-
-```
-
-
-# THESE ARE ITEMS FOR NOTES ONLY AT THIS POINT
-
-```
-Text Editor - Open:
-
-heimdall.subfolder.conf.sample
-sudo vi $FOLDER_FOR_CONFIGS/swag/www/index.html
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
-sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
-sudo -E vi $FOLDER_FOR_CONFIGS/authelia/
-sudo -E vi $FOLDER_FOR_CONFIGS/authelia/
-
-```
-
-
-[https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia](https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia)
-
-Test...
-
-
-
-
-
-
-# THESE ARE ITEMS FOR NOTES ONLY AT THIS POINT
-
-
-
-cat /home/geekau/docker/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
-
-/home/geekau/docker/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
-
-
-
-
-$FOLDER_FOR_CONFIGS/swag/
-$FOLDER_FOR_CONFIGS/swag/dns-conf/
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample
-$FOLDER_FOR_CONFIGS/swag/nginx/
-$FOLDER_FOR_CONFIGS/swag/nginx/
-$FOLDER_FOR_CONFIGS/swag/nginx/proxy.conf
-$FOLDER_FOR_CONFIGS/swag/nginx/nginx.conf
-
-
-
-sudo -E cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf
-sudo -E cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf
-ls -la $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/*.conf
-ls -la $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/
-
-mv /mnt/user/appdata/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample /mnt/user/appdata/swag/nginx/proxy-confs/sonarr.subdomain.conf
-
-
-
-audiobookshelf.subdomain.conf.sample
-audiobookshelf.subfolder.conf.sample
-authelia.subdomain.conf.sample
-bazarr.subdomain.conf.sample
-bazarr.subfolder.conf.sample
-filebot.subdomain.conf.sample
-filebot.subfolder.conf.sample
-jellyfin.subdomain.conf.sample
-jellyfin.subfolder.conf.sample
-jellyseerr.subdomain.conf.sample
-lidarr.subdomain.conf.sample
-lidarr.subfolder.conf.sample
-mylar.subdomain.conf.sample
-mylar.subfolder.conf.sample
-portainer.subdomain.conf.sample
-portainer.subfolder.conf.sample
-prowlarr.subdomain.conf.sample
-prowlarr.subfolder.conf.sample
-qbittorrent.subdomain.conf.sample
-qbittorrent.subfolder.conf.sample
-radarr.subdomain.conf.sample
-radarr.subfolder.conf.sample
-readarr.subdomain.conf.sample
-readarr.subfolder.conf.sample
-sabnzbd.subdomain.conf.sample
-sabnzbd.subfolder.conf.sample
-sonarr.subdomain.conf.sample
-sonarr.subfolder.conf.sample
-tdarr.subdomain.conf.sample
-
-
-
-
-
-
+ Content on this old page has been migrated to new section, and page is marked for deletion.
diff --git a/docs/help/3.md b/docs/help/3.md
index f3a62fe..c49a8bd 100644
--- a/docs/help/3.md
+++ b/docs/help/3.md
@@ -12,17 +12,16 @@ Basic intro to Docker... embed Docker intro video etc..
Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
-## Heading Two
+## 2
-## Heading Three
+## 3
+## 4
+## 5
+## 6
+## 7
-# Individual Installation
-
-**NOTE: This is PAGE 2 of** [**Ultimate Starter - Jellyfin, Jellyseerr, NZBGet, Torrents and \*ARR Media Stack**](https://www.synoforum.com/resources/ultimate-starter-page-1-jellyfin-jellyseerr-nzbget-torrents-and-arr-media-library-stack.184/)
-
-
**PART 8 - Configuring the \*ARR Media Library Managers / Index Manager**
@@ -275,7 +274,7 @@ http://localhost:6969/settings/mediamanagement](http://Whisparr: http://localhos
Complete remaining Media Library Managers as per step 8 guidance and table.
-
+
**Mylar3 needs extra steps to get set up properly and integrated into Prowlarr**
@@ -545,479 +544,5 @@ NOTE:: If you do a lot of transcoding and changing the encoding types / bitrates
-\#### Configuring Jellyfin to access all Media Libraries
-
-Firstly, head over and set up accounts at Fanart and Opensubtitles, so you can enrich your Jellyfin media content. Once you have accounts, you'll need to copy the API Key from each of your account profiles
-[https://fanart.tv](https://fanart.tv/)
-[https://opensubtitles.com](https://opensubtitles.com/) (opensubtitles.org and opensubtitles.com are the same, but .com is the newer site for accounts)
-
-
-
-* Head over to Jellyfin at [http://localhost:8096](http://localhost:8096/) where you will be welcomed to Jellyfin, choose your desired language and select "Next".
-* Create a username / password for the first user account (it will become the admin account) - you can have a blank password if you desire - Select "Next".
-* DO NOT ADD MEDIA at this time, select "Next", as we want to set up Fanart and other plugins first.
-* Select your Metadata Language and Country and select "Next".
-* Set up remote access: Remote connections (Ticked), Enable port mapping (No / Unticked) - Select "Next", the "Finsh".
-* You'll be presented with a signin page, use the username / password entered previously.
-
-
-Press the hamburger icon (3 lines) in top left corner to open the menu, then select "Dashboard", go down the bottom of the menu and open "Plugins", the select "Repositories" up the top, and add the following:
-
-Repository Name: Daniel Adov
-Repository URL: [https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json](https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json)
-
-Using the "Plugins" -- "Catalogue" menu, add the following plugins to your Jellyfin instance:
-
-
-* AniDB
-* AniList
-* Fanart
-* Merge Versions
-* Open Subtitles
-* Playback Reporting
-* Reports
-* Skin Manager
-* TMDb Box Sets
-* Tvmaze
-* TheTVDB
-
-
-These plugins should already be installed by default:
-
-
-* AudioDB
-* MusicBrainz - Installed by default
-* OMDb - Installed by default
-* Studio Images
-* TMDb
-
-
-Now that all of the plugins have been installed, go to Docker / Portainer, select the Jellyfin container and restart it. Then come back to Jellyfin config.
-
-Open the hamburger menu in top left corner again and then select "Dashboard", go down the bottom of the menu and open "Plugins", and configure the following plugins:
-
-
-* AniDB - Defaults
-* AniList - Defaults
-* Fanart - Add "Personal API Key" from your Fanart.tv account, and save.
-* Merge Versions - Defaults
-* Open Subtitles - Add Username / Password / API Key from your OpenSubtitles.com account, and save.
-* Playback Reporting - Defaults
-* Reports - Defaults
-* Skin Manager - Select a skin of your choosing, however further customisation is outside the scope of this guide.
-* TMDb - Include adult content (Optional), Import season name (Ticked), Max Cast Members (25), Image Scaling (Optional), and save.
-* TMDb Box Sets - Defaults
-* Tvmaze - Nil
-* TheTVDB - If there is no API Key pre-installed, you will need to register at [https://TheTVDB.com](https://thetvdb.com/) to obtain one.
-
-
-"Playback" -- "Transcoding"
-Depending on the computer / NAS you are running Docker / Jellyfin, its possible to use hardware acceleration for transcoding - this configuration has been set up to map /dev/dri from the docker container to the host, so it will work, but will be dependent upon your personal hardware configuration. You will need to seek further advise from the Jellyfin community at Reddit / Discord / Youtube on settings for your hardware.
-
-Refer: [Hardware Acceleration | Jellyfin](https://jellyfin.org/docs/general/administration/hardware-acceleration/)
-DLNA (Digital Living Network Alliance): As this guide and configuration is built around a secure contained network for the entire media docker stack, the ports and services needed to support DLNA have not been mapped and exposed to the host network. The docker configuration can be customised to allow for DLNA, however it is outside the scope of this starter guide. So these settings won't work unless the docker-compose is reconfigured by yourself.
-
-"Libraries" -- "Display"
-Date added behavior for new content: change to "Use date scanned into library".
-
-"Libraries" -- "Metadata"
-Select your language and country prior to setting up libraries and importing metadata.
-
-
-\## Adding Movie Content
-"Libraries" -- "Libraries" and select "Add Media Library"
-Content Type: Movies
-Display Name: Movies
-Folders: Add - /data/media/movies
-Preferred Language: Personal Choice
-Country: Personal Choice, however it is linked to media ratings on IMDB, and will allow restrictions to children and other users depending on the content you have in the library.
-
-Enable real time monitoring: Ticked
-
-Order for Metadata Downloaders:
-
-* TheMovieDB
-* The Open Movie Database
-* AniList
-* AniDB
-
-Automatically refresh metadata from the internet: Never
-
-Order for Image Fetchers:
-
-* Fanart
-* TheMovieDB
-* The Open Movie Database
-* AniList
-* AniDB
-* Embedded Image Extractor (should be first for dedicated libraries with home video recordings / personal media)
-* Screen Grabber (should be second for dedicated libraries with home video recordings / personal media)
-
-Subtitle Downloads
-
-* Language: Personal Choice
-* Subtitle Downloaders - Open Subtitles: Ticked (Disable for libraries with dedicated home video recordings / personal media)
-
-
-NOTE: If you choose to use an adult movie library, use the same process as above to set up a new / separate adult library, so access to be restricted to certain user accounts.
-
-\## Adding Music Content
-"Libraries" -- "Libraries" and select "Add Media Library"
-Content Type: Music
-Display Name: Music
-Folders: Add - /data/media/music
-Preferred Language: Personal Choice
-Country: Personal Choice, however it is linked to media ratings on OMDB, and will allow restricting content to other users.
-
-Enable real time monitoring: Ticked
-
-Order for Metadata Downloaders (Artists):
-
-*
-
-* MusicBrainz
-*
-
-* TheAudioDB
-
-
-Order for Metadata Downloaders (Albums):
-
-*
-
-* MusicBrainz
-*
-
-* TheAudioDB
-
-
-Order for Image Fetchers (Artists):
-
-*
-
-* Fanart
-*
-
-* TheAudioDB
-
-
-Order for Image Fetchers (Albums):
-
-*
-
-* Fanart
-*
-
-* TheAudioDB
-
-
-Automatically refresh metadata from the internet: Never
-
-Order for Image Fetchers (Music Videos):
-
-*
-
-* Fanart
-*
-
-* Embedded Image Extractor
-*
-
-* Screen Grabber
-
-
-Save artwork into media folders: Ticked
-
-
-\## Adding TV Shows / Series Content
-"Libraries" -- "Libraries" and select "Add Media Library"
-Content Type: Shows
-Display Name: Series
-Folders: Add - /data/media/series
-Preferred Language: Personal Choice
-Country: Personal Choice, however it is linked to the media rating on IMDB,
-and will allow restrictions to children and other users depending on the categorisation you allow other users to access.
-
-Enable real time monitoring: Ticked
-
-Order for Metadata Downloaders (TV Shows):
-
-*
-
-* TheTVDB
-*
-
-* Tvmaze
-*
-
-* AniList
-*
-
-* AniDB
-*
-
-* TheMovieDB
-*
-
-* The Open Movie Database
-*
-
-* Missing Episode Fetcher
-
-
-Order for Metadata Downloaders (Seasons):
-
-*
-
-* TheTVDB
-*
-
-* AniDB
-*
-
-* TheMovieDB
-
-
-
-Order for Metadata Downloaders (Episodes):
-
-*
-
-* TheTVDB
-*
-
-* Tvmaze
-*
-
-* AniDB
-*
-
-* TheMovieDB
-*
-
-* The Open Movie Database
-
-
-Automatically refresh metadata from the internet: Never
-
-Order for Image Fetchers (TV Shows):
-
-* Fanart
-* TVmaze
-* TheTVDB
-* AniDB
-* AniList
-* TheMovieDB
-
-Order for Image Fetchers (Seasons):
-
-* Fanart
-* TVmaze
-* TheTVDB
-* AniDB
-* AniList
-* TheMovieDB
-
-
-Order for Image Fetchers (Episodes):
-
-* TVmaze
-* TheTVDB
-* TheMovieDB
-* The Open Movie Database
-* Embedded Image Extractor
-* Screen Grabber
-
-Subtitle Downloads
-
-* Language: Personal Choice
-* Subtitle Downloaders - Open Subtitles: Ticked (Disable for libraries with dedicated home video recordings / personal media)
-
-
-\## Adding Books Content
-"Libraries" -- "Libraries" and select "Add Media Library"
-Content Type: Books
-Display Name: Books
-Folders: Add - /data/media/books
-
-Enable real time monitoring: Ticked
-
-
-\## Adding Comic / Manga Content
-"Libraries" -- "Libraries" and select "Add Media Library"
-Content Type: Books
-Display Name: Comics
-Folders: Add - /data/media/comics
-
-Enable real time monitoring: Ticked
-
-
-\## Adding Photo Content
-"Libraries" -- "Libraries" and select "Add Media Library"
-Content Type: Photos
-Display Name: Photos
-Folders: Add - /data/media/photos
-
-Enable real time monitoring: Ticked
-
-Order for Image Fetchers (Videos):
-
-* Embedded Image Extractor
-* Screen Grabber
-
-
-
-
-
-
-
-
-
-
-PART 11 - Configuring Jellyseerr
-
-
-[http://localhost:5055](http://localhost:5055) jellyseerr
-
-
-
-When you open Jellyseer for the first time, you'll be asked to sign in… select "Use your Jellyfin Account", and enter the details from your Jellyfin server in order to link it to Jellyseerr.
-
-Jellyfin URL: [http://localhost:8096](http://localhost:8096)
-Email Address: The email address is only used if you want to set up notifications when media has been downloaded, however it is a mandatory field.
-Username: Same username as Jellyfin
-Password: Same password as Jellyfin
-
-After connecting Jellyseerr to Jellyfin, you will need to synchronise the libraries between the two applications.
-
-Select "Sync Libraries", then use the slide toggle to select "Movies" and "Series", However…. DO NOT PRESS "START SCAN", skip the library scan and go straight to "Continue".
-
-**NOTE**: We skip the library scan on initial setup as it can take quite a while to scan the libraries, it is also dependant on Jellyfin having its libraries fully scanned and up to date, so it will be better to scan the libraries after all the configurations are completed.
-
-NOTE: Adult Content - Jellyseerr does not manage Adult content requests, so if you are using Whisparr, the library will appear in "Jellyfin Libraries", however there is no need to activate it for syncing. If the library exists in Jellyfin, it will be seen in Jellyseerr, you just don't need to enable it.
-
-
-Radarr Settings:
-
-Setting up non-4K defaults
-
-Select "Add Radarr Server"
-Default Server: Yes
-4K Server: No
-Server Name: Radarr - FHD 1080P
-Hostname of IP Address: localhost
-Port: 7878
-Use SSL: No
-API Key: Can be found in Radarr application on "Settings" -- "General" page.
-[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
-URL Base: Empty
-Quality Profile: HD-1080p
-Root Folder: /data/media/movies
-Minimum Availability: Released
-Tags: Empty
-External URL: [http://media-server:7878](http://media-server:7878) (Radarr's network address, used in links when sending email notifications)
-Enable Scan: Yes
-Enable Automatic Search: Yes
-
-Test and Save.
-
-Setting up 4K defaults
-Default Server: Yes
-4K Server: Yes
-Server Name: Radarr - UHD 4K
-Hostname of IP Address: localhost
-Port: 7878
-Use SSL: No
-API Key: Can be found in Radarr application on "Settings" -- "General" page.
-[http://localhost:7878/settings/general](http://localhost:7878/settings/general)
-URL Base: Empty
-Quality Profile: Ultra-HD
-Root Folder: /data/media/movies
-Minimum Availability: Released
-Tags: Empty
-External URL: [http://media-server:7878](http://media-server:7878) (Radarr's network address, used in links when sending email notifications)
-Enable Scan: Yes
-Enable Automatic Search: Yes
-
-Test and Save.
-
-
-Sonarr Settings:
-
-Setting up non-4K defaults
-
-Select "Add Sonarr Server"
-Default Server: Yes
-4K Server: No
-Server Name: Sonarr - FHD 1080P
-Hostname of IP Address: localhost
-Port: 8989
-Use SSL: No
-API Key: Can be found in Radarr application on "Settings" -- "General" page.
-[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
-URL Base: Empty
-Quality Profile: HD-1080p
-Root Folder: /data/media/series
-Language Profile: **\* Personal Choice \***
-Tags: Empty
-URL Base: Empty
-Anime Quality Profile: HD-1080p
-Anime Root Folder: /data/media/anime
-Anime Language Profile: **\* Personal Choice \***
-Anime Tags: Empty
-Season Folders: Yes
-External URL: [http://media-server:8989](http://media-server:8989) (Sonarr's network address, used in links when sending email notifications)
-Enable Scan: Yes
-Enable Automatic Search: Yes
-
-Test and Save.
-
-
-
-Setting up 4K defaults
-Select "Add Sonarr Server"
-Default Server: Yes
-4K Server: No
-Server Name: Sonarr - UHD 4K
-Hostname of IP Address: localhost
-Port: 8989
-Use SSL: No
-API Key: Can be found in Radarr application on "Settings" -- "General" page.
-[http://localhost:8989/settings/general](http://localhost:8989/settings/general)
-URL Base: Empty
-Quality Profile: Ultra-HD
-Root Folder: /data/media/series
-Language Profile: **\* Personal Choice \***
-Tags: Empty
-URL Base: Empty
-Anime Quality Profile: Ultra-4K
-Anime Root Folder: /data/media/anime
-Anime Language Profile: **\* Personal Choice \***
-Anime Tags: Empty
-Season Folders: Yes
-External URL: [http://media-server:8989](http://media-server:8989) (Sonarr's network address, used in links when sending email notifications)
-Enable Scan: Yes
-Enable Automatic Search: Yes
-
-Test and Save.
-
-
-After adding the connectors to Radarr and Sonarr, Jellyseerr will be fully functional, however we want to do some additional configurations before importing users and media information from Jellyfin.
-
-Go to "Settings" -- "General" and make any changes to region and language as needed.
-
-
-Go to "Settings" -- "Users" and make any changes for users, you may want to change the default permissions assigned to new users.
-
-If you want to allow all users to automatically request, approve and download any media type and quality up to 1080P, then you would select "Request", "Auto-Approved", and "Auto-Request". You can select additional permissions and allow automated 4K requests, however the data will quickly add up on the server if is it not controlled, so grant this privilege with due care.
-
-NOTE: These privileges / permissions are applied when new accounts are created or imported from Jellyfin, they do not effect existing user accounts.
-
-
-Go to "Settings" -- "Jellyfin" and select "Start Scan" to commence scanning the Jellyfin libraries for all media.
-
-Go to "Settings" -- "Notifications", you can add any email server settings or integrations if you want to get notifications on the status of your media requests.
-
-Go to the "Users" menu, and you can now create local users, or "Import Jellyfin Users" (preferred). The new users will be granted the privileges / permissions which we set up earlier.
\ No newline at end of file
diff --git a/docs/help/4.md b/docs/help/4.md
new file mode 100644
index 0000000..fd21a16
--- /dev/null
+++ b/docs/help/4.md
@@ -0,0 +1,3 @@
+!!! Success "Warning: Page Under Development"
+
+ Content on this old page has been migrated to new section, and page is marked for deletion.
diff --git a/docs/help/5.md b/docs/help/5.md
new file mode 100644
index 0000000..fd21a16
--- /dev/null
+++ b/docs/help/5.md
@@ -0,0 +1,3 @@
+!!! Success "Warning: Page Under Development"
+
+ Content on this old page has been migrated to new section, and page is marked for deletion.
diff --git a/docs/index.md b/docs/index.md
index 1109ec2..6b3a7fc 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -12,9 +12,11 @@ While there are many good technical sites on the Internet which discuss how to c
By following MediaStack.Guide, you can essentially have all of the applications downloaded and installed in less than 10 minutes using our customised Docker Compose files, then work through our detailed configuration guides to link all of the applications together, without needing a great technical understanding.
-Our approach is "quick and simple" for greater user understanding.
+This build is also built on Docker, its the only application / service you need to install, then you just download each application as a Docker image and deploy it... There's no issues trying to install each application individually directly onto your host operating system, and it can all be simply deleted at any time, without losing any of your media files or configuration settings.
-> Download and install times depends on the speed of your Internet link.
+Our approach is simple deployment and ease of use for greater user uptick.
+
+> Note: Download and install times depend mostly on the speed of your Internet link.
## Features
diff --git a/docs/installation/customising-environment.md b/docs/installation/customising-environment.md
index 8686cb3..0e65731 100644
--- a/docs/installation/customising-environment.md
+++ b/docs/installation/customising-environment.md
@@ -194,3 +194,315 @@ NOTE: It is recommended the folders you use on the host computer, remain empty u
+
+
+# Docker Media Stack
+>You can download these files easily, by going to [https://github.com/geekau/media-stack](https://github.com/geekau/media-stack) then selecting "**Code**" --> "**Download Zip**".
+
+These Docker Compose configurations will help you rapidly deploy all the applications you need in a Docker stack, to operate a Jellyfin, Jellyseerr, Torrent, Usenet, \*ARR Media Library Managers, Reverse Proxy, MFA Authenticated Access, and Tdarr Automated Media Transcoding enabled media stack, and has been thoroughly testing on Linux, Windows and Synology NAS servers.
+
+
+## 2 - Edit the "docker-compose.env" file, and update variables to suit your environment.
+
+
+```
+DOCKER_SUBNET=172.28.10.0/24
+DOCKER_GATEWAY=172.28.10.1
+LOCAL_SUBNET=10.168.1.0/24
+LOCAL_DOCKER_IP=10.168.1.111
+```
+
+
+### Docker Host Folders Locations:
+Add the folder locations to the ENV file, where your docker configurations and media / downloads will be stored:
+>Folders need to exist before running "docker-compose" commands. Valid choices are Linux, Windows or NAS folder naming conventions.
+```
+FOLDER_FOR_CONFIGS=/home/geekau/docker
+FOLDER_FOR_MEDIA=/home/geekau/media-stack
+```
+
+### At Linux / Synology terminal, use the "id" command to identify user ID and group ID.
+```
+sudo id geekau
+uid=1000(geekau) gid=1000(geekau) groups=1000(geekau)
+```
+Update the ENV file with these details:
+```
+PUID=1000 <-- Update this value from "id" command
+PGID=1000 <-- Update this value from "id" command
+TIMEZONE=Australia/Brisbane
+```
+Update your local Timezone using this list: [List of Timezone Database - Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
+
+### Update your VPN Service Provider details for Gluetun to create VPN tunnel.
+Add your VPN service provider details.
+>If you don't have a VPN service provider configured, Gluetun will not establish a secure VPN tunnel, and will not allow any network traffic out onto the Internet.
+```
+VPN_SERVICE_PROVIDER=VPN provider name
+VPN_USERNAME=
+VPN_PASSWORD=
+SERVER_REGION=
+```
+== **All containers are initally configured to sit behind the VPN connection for security / privacy. If you want the containers to have direct Internet access, follow the steps in each of the YAML files to change the network configuration, and restart the container.** ==
+
+
+
+
+
+**PART 3 - Configuring the Docker-Compose Environment Settings**
+
+This implementation will use a docker-compose configuration file and an accompanying environment file, containing all of the variables for the docker-compose file, so it can be customised to your individual requirements. This allows complex docker builds to be rapidly deployed over and over with relative ease, and minimal input. In fact, it is quicker and easier to delete all of the docker applications and redeploy it again, rather than trying to do any fault finding when errors occur. It is also a simply way to upgrade application versions, by deleting the entire docker stack, and redeploying again using updated images.
+
+[**Download Docker Compose Media Stack - Yaml file**](https://github.com/geekau/media-stack/blob/main/docker-compose-media-stack.yaml)
+[**Download Docker Compose Media Stack - Environment file**](https://github.com/geekau/media-stack/blob/main/docker-compose-media-stack.env)
+
+Below are some of the planning details / settings you need to consider, which are located inside the Environment File - they should be updated to suit your needs.
+
+**Define Docker Stack and Local Network Details:**
+
+You can change the subnet / gateway of the network inside docker where these applications will be deployed, if you are not experienced with docker, then leave the subnet / gateway settings alone.
+
+Put your internal home network details into the **LOCAL\_SUBNET** variable, this will tell the VPN client to allow local computers on this network, they are allowed to access each of the applications inside the secure docker stack.
+
+**DOCKER\_SUBNET**\=172.28.10.0/24
+**DOCKER\_GATEWAY**\=172.28.10.1
+**LOCAL\_SUBNET**\=192.168.1.0/24 <-- your local / home network subnet details here
+
+Once the docker stack has been created and the VPN connection established, Gluetun also allows all computers on the local network, to piggy back off the VPN connection and send all web traffic from your local computer through the secure tunnel. You can change your web proxy to the IP address of your Docker host, using port 8888. A point to remember, if your Docker stack is disabled / turned off, then your web browsers will stop working until you restart the Docker host / stack, or remove the proxy setting in your web browsers.
+
+**Set up VPN Connection for Entire Docker Stack:**
+
+Its a mandatory requirement you have an active VPN connection, otherwise Gluetun will not establish a VPN tunnel, and there will be no data forwarded to the Internet for the entire docker stack.
+
+A full list of supported VPN / Wireguard providers can be found on the Gluetun wiki on the right hand side menu: [Home · qdm12/gluetun Wiki](https://github.com/qdm12/gluetun/wiki)
+
+Gluetun also supports custom VPN configurations if you have alternate VPN setups, the docker-compose file has the necessary variables if you need to set up a custom VPN connection, including Wireguard.
+
+**VPN\_SERVICE\_PROVIDER**\=VPN provider name
+**VPN\_USERNAME**\=
+**VPN\_PASSWORD**\=
+**SERVER\_REGION**\=
+
+**Main Folders For Media and Docker Persistent Configurations:**
+
+This is the most important component of your media server, were data is going to be stored, and how all the different Docker applications are going to access the different media / configuration files.
+
+When you set up folders / volumes on the host computer, you need to map them in the Docker configuration, so the applications can access the data. The docker-compose file has already set up all the correct folder mappings between the host computer and docker applications by using environment variables in the YAML file, however you will need to update the variables below so the the docker-compose build knows which folders to map.
+
+When considering media storage, you also need to consider files are going to be downloaded by the Docker applications and moved between folders, which are actually being moved by the underlaying host computer. So you need to consider what happens when moving a 10GB file between two folders inside different Docker applications, may in fact be getting transferred to different HDDs / Filesystems / Volumes, on the host system - this can greatly slow down the performance of disk operations and docker performance.
+
+It is highly recommended the locations you choose for the MEDIA, TORRENTS, USENET, and WATCH folders, are located on the same HDD / Volume / Partition on the local host computer. The Docker stack has been carefully planned, and as long as these host folders are using these principles, then the Docker application will take advantage of Atomic Moves (instant) inside the containers.
+
+**FOLDER\_FOR\_DOCKER\_DATA**\= # Folder to store persistent configuration settings for all the docker applications
+**FOLDER\_FOR\_MEDIA**\= # Folder where root of media library exists
+**FOLDER\_FOR\_TORRENTS**\= # Folder where all torrent files will be downloaded (Transmission)
+**FOLDER\_FOR\_USENET**\= # Folder where all NZB Usenet files will be downloaded (NZBGet)
+**FOLDER\_FOR\_WATCH**\= # Folder to place NZB and Torrent files for manual downloading
+
+The following table provides examples on how the folders located on the Host computer, will be mapped to the folders inside the Docker containers.
+
+
+
+Environment Variable:
+
+Synology Example:
+
+Linux Example:
+
+Windows Example:
+
+Docker Path:
+
+FOLDER\_FOR\_DOCKER\_DATA
+
+/volume1/docker
+
+/opt/docker
+
+D:\\Docker
+
+Differs by container
+
+FOLDER\_FOR\_MEDIA
+
+/volume1/media
+
+/opt/media
+
+D:\\Media
+
+/data/media
+
+FOLDER\_FOR\_TORRENTS
+
+/volume1/data/torrents
+
+/opt/torrents
+
+D:\\Torrents
+
+/data/torrents
+
+FOLDER\_FOR\_USENET
+
+/volume1/data/usenet
+
+/opt/usenet
+
+D:\\Usenet
+
+/data/usenet
+
+FOLDER\_FOR\_WATCH
+
+/volume1/data/watch
+
+/opt/watch
+
+D:\\Watch
+
+/data/watch
+
+
+You need to define your own folders for Synology / Linux / Windows, however the locations you define in the variables, will be mapped to the docker application as per the Docker Path column.
+
+**NOTE:** It is recommended the folders you use on the host computer, remain empty until completing the entire guide and setting up all the applications. So if you plan to use folder names that current have media, you should rename the old folders, create new ones, then copy the media into the new folders after completing this guide.
+
+
+
+**PART 4 - Folders for Media Categories and Docker Applications**
+
+Now that you have identified the folders where you are going to locate your media types, download files, and docker configuration settings, you need to set up the sub-folders in each of these areas, so they are consistent between the host computer and each of the docker containers.
+
+Synology Users: Ideally you should create these folders in "File Station", but it will take a while to do them individually, so you can do them using SSH, logged into the Synology OS. Refer to the Docker / Portainer guide if needed, and minimise the amount of unnecessary commands executed while in SSH session: [Tutorial - Ultimate Starter - Docker, Portainer, Portainer Agents, and Auto-Updating Everything with Watchtower](https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/)
+
+
+**FOLDER\_FOR\_DOCKER\_DATA Sub-Folders:**
+
+These folders will hold all the persistent configuration settings for each of the docker containers being deployed in the docker-compose file. If one of the containers / applications become corrupt, you can delete it and redeploy it using the same configuration information. If you want to reset the configuration for one of the applications, you just need to delete the contents of the respective folder and restart the container.
+
+Synology NAS Users: Make sure a suitable volume / share is created using DSM before executing by SSH.
+
+Code:
+
+ cd /volume1/docker
+ pwd # check you're in correct folder before next command
+ sudo mkdir gluetun jellyfin jellyseerr lidarr mylar nzbget prowlarr qbittorrent radarr readarr sabnzbd sonarr transmission whisparr
+
+
+Linux Users:
+
+Code:
+
+ cd /opt/docker
+ sudo mkdir gluetun jellyfin jellyseerr lidarr mylar nzbget prowlarr qbittorrent radarr readarr sabnzbd sonarr transmission whisparr
+
+
+Windows Users:
+
+Code:
+
+ cd D:\Docker
+ mkdir gluetun,jellyfin,jellyseerr,lidarr,mylar,nzbget,prowlarr,qbittorrent,radarr,readarr,sabnzbd,sonarr,transmission,whisparr
+
+
+
+**FOLDER\_FOR\_MEDIA **Sub-Folders**:**
+
+Each of the media subfolders will store your media based on the media category... i.e. Anime in the "anime" folder, and Movies in the "movies" folder etc... Each of the \*ARR media libraries which are responsible for managing media types, will be linked to that media folder inside the container.
+
+i.e. Radarr will be linked to managed the movies located in the "/data/movies" folder, which will be mapped back to the "movies" sub-folder inside FOLDER\_FOR\_MEDIA on the host computer.
+
+Synology NAS Users: Make sure a suitable volume / share is created using DSM before executing by SSH.
+
+Code:
+
+ cd /volume1/media
+ pwd # check you're in correct folder before next command
+ sudo mkdir adult anime audio books comics movies music photos podcasts series software
+
+
+Linux Users:
+
+Code:
+
+ cd /opt/media
+ sudo mkdir adult anime audio books comics movies music photos podcasts series software
+
+
+Windows Users:
+
+Code:
+
+ cd D:\Media
+ mkdir adult,anime,audio,books,comics,movies,music,photos,podcasts,series,software
+
+
+
+**FOLDER\_FOR\_TORRENTS **Sub-Folders**:**
+
+The sub-folders inside the Torrent folder, is to handle category downloading by Transmission.
+
+Synology NAS Users: Make sure a suitable volume / share is created using DSM before executing by SSH.
+
+Code:
+
+ cd /volume1/data/torrents
+ pwd # check you're in correct folder before next command
+ sudo mkdir adult anime audio books comics movies music podcasts prowlarr series software
+
+
+Linux Users:
+
+Code:
+
+ cd /opt/torrents
+ sudo mkdir adult anime audio books comics movies music podcasts prowlarr series software
+
+
+Windows Users:
+
+Code:
+
+ cd D:\Torrents
+ mkdir adult,anime,audio,books,comics,movies,music,podcasts,prowlarr,series,software
+
+
+
+**FOLDER\_FOR\_USENET **Sub-Folders**:**
+
+The sub-folders inside the Usenet folder, is to handle category downloading by NZBGet.
+
+Synology NAS Users: Make sure a suitable volume / share is created using DSM before executing by SSH.
+
+Code:
+
+ cd /volume1/data/usenet
+ pwd # check you're in correct folder before next command
+ sudo mkdir adult anime audio books comics movies music podcasts prowlarr series software incomplete intermediate queue tmp scripts
+
+
+Linux Users:
+
+Code:
+
+ cd /opt/usenet
+ sudo mkdir adult anime audio books comics movies music podcasts prowlarr series software incomplete intermediate queue tmp scripts
+
+
+Windows Users:
+
+Code:
+
+ cd D:\Usenet
+ mkdir adult,anime,audio,books,comics,movies,music,podcasts,prowlarr,series,software,incomplete,intermediate,queue,tmp,scripts
+
+
+
+**FOLDER\_FOR\_WATCH **Sub-Folders**:**
+
+Nothing... there are no sub-folders needed for the Watch folder, however whenever you place a .nzb or .torrent file into this folder, it will automatically be picked up by either NZBGet or Transmission and commence downloading the files manually.
+
+Once manual .nzb and .torrent files have been downloaded by NZBGet and Transmission, they will be saved in the FOLDER\_FOR\_USENET and FOLDER\_FOR\_TORRENTS respectively. If they are media files, they will not be imported into any of the \*ARR media libraries / Jellyfin automatically, they will need to be manually imported into the media managers / Jellyfin.
+
+The Watch folder and manual downloading will help users who want to download none media centre oriented files, such as torrents for Ubuntu ISO files etc... then the download clients will do all the work of pulling in the files for you.
\ No newline at end of file
diff --git a/docs/installation/individual-install.md b/docs/installation/individual-install.md
index b1d9ef0..7ec4deb 100644
--- a/docs/installation/individual-install.md
+++ b/docs/installation/individual-install.md
@@ -16,3 +16,115 @@ Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other
## Heading Two
## Heading Three
+
+
+
+## 4 - Install the Docker applications individually as you need them.
+
+**NOTE: Gluetun MUST be installed as the first container**, as it sets up the VPN and the internal Bridge network the other containers will join (**media_network**).
+
+
+### Deploy VPN and Internal Docker Bridge "media_network":
+```
+sudo docker-compose --file docker-compose-gluetun.yaml --env-file docker-compose.env up -d
+```
+**NOTE - Windows users:** Do not use the "**sudo**" at the front of the commands.
+
+==**NOTE:** "WARNING: Found orphan containers (gluetun, qbittorrent, sabnzbd, prowlarr, prowlarr) for this project"==
+
+This ==WARNING== can be safely ignored, as we're loading the project apps one at a time, rather than all in one YAML file.
+
+## Deploy Media Server and Content Request Manager:
+```
+sudo docker-compose --file docker-compose-jellyfin.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-jellyseerr.yaml --env-file docker-compose.env up -d
+```
+
+
+## Deploy Index Manager and Media Library Managers:
+```
+sudo docker-compose --file docker-compose-prowlarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-lidarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-mylar3.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-radarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-readarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-sonarr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-whisparr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-bazarr.yaml --env-file docker-compose.env up -d
+```
+
+
+## Deploy Download Clients:
+```
+sudo docker-compose --file docker-compose-qbittorrent.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-sabnzbd.yaml --env-file docker-compose.env up -d
+```
+
+
+## Deploy Archive Unpacker and Automatic Video Re-encoding:
+```
+sudo docker-compose --file docker-compose-unpackerr.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-tdarr.yaml --env-file docker-compose.env up -d
+```
+
+
+## Deploy Reverse Proxy (with SSL Certbot) and Cloudflare Proxy
+```
+sudo docker-compose --file docker-compose-swag.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-authelia.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-heimdall.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-ddns-updater.yaml --env-file docker-compose.env up -d
+sudo docker-compose --file docker-compose-flaresolverr.yaml --env-file docker-compose.env up -d
+```
+>The "your-domain-name.com" / IP Address validation is performed when the container is started for the first time. Nginx won't be up and start the web server, until ssl certs are successfully generated and installed.
+
+## Deploy Portainer-CE to View Docker via GUI
+```
+sudo docker-compose --file docker-compose-portainer.yaml --env-file docker-compose.env up -d
+```
+
+
+
+
+
+
+
+
+**PART 6 - Deploying the Docker Compose Media Stack**
+
+
+When you deploy the docker-compose build, it will download 12 Docker images from the public DockerHub repository before building the Docker containers and secure network. As its the first time you've deployed the docker-compose stack, it will take a few minutes to download the necessary Docker images. If you need to redeploy the docker-compose due to customisation, or fixing a fault, the containers will be instantly, as the images will still be available on your host computer.
+
+You can deploy the docker-compose build two ways, either via the Linux terminal (PowerShell for Windows), or via Portainer if you installed it as part of the earlier Docker / Portainer guide: [Tutorial - Ultimate Starter - Docker, Portainer, Portainer Agents, and Auto-Updating Everything with Watchtower](https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/)
+
+If you have issues loading the YAML file, whether its corrupt, or you've made changes, you can copy and paste the entire YAML file contents to an online YAML Validation Tool, and it will advise if, and where, there are errors in the YAML code, so you can fix it.
+
+**Online YAML Validator:** [Validate YAML - Online YAML Tools](https://onlineyamltools.com/validate-yaml)
+
+**NOTE:** Don't add any of your current media files into the folders you created above, we'll add all the media at the end in a structured process / format.
+
+
+**Deployment via Synology SSH / Linux Terminal / Windows** **PowerShell****:**
+
+Deploying the docker-compose media stack is exactly the same process using Synology SSH / Linux Terminal / Windows PowerShell, as the only difference between these systems is the paths for each Operating System, however we've added the paths for the relevant Operating Systems into the Environment file, so Docker will just pick this up during the build and map the local folders you've already declared.
+
+Execute the following command to build the docker compose media stack:
+
+
+Code:
+
+ docker-compose --file docker-compose-media-stack.yaml --project-name media_stack --env-file docker-compose-media-stack.env up
+
+
+You will notice all of the images being downloaded from DockerHub, then all of the containers will display their log output on the screen, which is an easy way to identify if any errors occur.
+
+Press "CTRL+ C" to exit the docker console, if you're happy there were no errors and you want it to run in "detached mode" (i.e. in the background), the run the command again with the "-d" (detached) argument.
+
+
+Code:
+
+ docker-compose --file docker-compose-media-stack.yaml --project-name media_stack --env-file docker-compose-media-stack.env up -d
+
+
+NOTE: While you now have a running media stack in Docker, you will need to manage all changes / executions from the terminal window / PowerShell from now on, and that's OK, however if you want the flexibility and ease of use to change / save settings in an easy to use GUI, then Portainer may be the way to load and manage your docker compose media stake.
+
\ No newline at end of file
diff --git a/docs/installation/portainer.md b/docs/installation/portainer.md
index 6f2f2a5..8bb0787 100644
--- a/docs/installation/portainer.md
+++ b/docs/installation/portainer.md
@@ -18,3 +18,68 @@ Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other
## Heading Two
## Heading Three
+
+
+
+
+
+
+https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/
+
+
+
+
+
+**Deployment via Portainer GUI on Synology / Linux / Windows:**
+
+Deploying the docker-compose media stack via Portainer, will be exactly the same on Synology / Linux / Windows, assuming Portainer has already been installed on the Docker Host, and the file paths have been updated in the ENV file for each respective Operating System.
+
+\- Open Portainer at: [https://localhost:9443](https://localhost:9443)
+
+\- Connect to your local Docker environment in the Portainer portal, then select "Stack" in the left menu, then "Add Stack" on the right side of the page.
+
+\- Stack Name: "media\_stack" <-- Must be lowercase and only use underscores or hyphens
+
+\- Select: "Upload" -- Press "Upload File", then select the "docker-compose-media-stack.yaml" file and save.
+
+\- Select: "Load Variables From .ENV File", then select the "docker-compose-media-stack.env" file and save.
+
+\- "Enable access control": Disable this if you do not have multiple users in Portainer (Optional)
+
+\- Select "Deploy The Stack".
+
+\- Go make a coffee if this is the first time downloading the images, it will take a few minutes.
+
+
+**Configuration Persistence for Docker Containers:**
+
+Great care has been taken to make sure all of the configuration settings in each of the docker containers, have been mapped into their individual folders in the **FOLDER\_FOR\_DOCKER\_DATA** location; if you check these folders, they are now full and contained the configuration of each application.
+
+This means you can completely delete all Docker containers, Docker images, uninstall the Docker application, and then rebuild everything again, and as long as you use the same .YAML and .ENV files with their settings, then your whole media stack will be rebuilt and operate exactly how is was running prior to you stopping it.
+
+This also allows you to easily migrate to new servers / host computers, fire up the docker compose media stack, and be up and running again as soon as the docker images have been downloaded.
+
+Back up the **OLDER\_FOR\_DOCKER\_DATA** sub-folders to save you rebuilding after a system failure / migration.
+
+
+**Test Redeploying Your Docker Compose Media Stack:**
+
+Now is the best time to validate your docker compose configuration, open some of the applications using the links at the very top to make sure they're up and running, then:
+
+\- If you used docker-compose command at the terminal / PowerShell, go to the .ENV file, then make the following change, and run the docker-compose up command again.
+
+
+Code:
+
+ TP_THEME=dracula
+
+
+\- If you used Portainer, go to "Stacks" -- "media\_stack" -- "Editor", find "TP\_THEME" down the bottom in the variables, and change the value to "dracula", then select "Actions: Update The Stack".
+
+Once you have redeployed the docker-compose via the terminal / Portainer, go back into the applications using the links up the top again, and check that your chance has occurred.
+
+**NOTE:** The TP\_THEME is used in all docker containers, except Jellyfin, Jellyseerr, and Whisparr.
+
+
+
+
diff --git a/docs/preparation/mediastack-applications.md b/docs/preparation/mediastack-applications.md
index 4c767ca..56b7a0a 100644
--- a/docs/preparation/mediastack-applications.md
+++ b/docs/preparation/mediastack-applications.md
@@ -12,5 +12,136 @@ List of all Media-Stack applications used in this guide and their roles
+
+
## Heading Three
+
+
+## Application Portals:
+
+ Portal | Application | Function
+-------- | -------- | --------
+[https://localhost:9443](https://localhost:9443)|Portainer|GUI Interface for Docker Management
+[http://localhost:6767](http://localhost:6767)|Bazarr|Subtitle Manager for Radarr / Sonarr
+[http://localhost:8191](http://localhost:8191)|FlareSolverr|Provides status message only
+[http://localhost:8096](http://localhost:8096)|Jellyfin|(Media Player)
+[http://localhost:5055](http://localhost:5055)|Jellyseerr|(Content Request Management)
+[http://localhost:8686](http://localhost:8686)|Lidarr|(Library Manager - Music)
+[http://localhost:8090](http://localhost:8090)|Mylar3|(Library Manager - Comics)
+[http://localhost:9696](http://localhost:9696)|Prowlarr|(Index and Search Management)
+[http://localhost:7878](http://localhost:7878)|Radarr|(Library Manager - Movies)
+[http://localhost:8787](http://localhost:8787)|Readarr|(Library Manager - Books)
+[http://localhost:8100](http://localhost:8100)|SABnzbd|(Library Manager - TV Shows)
+[http://localhost:8989](http://localhost:8989)|Sonarr|(Library Manager - TV Shows)
+[http://localhost:8265](http://localhost:8265)|Tdarr|Automatic Audio/Video Library Transcoding
+[http://localhost:6969](http://localhost:6969)|Whisparr|(Library Manager - XXX)
+[http://localhost:8200](http://localhost:8200)|qBittorrent|(Downloader - Torrents)
+[http://localhost:5080](http://localhost:5080)|SWAG - Nginx|Web Server for Reverse Proxy HTTP
+[http://localhost:5433](http://localhost:5433)|SWAG - Nginx|Web Server for Reverse Proxy HTTPS
+[http://localhost:6500](http://localhost:6500)|DDNS-Updater|Web Portal - DDNS-Updater Status
+
+**Default qBittorrent Portal Access:** Username: **admin** Password: **adminadmin**
+
+
+
+
+**PART 2 - Docker Media Applications and Their Roles / Functions**
+
+This guide will focus on Jellyfin and the \*ARR media libraries in order to manage your media libraries and make your media accessible across your home network and devices.
+
+
+
+The table below shows the docker applications which will be installed, their default port numbers and what function they perform:
+
+
+
+Portal URL:
+
+Application:
+
+Role / Function:
+
+No Portal -->
+
+Gluetun
+
+VPN Client - Supports extensive Internet providers and protocols
+
+[http://localhost:6789](http://localhost:6789)
+
+NZBGet
+
+Download client - Used to download NZB from Usenet groups
+
+[http://localhost:9091](http://localhost:9091)
+
+Transmission
+
+Download Client - Used to download torrent files
+
+[http://localhost:8096](http://localhost:8096)
+
+Jellyfin
+
+Media Library / Player - Organise, manage, and share digital media files to networked devices
+
+[http://localhost:5055](http://localhost:5055)
+
+Jellyseerr
+
+Request management and media discovery tool (Overseerr Fork for Jellyfin)
+
+[http://localhost:9696](http://localhost:9696)
+
+Prowlarr
+
+Index and Search Management for "\*ARR" applications below
+
+[http://localhost:8686](http://localhost:8686)
+
+Lidarr
+
+Library Manager for Music content management
+
+[http://localhost:8090](http://localhost:8090)
+
+Mylar3
+
+Library Manager for Comic content management
+
+[http://localhost:7878](http://localhost:7878)
+
+Radarr
+
+Library Manager for Movie content management
+
+[http://localhost:8787](http://localhost:8787)
+
+Readarr
+
+Library Manager for Book / Epub content management
+
+[http://localhost:8989](http://localhost:8989)
+
+Sonarr
+
+Library Manager for TV Show / Series / Anime content management
+
+[http://localhost:6969](http://localhost:6969)
+
+Whisparr
+(see note)
+
+Library Manager for Adult movie content management
+
+
+**NOTE:** This guide also includes Whisparr which is a Library Manager for movies from the Adult entertainment industry. It is included as its part of the \*ARR product family, we don't judge what people do / don't watch, but we do urge the use of access controls / security on adult content, so minors and other groups are not exposed to this content if they are not of legal age under your regional laws.
+
+In order to deploy the docker-compose file and host the applications, Docker must be installed as a prerequisite on your Linux, Windows, or Synology hosting environment. The following guide will help set up your Docker environment, and help manage the applications once they are installed:
+
+[Tutorial - Ultimate Starter - Docker, Portainer, Portainer Agents, and Auto-Updating Everything with Watchtower](https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/)
+
+**NOTE:** This guide assumes you have installed Docker, and Portainer for managing your docker environment.
+
+
diff --git a/docs/preparation/setting-up-folders.md b/docs/preparation/setting-up-folders.md
index 30328af..ad27143 100644
--- a/docs/preparation/setting-up-folders.md
+++ b/docs/preparation/setting-up-folders.md
@@ -18,9 +18,10 @@ If you used Linux / NAS folders in the ENV file, then use the following commands
!!! note "Select the correct operating system to execute desired commands:"
- `FOLDER_FOR_CONFIGS`
- `FOLDER_FOR_MEDIA`
-
+ - `FOLDER_FOR_CONFIGS`
+ - `FOLDER_FOR_MEDIA`
+ - `UID`
+ - `GID`
=== "Linux Shell"
@@ -72,7 +73,7 @@ After you run the commands above (Linux or Windows), **this will be your folder
!!! note "Folders on Host <--> "
- ```
+ ``` { .text .no-copy }
$ tree $FOLDER_FOR_MEDIA
⠀⠀⠀⠀⠀Host Computer:⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Inside Containers:
@@ -116,3 +117,96 @@ After you run the commands above (Linux or Windows), **this will be your folder
⠀⠀⠀⠀⠀└── watch ⠀⠀⠀⠀└── watch <-- Add .nzb and .torrent files for manual download
```
+
+
+
+
+
+**PART 5 - File Permissions Between Docker Containers and Host Computer**
+
+One of the biggest issues new users face with using Docker and accessing files on the host computer, is the inability of the container applications accessing folders / files due to incorrect permissions. If the container has incorrect permissions to the local filesystem, then access will be denied, and the container applications do not function as expected.
+
+To overcome this issue, Docker can access the folders / files of the local host computer, as a specific user and group which exists on the local system, however its imperative the local user and group which is specified in the ENV file configuration, actually exists and has the correct permissions to the folder and files on the host.
+
+For Synology / Linux users, follow the earlier guide on setting up Docker / Portainer, and create the "docker" user as documented: [Tutorial - Ultimate Starter - Docker, Portainer, Portainer Agents, and Auto-Updating Everything with Watchtower](https://www.synoforum.com/resources/ultimate-starter-docker-portainer-portainer-agents-and-auto-updating-everything-with-watchtower.183/)
+
+When logged into the terminal on Linux and Synology (via SSH), run the following command:
+
+
+Code:
+
+ sudo id docker
+
+
+This will return an entry similar to:⠀⠀⠀⠀**uid=131(docker) gid=123(docker) groups=123(docker)**
+
+This means the "docker" user has User ID of 131, Group ID of 123, and is in the following groups... just 123, which is docker. If you convert the uid and gid to PUID and PGID respectively, your config should look like this:
+
+**PUID**\=131
+**PGID**\=123
+**UMASK**\=0002 <-- Don't change this unless you know what you're doing
+**TIMEZONE**\=Australia/Brisbane
+
+Update your local Timezone using this list: [List of tz database time zones - Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
+
+**NOTE:** PUID / PGID will vary from system to system, you can't use Docker configurations from the Internet and expect them to work, unless you adjust the PUID / PGID values to match your system.
+
+
+**File Permissions for Synology NAS Users:**
+
+Synology DSM has a very complex set of permissions and folder attributes underneath the DSM web interface, effectively where the shares are located in "File Station", the the underlying folder permissions are "777" (and more), which you don't want to mess with at the command line.
+
+
+Code:
+
+ drwxrwxrwx+ 1 root root 436 Jan 1 00:10 /volume1/docker
+
+
+This means the root user and root group own the /volume1/docker share, however all of the folders and files have 777 permissions inherited recursively throughout the sub-folder structure.
+
+This might sound a bit complex, but the key point is just to use the DSM File Station web interface, and add the "docker" user to either the main shared folder, such as "/volume1/docker", or just to the selective sub-folders within a shared folder, such as "/volume1/data/torrents", "/volume1/data/usenet", and "/volume1/data/watch". This would mean the "docker" user only has access to the folders (and sub-folders) of torrents, usenet, and watch, inside the shared folder /volume1/data.
+
+Ultimately, you need to ensure the "docker" user has read/write access to whatever folders you are using on the Synology NAS, using DSM Portal.
+
+
+**File Permissions for Linux OS Users:**
+
+When you created the "docker" user for Linux, you also created a "docker" group. Additionally, you added your own Linux user account into the "docker" group, so you want to apply "docker:docker" permissions to folders for the correct access permissions to filter through the file structure.
+
+If you want to be security conscience and only allow members of the "docker" group (and running docker applications) access to for docker and media folders, you can execute the following commands, which also turn on the SetGid bit for the group, so any new folder / file created inside these folders will have full permissions to anyone in the "docker" group; so being a member of the "docker" group is key.
+
+
+Code:
+
+ sudo chmod -R u+rwx,g+rws,o+rx,o-w /opt/docker /opt/media /opt/usenet /opt/torrents /opt/watch
+ sudo chown -R docker:docker /opt/docker /opt/media /opt/usenet /opt/torrents /opt/watch
+
+
+
+Code:
+
+ drwxrwsr-x+ 15 docker docker 4096 Jan 01 00:10 /opt/docker
+ drwxrwsr-x+ 12 docker docker 4096 Jan 01 00:10 /opt/media
+ drwxrwsr-x+ 12 docker docker 4096 Jan 01 00:10 /opt/torrents
+ drwxrwsr-x+ 17 docker docker 4096 Jan 01 00:10 /opt/usenet
+ drwxrwsr-x+ 2 docker docker 53248 Jan 01 00:10 /opt/watch
+
+
+
+If you don't share your Linux host computer with other users and you are having problems with access and permissions, you can always using the following commands, which allow everyone to have absolute access:
+
+
+Code:
+
+ sudo chmod -R 777 /opt/docker /opt/media /opt/usenet /opt/torrents /opt/watch
+ sudo chown -R docker:docker /opt/docker /opt/media /opt/usenet /opt/torrents /opt/watch
+
+
+**NOTE:** If you ever experience issues with file / permission access issues, then rerun both the "chmod" and "chown" commands above, and restart your docker media stack.
+
+
+**File Permissions for Windows OS Users:**
+
+Is this even needed, does Docker run as system or local user account? - needs testing.
+
+
diff --git a/docs/remote-access/authelia.md b/docs/remote-access/authelia.md
new file mode 100644
index 0000000..20efeea
--- /dev/null
+++ b/docs/remote-access/authelia.md
@@ -0,0 +1,54 @@
+# Authelia - Authentication and Authorisation Server
+
+Authelia is an open-source Authentication and Authorization (AA) Server and portal fulfilling the identity and access management (IAM) role of information security in providing multi-factor authentication and single sign-on (SSO) for your applications via a web portal. We will integrate it into the SWAG Nginx Reverse Proxy to manage remote secure access into your home media stack network.
+
+---
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+"Configure Remote Access" Menu and Pages will document steps in order to configure all the applications to allow remote access into your home network / Jellyfin server from the Internet.
+
+These pages to document the integrated of:
+
+- Cloudflare for Domain Name Registration and Hosting (Your Own Internet Address)
+- DDNS-Updater to Update DNS Records Hosted on Cloudflare DNS, or Public DDNS Provider
+- Authelia for User Authentication / Authorisation - AA Server
+- Cloudflare Zero Trust Network Access
+- Nginx Reverse Proxy Server (SWAG)
+- Automate SSL Install with Let's Encrypt / ZeroSSL Certificate Authorities
+- Heimdall (Link Manager) - Configure Links for All Internet Web Services.... Jellyfin / *ARR Apps etc..
+
+
+## Heading Two
+
+## Heading Three
+
+
+
+
+## Activate Authelia Integration in SWAG Container
+
+How to set up users, passwords and groups in Authelia
+[https://www.authelia.com/reference/guides/passwords/](https://www.authelia.com/reference/guides/passwords/)
+
+
+[https://www.authelia.com/integration/prologue/get-started/](https://www.authelia.com/integration/prologue/get-started/)
+
+
+```
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/authelia-server.conf
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/authelia-location.conf
+
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
+include /config/nginx/authelia-server.conf;
+
+sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-server.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-server.conf
+sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-location.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/authelia-location.conf
+```
+
diff --git a/docs/remote-access/cloudflare-domain-management.md b/docs/remote-access/cloudflare-domain-management.md
new file mode 100644
index 0000000..a1a4225
--- /dev/null
+++ b/docs/remote-access/cloudflare-domain-management.md
@@ -0,0 +1,77 @@
+# Cloudflare - Domain Management
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+"Configure Remote Access" Menu and Pages will document steps in order to configure all the applications to allow remote access into your home network / Jellyfin server from the Internet.
+
+These pages to document the integrated of:
+
+- Cloudflare for Domain Name Registration and Hosting (Your Own Internet Address)
+- DDNS-Updater to Update DNS Records Hosted on Cloudflare DNS, or Public DDNS Provider
+- Authelia for User Authentication / Authorisation - AA Server
+- Cloudflare Zero Trust Network Access
+- Nginx Reverse Proxy Server (SWAG)
+- Automate SSL Install with Let's Encrypt / ZeroSSL Certificate Authorities
+- Heimdall (Link Manager) - Configure Links for All Internet Web Services.... Jellyfin / *ARR Apps etc..
+
+
+## Heading Two
+
+## Heading Three
+
+
+
+
+
+## Configuring SWAG HTTP / DNS
+In order for the Certbot tool inside SWAG to be able to request / issue a digital SSL certificate from Let's Encrypt or ZeroSSL, you need to set up the validation type in ENV.
+```
+sudo vi docker-compose.env
+VALIDATION=dns
+DNSPLUGIN=cloudflare
+```
+If you're using "dns" as the validation process, select the DNS plugin that suits your environment, and make appropriate updates.
+
+DNS plugins are located: "**FOLDER_FOR_CONFIGS/swag/dns-conf/**"
+
+>The domain name you used in "**URL**" MUST resolve back to your Internet IP address, and your Internet Router / Firewall be set up to forward the ports **80** and **443** to your Docker host IP address, on ports **5080** and **5443** respectively.
+
+Refer to:
+
+- [https://docs.linuxserver.io/general/swag#cert-provider-lets-encrypt-vs-zerossl](https://docs.linuxserver.io/general/swag#cert-provider-lets-encrypt-vs-zerossl)
+- [https://docs.linuxserver.io/general/swag#web-hosting-examples](https://docs.linuxserver.io/general/swag#web-hosting-examples)
+- [https://docs.linuxserver.io/general/swag#reverse-proxy](https://docs.linuxserver.io/general/swag#reverse-proxy)
+- [https://docs.linuxserver.io/general/swag#authorization-method](https://docs.linuxserver.io/general/swag#authorization-method)
+
+SWAG has many different plugins available to help validate your "your-domain-name.com" / IP address, via DNS, they are located in the $FOLDER_FOR_CONFIGS/swag/dns-conf folder.
+For example, to set up the Cloudflare plugin, edit the following:
+```
+sudo vi $FOLDER_FOR_CONFIGS/swag/dns-conf/cloudflare.ini
+```
+**You can then update the ENV file, delete the SWAG container and re-deploy it, to build a new container with the updated configurations.**
+
+###Once your SWAG Server has validated "your-domain-name.com" / IP address, and installed an SSL certificate, the Nginx web server will start working.
+
+###If you have forwarded ports 80 and 443 to the Docker host on 5080 and 5443, then you should be able to access the Nginx web server welcome page from the Internet.
+
+You can use an online remote web browser to check if your site is accessible from the Internet. Go to [https://www.browserling.com](https://www.browserling.com) and put in your domain name to test.
+
+>NOTE: All HTTP traffic on port 80 is automatically redirected to HTTPS on port 443, so it helps to have both ports open and redirected.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/remote-access/cloudflare-zero-trust.md b/docs/remote-access/cloudflare-zero-trust.md
new file mode 100644
index 0000000..4302b2b
--- /dev/null
+++ b/docs/remote-access/cloudflare-zero-trust.md
@@ -0,0 +1,26 @@
+# Cloudflare - Zero Trust Network Access
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+"Configure Remote Access" Menu and Pages will document steps in order to configure all the applications to allow remote access into your home network / Jellyfin server from the Internet.
+
+These pages to document the integrated of:
+
+- Cloudflare for Domain Name Registration and Hosting (Your Own Internet Address)
+- DDNS-Updater to Update DNS Records Hosted on Cloudflare DNS, or Public DDNS Provider
+- Authelia for User Authentication / Authorisation - AA Server
+- Cloudflare Zero Trust Network Access
+- Nginx Reverse Proxy Server (SWAG)
+- Automate SSL Install with Let's Encrypt / ZeroSSL Certificate Authorities
+- Heimdall (Link Manager) - Configure Links for All Internet Web Services.... Jellyfin / *ARR Apps etc..
+
+
+## Heading Two
+
+## Heading Three
diff --git a/docs/remote-access/ddns-updater.md b/docs/remote-access/ddns-updater.md
new file mode 100644
index 0000000..04674a0
--- /dev/null
+++ b/docs/remote-access/ddns-updater.md
@@ -0,0 +1,62 @@
+# DDNS-Updater - Keep Dynamic IP / DNS Mappings Updated
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+"Configure Remote Access" Menu and Pages will document steps in order to configure all the applications to allow remote access into your home network / Jellyfin server from the Internet.
+
+These pages to document the integrated of:
+
+- Cloudflare for Domain Name Registration and Hosting (Your Own Internet Address)
+- DDNS-Updater to Update DNS Records Hosted on Cloudflare DNS, or Public DDNS Provider
+- Authelia for User Authentication / Authorisation - AA Server
+- Cloudflare Zero Trust Network Access
+- Nginx Reverse Proxy Server (SWAG)
+- Automate SSL Install with Let's Encrypt / ZeroSSL Certificate Authorities
+- Heimdall (Link Manager) - Configure Links for All Internet Web Services.... Jellyfin / *ARR Apps etc..
+
+
+## Heading Two
+
+## Heading Three
+
+
+
+
+## Configuring DDNS-Updater for Reverse Proxy
+
+Reference: [https://hub.docker.com/r/qmcgaw/ddns-updater](https://hub.docker.com/r/qmcgaw/ddns-updater)
+
+If you have a Dynamic IP address, you will need a way to keep your Dynamic IP Address insync with your registered domain name. The DNS-Updater container supports MANY DDNS service providers, however we need to use Cloudflare as part of the Authelia zero trust framework for our multifacture authentication, so it makes sense to use Cloudflare to also host your domain and update it with DDNS-Updater. Head over to Cloudflare and register a free account: [https://dash.cloudflare.com/sign-up](https://dash.cloudflare.com/sign-up)
+
+Once you have registered a free account with Cloudflare, you can transfer your existing domain to Cloudflare with "Domain Registration" --> "Transfer Domains", or you can purchase a new domain inside Cloudflare with "Domain Registration" --> "Purchase Domains".
+
+If you don't want to pay for a domain and want to use a free DDNS domain, then check out the DDNS-Updater documenation and follow the DDNS set up for your preferred option.
+
+Configure the DDNS-Updater by editing the "config.json" file with the details and credentials for your DDNS provider.
+
+```
+sudo vi FOLDER_FOR_CONFIGS/ddns-updater/config.json
+
+{
+ "settings": [
+ {
+ "provider": "cloudflare",
+ "zone_identifier": "zone id",
+ "domain": "your-domain-name.com",
+ "host": "@",
+ "ttl": 600,
+ "token": "yourtoken",
+ "ip_version": "ipv4"
+ }
+ ]
+}
+```
+
+Restart the DDNS-Updater container, then check the status at: [http://localhost:6500](http://localhost:6500)
+
diff --git a/docs/remote-access/heimdall.md b/docs/remote-access/heimdall.md
new file mode 100644
index 0000000..bddeb25
--- /dev/null
+++ b/docs/remote-access/heimdall.md
@@ -0,0 +1,64 @@
+# Heimdall - Website Link Manager
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+"Configure Remote Access" Menu and Pages will document steps in order to configure all the applications to allow remote access into your home network / Jellyfin server from the Internet.
+
+These pages to document the integrated of:
+
+- Cloudflare for Domain Name Registration and Hosting (Your Own Internet Address)
+- DDNS-Updater to Update DNS Records Hosted on Cloudflare DNS, or Public DDNS Provider
+- Authelia for User Authentication / Authorisation - AA Server
+- Cloudflare Zero Trust Network Access
+- Nginx Reverse Proxy Server (SWAG)
+- Automate SSL Install with Let's Encrypt / ZeroSSL Certificate Authorities
+- Heimdall (Link Manager) - Configure Links for All Internet Web Services.... Jellyfin / *ARR Apps etc..
+
+
+## Heading Two
+
+## Heading Three
+
+
+
+
+
+
+## Activate Heimdall Integration in SWAG Container
+```
+sudo cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/heimdall.subfolder.conf
+
+#Enable this line
+include /config/nginx/authelia-location.conf;
+
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
+
+```
+
+
+# THESE ARE ITEMS FOR NOTES ONLY AT THIS POINT
+
+```
+Text Editor - Open:
+
+heimdall.subfolder.conf.sample
+sudo vi $FOLDER_FOR_CONFIGS/swag/www/index.html
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
+sudo vi $FOLDER_FOR_CONFIGS/swag/nginx/site-confs/default.conf
+sudo -E vi $FOLDER_FOR_CONFIGS/authelia/
+sudo -E vi $FOLDER_FOR_CONFIGS/authelia/
+
+```
+
+
+[https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia](https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia)
+
+Test...
+
diff --git a/docs/remote-access/nginx-reverse-proxy.md b/docs/remote-access/nginx-reverse-proxy.md
new file mode 100644
index 0000000..7258e44
--- /dev/null
+++ b/docs/remote-access/nginx-reverse-proxy.md
@@ -0,0 +1,120 @@
+# Nginx - Reverse Proxy
+
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+"Configure Remote Access" Menu and Pages will document steps in order to configure all the applications to allow remote access into your home network / Jellyfin server from the Internet.
+
+These pages to document the integrated of:
+
+- Cloudflare for Domain Name Registration and Hosting (Your Own Internet Address)
+- DDNS-Updater to Update DNS Records Hosted on Cloudflare DNS, or Public DDNS Provider
+- Authelia for User Authentication / Authorisation - AA Server
+- Cloudflare Zero Trust Network Access
+- Nginx Reverse Proxy Server (SWAG)
+- Automate SSL Install with Let's Encrypt / ZeroSSL Certificate Authorities
+- Heimdall (Link Manager) - Configure Links for All Internet Web Services.... Jellyfin / *ARR Apps etc..
+
+
+## Heading Two
+
+## Heading Three
+
+
+
+
+
+
+
+## For Reverse Proxy into your network (from the Internet):
+
+ Portal | Application | Function
+-------- | -------- | --------
+[http://your-domain-name.com](http://your-domain-name.com)|SWAG|Reverse Proxy
+[https://your-domain-name.com](http://your-domain-name.com)|SWAG|Reverse Proxy
+
+The SWAG container provides Nginx Reverse Proxy and MFA running on ports **5080/HTTP** and **5443/HTTPS**, so they don't conflict with other services running on the Docker host computer. To access your Reverse Proxy from the Internet, you need to set up your gateway / router, to allow Internet ports **80** and **443** into your network, but redirect them to the Docker host IP Address on ports **5080** and **5443** respectively.
+
+Port **80** will be accessible on the Internet and redirected to the Reverse Proxy on port **5080**, however it will redirect to HTTPS protocol using port **443** via the Internet, which will also be redirected to the Reverse Proxy on port **5443**. Reverse Proxy port numbers can be changed as required in the ENV file if required.
+
+The SWAG container requires a resolvable domain name, and will automatically install SSL certificates using either Let's Encrypt or Zero SSL providers, and is also able to provide Multi-Factor Authentication (MFA), to provide strong security for your Internet connected applications.
+
+ - [https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia](https://www.linuxserver.io/blog/zero-trust-hosting-and-reverse-proxy-via-cloudflare-swag-and-authelia)
+
+
+
+
+
+# THESE ARE ITEMS FOR NOTES ONLY AT THIS POINT
+
+
+
+cat /home/geekau/docker/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
+
+/home/geekau/docker/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
+
+
+
+
+$FOLDER_FOR_CONFIGS/swag/
+$FOLDER_FOR_CONFIGS/swag/dns-conf/
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample
+$FOLDER_FOR_CONFIGS/swag/nginx/
+$FOLDER_FOR_CONFIGS/swag/nginx/
+$FOLDER_FOR_CONFIGS/swag/nginx/proxy.conf
+$FOLDER_FOR_CONFIGS/swag/nginx/nginx.conf
+
+
+
+sudo -E cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sabnzbd.subfolder.conf
+sudo -E cp $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf.sample $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/sonarr.subfolder.conf
+ls -la $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/*.conf
+ls -la $FOLDER_FOR_CONFIGS/swag/nginx/proxy-confs/
+
+mv /mnt/user/appdata/swag/nginx/proxy-confs/sonarr.subdomain.conf.sample /mnt/user/appdata/swag/nginx/proxy-confs/sonarr.subdomain.conf
+
+
+
+audiobookshelf.subdomain.conf.sample
+audiobookshelf.subfolder.conf.sample
+authelia.subdomain.conf.sample
+bazarr.subdomain.conf.sample
+bazarr.subfolder.conf.sample
+filebot.subdomain.conf.sample
+filebot.subfolder.conf.sample
+jellyfin.subdomain.conf.sample
+jellyfin.subfolder.conf.sample
+jellyseerr.subdomain.conf.sample
+lidarr.subdomain.conf.sample
+lidarr.subfolder.conf.sample
+mylar.subdomain.conf.sample
+mylar.subfolder.conf.sample
+portainer.subdomain.conf.sample
+portainer.subfolder.conf.sample
+prowlarr.subdomain.conf.sample
+prowlarr.subfolder.conf.sample
+qbittorrent.subdomain.conf.sample
+qbittorrent.subfolder.conf.sample
+radarr.subdomain.conf.sample
+radarr.subfolder.conf.sample
+readarr.subdomain.conf.sample
+readarr.subfolder.conf.sample
+sabnzbd.subdomain.conf.sample
+sabnzbd.subfolder.conf.sample
+sonarr.subdomain.conf.sample
+sonarr.subfolder.conf.sample
+tdarr.subdomain.conf.sample
+
+
+
diff --git a/docs/remote-access/secure-web-app-gateway.md b/docs/remote-access/secure-web-app-gateway.md
new file mode 100644
index 0000000..14adfbb
--- /dev/null
+++ b/docs/remote-access/secure-web-app-gateway.md
@@ -0,0 +1,26 @@
+# SWAG - Secure Web Application Gateway
+
+## Heading One
+
+!!! Danger "Warning: Page Under Development"
+
+ This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+
+
+
+"Configure Remote Access" Menu and Pages will document steps in order to configure all the applications to allow remote access into your home network / Jellyfin server from the Internet.
+
+These pages to document the integrated of:
+
+- Cloudflare for Domain Name Registration and Hosting (Your Own Internet Address)
+- DDNS-Updater to Update DNS Records Hosted on Cloudflare DNS, or Public DDNS Provider
+- Authelia for User Authentication / Authorisation - AA Server
+- Cloudflare Zero Trust Network Access
+- Nginx Reverse Proxy Server (SWAG)
+- Automate SSL Install with Let's Encrypt / ZeroSSL Certificate Authorities
+- Heimdall (Link Manager) - Configure Links for All Internet Web Services.... Jellyfin / *ARR Apps etc..
+
+
+## Heading Two
+
+## Heading Three
diff --git a/mkdocs.yml b/mkdocs.yml
index a8ba240..2b29821 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -48,12 +48,13 @@ nav:
- Jellyfin (Media Server): configuration/jellyfin.md
- Jellyseerr (Request Manager): configuration/jellyseerr.md
- Configure Remote Access:
- - Cloudflare Domain Management: configuration/cloudflare-domain-management.md
- - DDNS-Updater: configuration/ddns-updater.md
- - Secure Web App Gateway: configuration/secure-web-app-gateway.md
- - Authelia (AA Server): configuration/authelia.md
- - Heimdall (Link Manager): configuration/heimdall.md
- - Cloudflare Zero Trust: configuration/cloudflare-zero-trust.md
+ - Cloudflare Domain Management: remote-access/cloudflare-domain-management.md
+ - DDNS-Updater: remote-access/ddns-updater.md
+ - Secure Web App Gateway: remote-access/secure-web-app-gateway.md
+ - Nginx - Reverse Proxy: remote-access/nginx-reverse-proxy.md
+ - Authelia (AA Server): remote-access/authelia.md
+ - Heimdall (Link Manager): remote-access/heimdall.md
+ - Cloudflare Zero Trust: remote-access/cloudflare-zero-trust.md
- Help:
- Application Websites: help/application-websites.md
- Contributing: help/contributing.md
@@ -65,8 +66,6 @@ nav:
- Old Notes 4: help/4.md
- Old Notes 5: help/5.md
-
-
theme:
name: material
custom_dir: overrides
@@ -152,6 +151,7 @@ markdown_extensions:
- def_list
- footnotes
- md_in_html
+ - tables
- toc:
title: "On This Page:"
toc_depth: 4
From a6f8e9ae475d32c3a1f8dd1974432dfd7eab37cc Mon Sep 17 00:00:00 2001
From: geekau
Date: Sun, 12 Feb 2023 21:54:21 +1000
Subject: [PATCH 19/29] pre-publish edits
---
docs/configuration/gluetun.md | 21 +-
docs/configuration/qbittorrent.md | 333 +++++++++++++---------
docs/help/template.md | 2 +
docs/img/qbittorrent-bittorrent.png | Bin 0 -> 34837 bytes
docs/img/qbittorrent-category-1.png | Bin 0 -> 15875 bytes
docs/img/qbittorrent-category-2.png | Bin 0 -> 5953 bytes
docs/img/qbittorrent-category-3.png | Bin 0 -> 7658 bytes
docs/img/qbittorrent-completed.png | Bin 0 -> 100893 bytes
docs/img/qbittorrent-connection.png | Bin 0 -> 22792 bytes
docs/img/qbittorrent-downloads.png | Bin 0 -> 44793 bytes
docs/img/qbittorrent-login.png | Bin 0 -> 9301 bytes
docs/img/qbittorrent-speed.png | Bin 0 -> 19968 bytes
docs/img/qbittorrent-webui.png | Bin 0 -> 34700 bytes
docs/{javascript => javascripts}/extra.js | 0
docs/javascripts/tablesort.js | 6 +
docs/preparation/prepare-media-library.md | 18 +-
docs/preparation/setting-up-folders.md | 38 ++-
mkdocs.yml | 4 +-
18 files changed, 273 insertions(+), 149 deletions(-)
create mode 100644 docs/img/qbittorrent-bittorrent.png
create mode 100644 docs/img/qbittorrent-category-1.png
create mode 100644 docs/img/qbittorrent-category-2.png
create mode 100644 docs/img/qbittorrent-category-3.png
create mode 100644 docs/img/qbittorrent-completed.png
create mode 100644 docs/img/qbittorrent-connection.png
create mode 100644 docs/img/qbittorrent-downloads.png
create mode 100644 docs/img/qbittorrent-login.png
create mode 100644 docs/img/qbittorrent-speed.png
create mode 100644 docs/img/qbittorrent-webui.png
rename docs/{javascript => javascripts}/extra.js (100%)
create mode 100644 docs/javascripts/tablesort.js
diff --git a/docs/configuration/gluetun.md b/docs/configuration/gluetun.md
index 93b5181..984db89 100644
--- a/docs/configuration/gluetun.md
+++ b/docs/configuration/gluetun.md
@@ -12,13 +12,28 @@ Basic intro to Docker... embed Docker intro video etc..
Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+---
+
+## Intro
+
+Gluetun is a "Lightweight swiss-knife-like VPN client to multiple VPN service providers", it has built-in support for many Internet VPN Providers such as NordVPN / Private Internet Access (PIA), and also supports customised configurations that support OpenVPN and Wireguard solutions.
+
+
+
+The Gluetun docker container is the MOST IMPORTANT container in the Media-Guide, as it
-## Heading Two
-## Heading Three
The Gluetun docker container will establish a secure VPN tunnel to your choice of VPN service provider, and then it will force all of the other docker applications in the stack to use the VPN tunnel, if they need to communicate out to the Internet. If Gluetun drops the VPN tunnel at any time, for any reason, then all Internet traffic between the docker applications and the Internet are blocked until the VPN connection is re-established. This provides encrypted security to all data transfers, and assurance that unencrypted data will not be sent if there is a network error.
All local data traffic between the applications in the docker stack, use the basic HTTP / unencrypted protocol, as the data in not going out to the Internet. This saves a considerable amount of configuration of digital certificates on portals / data traffic which will only be used internally.
-**NOTE:** All network traffic going in and out of the **DOCKER\_SUBNET** goes through the Gluetun security container. Some guides advise to only secure the network traffic for the download clients, this guide takes a more secure approach and secures ALL network going out to the Internet.
\ No newline at end of file
+**NOTE:** All network traffic going in and out of the **DOCKER\_SUBNET** goes through the Gluetun security container. Some guides advise to only secure the network traffic for the download clients, this guide takes a more secure approach and secures ALL network going out to the Internet.
+
+
+
+
+- Gluetun Docker Image: [https://hub.docker.com/r/qmcgaw/gluetun](https://hub.docker.com/r/qmcgaw/gluetun)
+- Gluetun Wiki: [https://github.com/qdm12/gluetun/wiki](https://github.com/qdm12/gluetun/wiki)
+
+
diff --git a/docs/configuration/qbittorrent.md b/docs/configuration/qbittorrent.md
index 3eef446..5627000 100644
--- a/docs/configuration/qbittorrent.md
+++ b/docs/configuration/qbittorrent.md
@@ -2,193 +2,260 @@
qBittorrent is a well established open-source BitTorrent client. qBittorrent features a light footprint, whilst providing all the features you may need. It uses the high-tech libtorrent-rasterbar library, which means greater download and upload speed, as well as excellent support of the latest features in the BitTorrent protocol qBittorrent is fast, stable and provides unicode support as well as many features.
-## Heading One
+!!! Info "Additional Application Information - External Links"
+ - Local WebUI Address: [http://localhost:8200](http://localhost:8200)
+ - Application Website: [https://www.qbittorrent.org/](https://www.qbittorrent.org/)
+ - Docker Information: [https://docs.linuxserver.io/images/docker-qbittorrent](https://docs.linuxserver.io/images/docker-qbittorrent)
-!!! Danger "Warning: Page Under Development"
- This page is still under development and may not have accurate information, and should be considered incomplete / inaccurate until this notice is removed.
+## Login to WebUI
+Go to the [qBittorrent WebUI](http://localhost:8200) and log into the application
+
-Basic intro to Docker... embed Docker intro video etc..
+!!! Tip "Default Login Credentials"
-Provide steps to install Docker on Windows, Linux, MacOS, Synology NAS and other hosts where possible
+ - Username: ==admin==
+ - Password: ==adminadmin==
+ Default Username and Password can be changed by navigating to ==Options Icon== --> ==Web UI== --> ==Authentication==
-## Heading Two
+## Change Default Options
-## Heading Three
+Open the Options dialog and make the following changes in order to the default settings.
+### Download Paths
+Goto: ==Options Icon== --> ==Downloads==
-**NOTE: If the qBittorrent portal fails to load with an error message**, it may be due to the themepark module, this can be resolved by editing "FOLDER_FOR_CONFIGS/qbittorrent/qBittorrent/qBittorrent.conf" and changing "WebUI\AlternativeUIEnabled=true" to "false" and restarting qBittorrent.
+
+### Connection Settings
+Goto: ==Options Icon== --> ==Connection==
-**PART 7 - Configuring Your Torrent / NZB Download Clients
-
-
-Validating The Security of Your VPN Network Connection:**
-
-As the Gluetun container is providing full VPN encryption for the entire Docker stack, its important to first check the VPN is providing obscurity for your Internet connection.
-
-From any computer in your network, you will be able to see what the IP Address for your Internet connection is by going to [ifconfig.io](http://ifconfig.io)
-
-Now open Portainer, and go to the Transmission and NZBGet containers and connect to "Console", then type the following into the terminal window:
-
+
+
+!!! Warning "Listening Port"
+
+ The listening port of ==6881== should not be changed, its embedded into the qBittorrent Docker image and routes traffic through the secure Gluetun VPN container.
+
+ If you need to change the incoming connection port, change the following variable settings in the ==docker-compose.env== file, and redeploy the qBittorrent Docker configuration:
+
+ - `QBIT_PORT_TCP=6881`
+ - `QBIT_PORT_UDP=6881`
+
+ Once you've changed these settings in the ==docker-compose.env== file and redeployed the configuration, all incoming TCP/UDP connections on the new port numbers will be routed in through the secure Gluetun VPN connection, then Docker will redirect the traffic to the qBittorrent container, which will still be listening on port 6881.
+
+ > NOTE: Under NO circumstances should your change the 6881 port inside the application WebUI, and certainly do not enable UPnP / NAT-PMP. The incoming connection is not coming through your home router, it is coming through the secure Gluetun VPN connection.
+
+
+!!! Hint "Connection Limits"
+
+ These are the default connection limits, you can tune these yourself once you have set up your qBittorrent client.
+
+ > NOTE: Having too many peer connections and concurrent download sessions may be very ineffficient, and slow down your overall completion rate.
+
+ > Changing these settings to high will consume your Internet bandwidth and RAM untilisation on your host computer.
+
+### Download Speed
+
+
+Goto: ==Options Icon== --> ==Speed==
+
+
+
+!!! Hint "Download Speed"
+
+ These are the default Global and Alternate rate limits, so you can limit the amount of download bandwith you allow qBittorrent to consume.
+
+ If you have a low Internet connection and only want to download while your sleeping, then restrict the ==Global Rate Limits== to a smaller limit, then set the ==Alternate Rate Limits== to a higher number (or "0" for unlimited), then enable the schedule for when the alternate rate limit should be used... i.e. when you're sleeping.
+
+ > NOTE: If you have a poor internet connection, you should set these limits below your ISP Internet connection speed.
+
+ > You can test your Internet speed at [https://www.speedtest.net/](https://www.speedtest.net/), however just remember your qBittorrent connection goes through the secure Gluetun VPN connection, so that will be a little bit slower due to the additional overheads for the VPN encryption.
+
+
+### BitTorrent Settings
+
+
+Goto: ==Options Icon== --> ==BitTorrent==
+
+
+
+!!! Hint "Torrent Queueing"
+
+ Change the ==Torrent Queueing== settings to tune how many active downloads / uploads / torrents your qBittorrent client will run concurrently.
+
+ > NOTE: Having too many peer connections and concurrent download sessions may be very ineffficient, and slow down your overall completion rate.
+
+ > Changing these settings to high will consume your Internet bandwidth and RAM untilisation on your host computer.
+
+!!! Warning "Seeding Limits"
+
+ Eanble the ==Seeding Limits== settings so you are able to seed the torrents after you have finished downloading them.
-Code:
+ > NOTE: Many private torrent sites / trackers will ban users if they do not seed files after downloading them, and you will to keep your seeding ratio above a minimum level. Private torrent site seed ratios are different, so keeping a reasonable ratio helps maintain good standing in these sites.
- curl ifconfig.io
-
-This will show the IP Address being used by your Transmission and NZBGet containers, which is being provided by the Gluetun VPN connection.
-
-You can check the location of the IP Address at [IP Location](https://iplocation.com)
-
-**NOTE:** If the Gluetun container is not running, or does not have an active VPN connection, then no traffic from the other containers (Transmission / NZBGet etc…) will be allowed to go out to the Internet; it is all blocked unless a secure VPN tunnel is active.
-
-**NOTE:** If you are using an active VPN account and are not able to secure a VPN connection, you should seek assistance before progressing. Synology users may need to check VPN / TUN prerequisite details in this article, and seek guidance from the Synology community: [Synology prerequisites · qdm12/gluetun Wiki](https://github.com/qdm12/gluetun/wiki/Synology-prerequisites)
-
-
-**Transmission - Torrent Download Client:**
-
-Transmission connects to trackers, seeders and peers in the torrent network in order to access content which has been uploaded to torrent groups.
-
-1\. Open Transmissions Portal: [http://localhost:9091](http://localhost:9091)
-
-2\. Press the "Spanner" icon in the bottom left corner to open "Preferences Menu"
-
-3\. Torrents Tab - Downloading to… Change this to: **/data/torrents**
-
-4\. You can adjust Torrent, Speed, Peer, and Network settings in this section. Only adjust these if you know what you're doing. Don't change the download path or peering port, as these a relative to the Transmission Docker container, not your local file or network settings - adjust these in the ENV docker-compose file.
-
-5\. If you need to manually download torrent files, they can be placed into your **FOLDER\_FOR\_WATCH** folder, and Transmission will start to download the file.
-
-6\. Completed manual file downloads will be placed into **FOLDER\_FOR\_TORRENT** folder.
-
-
-**NZBGet - Usenet Download Client:**
-
-1\. Open NZBGet Portal: [http://localhost:6789](http://localhost:6789)
-* Default Username: nzbget
-* Default Password: tegbzn6789
+### WebUI Settings
-2\. Go to the Settings page: [http://localhost:6789/#ConfigTab](http://localhost:6789/#ConfigTab)
-
-3\. "PATHS" menu, change these paths only:
-* MainDir: /data/usenet
-* DestDir: /data/usenet
-* NzbDir: /data/watch
+Goto: ==Options Icon== --> ==Web UI==
-
-4\. "NEWS-SERVERS" menu: Use this page to configure all your Usenet News Servers - Gaining access to Usenet News Servers is out of scope for this guide - sorry.
-
-5\. "SECURITY" menu: Leave these as default. However, you can empty both ControlUsername and ControlPassword fields if you want to remove username and password prompts each time you access the NZBGet portal.
-
-6\. "CATEGORIES" menu: DELETE ALL THE DEFAULT CATEGORIES
-
-7\. Add the following new category names, destdirs, and aliases for each of the "ARR" applications:
-
-**NOTE:** They must be in LOWERCASE only.
-
-
+
-**ARE THESE THE CORRECT CATEGORIES FOR STARTERS?
-
-ARE THE CATEGORY ALIASES ALLOCATED CORRECTLY?**
+!!! Warning "Web User Interface (Remote control)"
-
-
-
+ The WebUI port of ==8200== should not be changed, its embedded into the qBittorrent Docker image and routes traffic through the secure Gluetun VPN container.
+
+ If you need to change the incoming WebUI port, change the following variable settings in the ==docker-compose.env== file, and redeploy the qBittorrent Docker configuration:
-Category.Name:
+ - `WEBUI_PORT_QBITTORRENT=8200`
+
+ Once you've changed these settings in the ==docker-compose.env== file and redeployed the configuration, all incoming WebUI connections on the new port number will be routed in through the secure Gluetun VPN connection, then Docker will redirect the traffic to the qBittorrent WebUI, which will still be listening on port 8200.
-Category.DestDir
+ > NOTE: Under NO circumstances should your change the 8200 port inside the application WebUI, and certainly do not enable UPnP / NAT-PMP. The incoming connection is not coming through your home router, it is coming through the secure Gluetun VPN connection.
-Category.Aliases
+!!! Hint "Authentication"
-adult
+ Change the default Username and Password in this section, or disable user authentication entirely for clients on the localhost or local network.
-adult
+ > The Docker subnetwork for our media stack is 172.28.10.0/24, as we are going to be setting up a Nginx reverse proxy with secure authencation throught the SWAG / Cloudflare connection, we can add this address into the authentication bypass, as SWAG / Cloudflare Zero Trust will handle authentication and authorisation into your home network
-xxx,\*hentai
+!!! Hint "Use alternative Web UI"
-anime
+ ==Themepark Themes== have been enabled in the qBittorrent YAML file, you can disable the theme there, or change the theme by setting the following variable in the ==docker-compose.env== environment file, and redeploying the qBittorrent image in Docker.
+
+ - `TP_THEME=nord`
+
+
+## Download Categories
+
+When setting up our media libraries and folders, its important to store certain media types in their own folders, so each of the applications can then be set up to manage, rename and fetch meta data, depending on the media type... i.e. movies, TV shows (series), music etc.. in each of the folders.
+
+To help control the management of media files, we use "download categories" in the Torrent / Usenet download clients, which are then linked to certain folders, so media in the same categories are downloaded into the correct folders, so the *ARR Media Library Managers and Jellyfin can manage the media after its been downloaded.
+
+For example, when a movie is downloaded by qBittorrent, it is assigned the ==movie== category and will be downloaded into the folder ==/data/torrents/movies== inside the qBittorrent Docker container, which is actually mounted on the localhost filesystem in the ==FOLDER_FOR_MEDIA/torrents/movies== folder.
+
+Once the download has been completed, qBittorrent tells the *ARR Media Library Manager responisble for ==movies== it has completed (which is "Radarr"), then Radarr moves the file into its own folder ==/data/media/movies==, which is actually mounted on the localhost filesystem in the ==FOLDER_FOR_MEDIA/media/movies== folder.
+
+
+Goto: Right click ==Categories== --> ==Add Category==
+
+
+
+!!! Warning "Warning: Category Names and Save Paths Are Case Senstive"
+
+ ==Category Names== and ==Save Paths== are case senstive and must be added in lower case, to match the underlaying Linux filesystem inside the Docker images, and / or, the localhost.
+
+Goto: ==Options Icon== --> ==Downloads==
+
+
+
+!!! Hint "Save Path"
+
+ ==Save Path== only needs to have the category name, and not the full path, as it is relative to the ==Default Save Path:== which was set as `/data/torrents` above.
+
+ Therefore adding "movies" into the ==Save Path== field will actually be `/data/torrents/movies`.
+
+Continue to add the following categories:
+
+
+
+
+!!! Warning "Categories Failing To Sort Into Correct Folders"
+
+ If files are being downloaded by the *ARR Media Library Managers and they are not being sorted correctly by categories and folders, check the following setting on the Downloads Options page:
+
+ - ==Default Torrent Management Mode:== `Automatic`
+
+## Test Secure Connection
+
+As the Gluetun container is providing an encrypted VPN tunnel for the entire Docker stack, its important to first check the VPN is providing privacy / obscurity for your Internet connection and torrent traffic.
+
+From any computer in your network, you will be able to see what the IP Address for your Internet connection is by going to [ifconfig.io](http://ifconfig.io)
-anime
+Now log onto your Docker host and attach the console to the qBittorrent container using the following command:
-audio
+``` bash
+sudo docker exec -it qbittorrent bash
+```
-audio
+!!! Note "Connecting To qBittorrent Container with Portainer"
-audible
+ You can also connect to the qBittorrent container using Portainer, by selecting the container you with to connect to, then select `>_ Console`
-books
-books
+Once you have successfully connected to the qBittorrent Docker container, run the following command on the console, to check the IP Address which it is using through the VPN tunnel.
-epub
+``` bash
+curl ifconfig.io
+```
-comics
+The IP address of the remote / secure VPN connection will be displayed. Type `exit` to disconnect from the Docker interactive session.
-comics
+> NOTE: If the Gluetun container is not running, or does not have an active VPN connection, then no traffic from any of the Docker containers will be allowed to go out to the Internet; it is all blocked unless a secure VPN tunnel is active through Gluetun VPN.
-manga
+> NOTE: If you are using an active VPN account and are not able to secure a VPN connection, you should seek assistance before progressing.
-movies
+> Synology users may need to check VPN / TUN prerequisite details in this article, and seek guidance from the Synology community: [Synology prerequisites · qdm12/gluetun Wiki](https://github.com/qdm12/gluetun/wiki/Synology-prerequisites)
-movies
-music
-music
+## Download Torrent Test File
-podcasts
+Now qBittorrent is fully configured and secure behind the Gluetun VPN, you should check downloads are working correctly, by downloading a simple Torrent test file.
-podcasts
+### Manual Watch Download
-prowlarr
+Head over to [https://ubuntu.com/download/alternative-downloads](https://ubuntu.com/download/alternative-downloads) to Ubuntu's BitTorrent page, and download one of the ".torrent" files, and copy it into the ==FOLDER_FOR_MEDIA/watch== folder on the Docker host, which is mapped to the qBittorrent container folder ==/data/watch==.
-prowlarr
+As qBittorrent is monitoring the ==/data/watch== folder inside the container for incoming ".torrent" files, the torrent download will start after a short period. Once completed, the downloaded torrent will be moved to the root of the ==/data/torrents== folder, as no category was provided using the manual download step (==FOLDER_FOR_MEDIA/torrents==).
-series
+This is a good process to use qBittorrent manually for your own download requirements.
-series
+### Download Link with Category
-tv\*
+You can also download torrents by copying the Download URL or Magnet Link address of the torrent, and clicking on the "Add Torrent Link" button.
-software
+Paste the link into the "Download URL or Magnet Link address" field, and select the category which best suits the torrent. In this case, we'll select one of the other torrent download links from the Ubuntu test above, use the "==software==" Category, then select ==Download==.
-software
+
-console,pc
+If you inspect the completed torrent downloads, you will notice the manual download was not association with a category and was moved into the ==/data/torrents== directory, while the second download was assigned a category and was moved into the ==/data/torrents/software== directory.
-
-**NOTE:** You should now have 11 categories.... all in lowercase.
-
-8\. "RSS FEEDS" menu: Leave these as default
-
-9\. "INCOMING NZBS" menu: Change "NzbDirFileAge" to 5 seconds
-
-11\. "DOWNLOAD QUEUE" menu: Leave these as default
-
-12\. "CONNECTION" menu: Leave these as default
-
-13\. "LOGGING" menu: Leave these as default
-
-14\. "SCHEDULER" menu: Leave these as default
-
-15\. "CHECK AND REPAIR" menu: Leave these as default
-
-16\. "UNPACK" menu: Leave these as default
-
-17\. "EXTENSION SCRIPTS" menu: Leave these as default
-
-18\. Save all your changes and allow NZBGet to restart
-
-
-.
+The downloaded test torrents can now be safely deleted using the WebUI.
\ No newline at end of file
diff --git a/docs/help/template.md b/docs/help/template.md
index d3bb43f..8ffa3e0 100644
--- a/docs/help/template.md
+++ b/docs/help/template.md
@@ -177,6 +177,8 @@ flowchart LR
++ctrl+alt+del++
+++ctrl+shift+d++
+