/btplex

Automated Media Server setup

Primary LanguageShell

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:

Account Sign-Up

Plex

Private Internet Access

Dynamic DNS

  • 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.

Virtual Private Server (optional)

  • 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.

Install Docker

https://docs.docker.com/engine/installation/

Ex. Ubuntu 16.04 VPS

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

Download btplex

git clone https://github.com/ryanss/btplex.git
cd btplex

Configure 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 as self_signed to generate a self-signed SSL certificate that your browser will complain about
    • Set the PLEX_USERNAME and PLEX_PASSWORD fields to automatically setup Plex remote access (if you don't do this you'll have to enable it yourself by ssh user@yourhost.duckdns.org 32400:localhost:32400 and visiting http://localhost:32400/web)
    • Set OPENVPN_USERNAME and OPENVPN_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
  • Optionally, modify the volumes sections in the docker-compose.yml file and replace the ./media entries with the full paths to your downloads and media folders (the media folder must contain directories named movies and tvshows or you'll have to alter the library directories using the Plex GUI)

Run btplex

docker-compose up --build -d  # Run in background
# or
docker-compose up --build     # Run in foreground to see logs and debug issues

Update btplex

docker-compose down
docker-compose pull
docker-compose up --build --force-recreate -d

URLs

  • Please change the default passwords immediately!