Skip to content
Plex server and Transmission bundled together
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Plex + Transmission

This project aims to create a bundled project to pull up Plex server and Transmission-cli together and make them work together seamlessly.

The project can be coupled with this Loadbalancer based on nginx-proxy, dockergen and letsencrypt to automatically handle routing and https.


You don't need Loadbalancer if you already have a similar solution set up as long as they make use of the environment variables VIRTUAL_HOST and LETSENCRYPT_HOST

You'll need Docker and Docker Compose to test this out.



To configure Plex, you'll need to edit the file Preferences.sample.xml. You'll find the file in ./config/plex/Library/Application Support/Plex Media Server/

  • Rename it to Preferences.xml
  • Update customConnections to your ADVERTISE_IP (See below)
  • Set PlexOnlineToken, you can get this on
  • Set PlexOnlineUsername with your username
  • Update PlexOnlineMail with the email you use on
  • Finally set a friendly name for your server by setting FriendlyName


For Transmission, edit settings.samle.json which you'll find in ./config/ts/

  • Rename the file to settings.json
  • Set rpc-host-whitelist to your domain for this container (See below VIRTUAL_HOST_TS)
  • Set your password by updating rpc-password. After you login the first time, Transmission will hash it automatically
  • And finally set a username rpc-username

General config

Now some configuration to expose the containers and make them accessible

  • Rename .env.sample to .env in the project root folder
  • Set VIRTUAL_HOST_PLEX to the domain you want to use to access Plex Server and VIRTUAL_HOST_TS for the domain you want for Transmission
  • To add https you must set LETSENCRYPT_EMAIL_PLEX for Plex and LETSENCRYPT_EMAIL_TS for Transmission
  • You need to set PLEX_CLAIM to bind your server to your account
  • Also set PLEX_HOSTNAME to the domain you want Plex to have. It should be the same as one of the values in VIRTUAL_HOST_PLEX
  • To wrap it up, set PLEX_ADVERTISE_IP to the ip reaching your server or a dedicated domain.


This is just a proof of concept. I cannot be liable if you use this project for piracy or otherwise illegal activity.

You can’t perform that action at this time.