btplex is a project aimed at getting a fully automated media server setup as quickly and easily as possible on any computer capable of running docker
btplex includes:
- Plex Media Server - watch your media library from anwhere on any device
- Sonarr - automatically download your favourite tv shows
- Radarr - automatically download movies
- Jackett - improved torrent searching in Sonarr and Radarr
- Tranmission - bittorrent client
- Private Internet Access - safely bittorrent through a secure, anonymous VPN
- Caddy & Let's Encrypt- Access your media server applications through a secure, encrypted connection
- https://www.plex.tv/sign-up/
- Allows you to access your Plex Media Server from anywhere on any device.
- https://www.privateinternetaccess.com/
- $3.33/month
- VPN so your VPS account does not get shutdown using bittorrent.
- https://www.duckdns.org
- Instead of remembering the IP Address of your server, create an easy to remember domain name for accessing your server. Domain suffix must be listed on the Public Suffix List to generate a Let's Encrypt SSL certificate.
- Luna Node
- Luna Node $5/month VPS runs btplex pretty well.
- Not required if you are going to run btplex from a home PC or existing server.
https://docs.docker.com/engine/installation/
apt-get update
apt-get install -y --no-install-recommends \
apt-transport-https \
ca-certificates \
curl \
software-properties-common \
git
curl -fsSL https://apt.dockerproject.org/gpg | apt-key add
add-apt-repository \
"deb https://apt.dockerproject.org/repo/ \
ubuntu-$(lsb_release -cs) \
main"
apt-get update
apt-get install -y docker-engine python-pip
pip install --upgrade pip setuptools
pip install docker-compose
git clone https://github.com/ryanss/btplex.git
cd btplex
cp example.env config.env
- Edit
config.env
file- Set
CADDY_HOSTNAME
to your dynamic DNS host (ex. yourhost.duckdns.org) or leave blank if you will just access your server via IP address - If your domain's suffix is on the
Public Suffix List
set
CADDY_TLS
to an email address (ex. devnull@yourhost.duckdns.org) to use for generating a Let's Encrypt SSL certificate, otherwise leave asself_signed
to generate a self-signed SSL certificate that your browser will complain about - Set the
PLEX_USERNAME
andPLEX_PASSWORD
fields to automatically setup Plex remote access (if you don't do this you'll have to enable it yourself byssh user@yourhost.duckdns.org 32400:localhost:32400
and visiting http://localhost:32400/web) - Set
OPENVPN_USERNAME
andOPENVPN_PASSWORD
with your Private Internet Access login credentials - Uncomment and set the username and password to your Private Internet Access Socks proxy listed in the Control Panel
- Set
- Optionally, modify the
volumes
sections in thedocker-compose.yml
file and replace the./media
entries with the full paths to your downloads and media folders (themedia
folder must contain directories namedmovies
andtvshows
or you'll have to alter the library directories using the Plex GUI)
docker-compose up --build -d # Run in background
# or
docker-compose up --build # Run in foreground to see logs and debug issues
docker-compose down
docker-compose pull
docker-compose up --build --force-recreate -d
- Plex: https://yourhost.duckdns.org:32400/web/index.html (Login: Plex account)
- Radarr: https://yourhost.duckdns.org:8787/ (Login: btuser/btpass)
- Sonarr: https://yourhost.duckdns.org:9898/ (Login: btuser/btpass)
- Jackett: https://yourhost.duckdns.org:9117/ (Pass: btpass)
- Transmission: https://yourhost.duckdns.org:9091/ (Login: btuser/btpass)
- Please change the default passwords immediately!