Skip to content

origamiofficial/docker-ngrok-plex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ngrok-plex

Docker Pulls Docker Image Size (tag) Latest Build & Push GitHub Repo stars We Support

ngrok-plex is a command line utility to run Plex through ngrok to bypass CGNAT or Double-NAT scenario.

Note

ngrok free accounts are bandwidth-limited to 1GB per month. You need to have a Pay-as-you-go plan for this project, see pricing here.

Supported Architectures

We utilise the docker buildx for multi-platform awareness. More information is available from docker here.

Simply pulling rlabinc/ngrok-plex:latest should retrieve the correct image for your arch, but you can also pull specific arch images via tags.

The architectures supported by this image are:

Architecture Available Platform
x86-64 linux/amd64
arm64 linux/arm64
armhf linux/arm/v7
i386 linux/386

Usage

You will have to extract the Plex token sets for you and provide it to the CLI. But don't worry, I'll guide you through the entire process.

The Enable Relay must needs to be DISABLED from Settings > Server > Network > Show Advanced > Enable Relay

Extracting the Plex token

  • Go to any media in your Plex library.
  • Go to the Kebab Menu (⋮)
  • Click on Get Info
  • Click on View XML — a new tab should open up.
  • Go to the very end of the URL. You should see a 20 character string after X-Plex-Token=. Copy this string.

Here are the commands you'll need:

docker run -d --network host \
  --name=ngrok-plex \
  -e TZ=Europe/London `#optional` \
  -e PLEX_BaseURL='http://172.17.0.1:32400' `#better to use single quotes` \
  -e PLEX_Token='XXXXXXXXXX' `#better to use single quotes` \
  -e NGROK_Token='XXXXXXXXXX' `#better to use single quotes` \
  rlabinc/ngrok-plex:latest

A cronjob will update new ngrok URL every 2 hours.

Parameters

Container images are configured using parameters passed at runtime (such as those above).

Parameter Function
-e TZ=Europe/London Specify a timezone to use EG Europe/London.
-e PLEX_BaseURL='http://172.17.0.1:32400' Specify Plex URL to use.
-e PLEX_Token='XXXXXXXXXX' Specify Plex token to use.
-e NGROK_Token='XXXXXXXXXX' Specify ngrok token to use.

Cons

  • Client IP will always show as localhost.
  • No bandwidth guarantees.

Contribution

There is no need to update the script version if you have made changes – it will be updated automatically.

Github Repository

https://github.com/origamiofficial/ngrok-plex

Docker Hub

https://hub.docker.com/r/rlabinc/ngrok-plex

Acknowledgements

Script credit goes to @nagleaidan. Special thanks to @Rihcus for fixing many issues.

Warning

Use of this software may constitute a breach in the ngrok Terms of Service. Use at your own risk.

Hits