Easiest way to Install a Complete Media Automation Stack on Ugreen ( arr suite - Sonarr, Radarr, Prowlarr, bazarr, Jellyfin, Plex, transmission + VPN)

Prefer watching over reading? This guide is also available on YouTube

Watch on youtube


If you ever wanted to automate your media where searching, downloading, organizing, and streaming happens automatically , then this is the stack to deploy. I will show you how to install it on your Ugreen without having to run any command at all. we will do it all with the Ugreen Docker app.

The apps we will use are

  • Sonarr : TV show automation
  • Radarr : Movie automation
  • Prowlarr : Indexer manager
  • FlareSolverr : Bypass Cloudflare-protected indexers like 1337x
  • Bazarr : Subtitle management
  • Jellyfin & Plex : Media streaming
  • Gluetun + Transmission : Torrenting safely via VPN

Other than transmission , nothing else goes via vpn so you save your vpn bandwidth only for torrents.

Once configured Sonarr/Radarr find content, Prowlarr supplies indexers ( where the media is - the torrent file for media), Transmission downloads your torrent via vpn, Bazarr fetches subtitles and Jellyfin/Plex serve media. Fully automated you just have to search for media in Sonarr and Radarr.

Folder Structure

We create all the required directories automatically when the containers start for the first time. Your project directory becomes the single root for everything.

project/
├── downloads/
├── tv/
├── movies/
└── config/
    ├── sonarr/
    ├── radarr/
    ├── prowlarr/
    ├── bazarr/
    ├── jellyfin/
    ├── plex/
    ├── transmission/
    └── gluetun/
  • downloads/ is used for temporary downloads by transmission, once complete they move to tv/ for series and movies/ for films
  • tv/ and /movies are used for tv and movies storage which are read by Jellyfin and plex
  • config/ has several folders one for each service configuration storage.

Install Step 1 : Find your PUID and PGID

Find your PUID and PGID by going to docker app -> Project -> Create new

We use PUID and PGID of current logged in user to ensure that there are no premission issues later.

Login to your UGOS -> Click on docker app -> Project -> Create new -> Take note of PUID/PGID Just above the YAML paste area. Replace this in the environment file below

Save this file as env.env on your computer ( or any other name doesnt matter. finally we will upload it to ugreen, rename it as .env )

PUID=1000
PGID=10
TZ=Asia/Dubai
CONFIG_DIR=./config
DOWNLOADS_DIR=./downloads
TV_DIR=./TV
MOVIES_DIR=./Movies

Install Step 2 : Find your VPN service provider credentials and settings

You can find the settings for your service provider here.

gluetun-wiki/setup/providers at main · qdm12/gluetun-wiki
Home to the Markdown Wiki page for Gluetun. Contribute to qdm12/gluetun-wiki development by creating an account on GitHub.

GLUETUN PROVIDERS - CHECK FOR YOUR PROVIDER CONFIG HERE

In the Docker Compose file, you only need to edit the Gluetun service section (under service: gluetun):

    environment:      
    # https://github.com/qdm12/gluetun-wiki/tree/main/setup/providers -> check for your provider here 
    - VPN_SERVICE_PROVIDER=protonvpn
    - OPENVPN_USER=youruser
    - OPENVPN_PASSWORD=yourpassword
    - SERVER_COUNTRIES=Netherlands

Remember - This username and password is not your regular VPN account email or password. Most VPN providers generate separate credentials specifically for OpenVPN / WireGuard. These are created inside the provider’s dashboard or console. For example for ProtonVPN you have to generate OpenVPN credentials in the account dashboard. If you use your normal login password, the VPN will not connect.

Install Step 3 : Prepare your compose file

Download the Docker Compose YAML file from the link below. Edit only the Gluetun section and update it with the VPN credentials you identified in Step 2. Save it as compose.yaml on your computer

Media Stock with Gluetun
Media Stock with Gluetun. GitHub Gist: instantly share code, notes, and snippets.

OUR COMPOSE FILE. COPY AND PASTE , CHANGE GLUETUN CREDENTIALS

Now you have 2 files - one env.env file and one compose.yaml file. These are all we need to create our application

Install Step 4 : place your yaml and env files on Ugreen.

  • Go to your Files app on Ugreen. go to shared folder \docker and create a directory , lets say stack here.
  • Upload your env.env file here
  • right click on the file and rename it to .env when you do that it will become a hidden file and will disappear.

Now your environment file .env is inside shared folder \docker\stack. we have to make sure that we make this our project directory.

  • Go to docker -> projects -> create
  • give the name stack to the project. when you do this, it will automatically pick shared folder \docker\stack as your project directory. If you give any other name, you would have to click on directory and pick this directory
  • Paste the content of your compose.yaml file that you created in step 3 in the yaml area and click deploy

Now it will pull each image, create your network and make the containers. if all goes well you will see all the containers running. check specially if gluetun container is running without any errors. If there are errors , your credentials are not correct.

Once everything is running you can go to configuring your stock

Config Step 1 : Make sure your directories have right permission

Go to your file app , navigate to your TV directory under shared folder \docker\project name , right click on it and set permissions to read/write for the logged in user. It would show permissions already exist, but do it again.

If you skip this, you might get the error folder not writable by user abc in sonarr and radarr when you add media folder.

Config Step 2 : Sonarr /Radarr configuration

Sonarr is running on port 8989 . you can access it on nasip:8989 or by clicking on the container -> quick access arrow. Radarr can be accessed on nasip:7878

4 settings you have to do in both sonarr and Radarr are as follows.

  1. It will ask you create an authentication method you can use forms or popup. Make sure that authentication is disabled for local addresses
  2. Go to settings-> media management -> add root folder and add TV folder here for sonarr. For Radarr you will add Movies folder
  3. Go to settings-> download clients -> + -> transmission and use the host as gluetun here. Remove category
  4. Settings -> general-> API key. Copy this key for prowlarr config.



Config step 3 : Prowlarr Configuration

Prowlarr is on nasip:9696 . Access this and

  1. Settings-> apps -> Radarr . use the following url
    prowlarr server : http://prowlarr:9696
    radarr url : http://radarr:7878
    API key : what you found in config step 2 for Radarr
  2. Settings-> apps -> Sonarr . use the following url
    prowlarr server : http://prowlarr:9696
    Sonarr url : http://sonarr:8989
    API key : what you found in config step 2 for Sonarr
  3. Settings -> indexers-> + -> flaresolverr.
    Tags : use a tag, say fs
    Host : use http://flaresolverr:8191
  4. Indexer-> add indexer -> choose an indexer.
    If the indexer needs cloudflare solver, use the tag fs what we used for flaresolver. If not, leave the tag empty and add. Add as many indexers as you want. They will automatically be synced with Sonarr and Radarr.

Config Step 4 : Bazarr configuration

bazarr is on ipaddress:6767 . Access it and

  1. Provider-> Enable provider and add your subtitle provider
  2. settings -> sonarr
    Address: sonarr
    API Key : your sonarr api key
  3. Settings -> Radarr
    address : radarr
    API Key : your radarr api Key


This is all you need to do. Now you shoudl be abel to go to Sonarr/radarr , search for any media file and add it to your library. It will automatically download the files.

Leave a Comment