Skip to content
This repository has been archived by the owner on Jun 18, 2023. It is now read-only.

Getting Started: 2. Configuring Marauder

Connor Bell (Makeshift) edited this page May 20, 2022 · 6 revisions

Configuring Marauder

Marauder uses a .env environment variable file to configure Rclone. This section will walk you through obtaining those.

By default, Marauder will use Rclone's crypt mount to encrypt all files (and their filenames) on the Team Drive. If you wish to change this behaviour you can edit the rclone_conf/rclone_multi_template file, but the defaults do work.

Dedicating service accounts to Rclone Mounts

We need to dedicate a service account to each of the mounts, so we simply rename a couple of our service accounts for that job.

sudo mv service_accounts/marauder1-*.json service_accounts/rclone_mount_download.json
sudo mv service_accounts/marauder2-*.json service_accounts/rclone_mount_plex.json

rclone.env

  • Make a copy of the template file
cp rclone.env.template rclone.env
  • Fill the template out with the below information.

rclone_encryption_password1 & rclone_encryption_password2

If you have a previous Rclone crypt setup

If you have previously set up Rclone with encryption, you can take password and password2 from your rclone.conf file and use them here.

Generating new encryption keys

If you need to generate new encryption keys, Marauder includes a container that borrows the script that Rclone uses to create its encrypted keys.

The following command will output two freshly generated encryption keys for you:

setup/generate_rclone_keys.sh

Note that if you ever lose these keys, you will lose access to all the data uploaded to Google Drive! Make sure you back these up safely!

rclone_gdrive_mount_folder

This is the top level encrypted folder. It should be encrypted.

rclone_team_drive_ids

This is a list of space-separated team drive IDs that you should have noted down when doing part 1.

.env

The .env file is used to configure the stack itself. If you happen to be using my Nginx Reverse Proxy Config Generator then you can set the domain var to generate subdomains and config. The plex_domain and plex_host vars are used so Plex trusts forwarded requests to that domain.

The rest of the env vars are used to enable/disable services or change certain advanced settings, eg switching the cache mode for Rclone's VFS.

cp .env.template .env

plex.env

The plex.env file is used to configure Plex. You can set the PLEX_CLAIM token, which can be used to claim the Plex server on initial startup instead of going through the login flow. You can obtain a Plex claim token from here.

You can also switch the cache mode for Rclone's VFS here. It defaults to full, which may use up more disk space but can help with buffering.

cp plex.env.template plex.env

traktarr.json

If you wish to enable Traktarr (which automatically adds Movies/TV to Radarr/Sonarr), you can set it up here. By default, it grabs the top 500 from every single list I could find. That's probably over the top for you. Refer to Traktarr's Docs for config settings. You'll need to add your Radarr/Sonarr API keys after first startup, but you can add your OMDB and Trakt keys in advance if you like.

See Service Configuration: Traktarr for more information on finding these keys.

cp traktarr.json.template traktarr.json

Done!

You should now have an rclone.env that looks something like this:

# Rclone
SECRETS_SET=true
rclone_encryption_password1=7nMwYhDFUkikVuXezHM5IKIfTKzY1xRhTRJ7n2oFR4tH9CN_
rclone_encryption_password2=mPDwbGcnFW0pCttUhPAxYNfj4Ttalldgcic7v5xoAp1zv
rclone_gdrive_mount_folder=encrypted
rclone_team_drive_ids=0Afoobzlzsasfaf9PVA 0Abarbaroow9fooPVA 0ff-b1hhfNoXboo9PVA

and a .env that looks something like this:

domain=example.com
plex_domain=plex.example.com
plex_host=127.0.0.1

nzbhydra_enabled=1
radarr_enabled=1
sonarr_enabled=1
sabnzbd_enabled=1
traktarr_enabled=1
medusa_enabled=0
headphones_enabled=0
lazylibrarian_enabled=0
mylar_enabled=0
bazarr_enabled=1
jackett_enabled=1
transmission_enabled=0
watchtower_enabled=1
plex_enabled=1
rclone_enabled=1

and a plex.env that looks something like this:

PLEX_CLAIM=claim-somearbitrarystringhere

Next

You can now move on to the next step, Starting the Stack.