Remote Access to Plex on Windows Without Port Forwarding
Plex Media Server is a great solution to organize all of your media and access them from your laptop, phone, TV, or lots of other places. It’s easy to listen to your music or watch your movies via Plex when you’re at home and connected to your home network. But what about when you are away on vacation, or if you want to share access to your library with friends and family?
Plex remote access not working?
Plex offers a remote access feature that relies on port forwarding, but the configuration may not always work or there may be other common issues like Double-NAT, resulting in an error like the screenshot below.
Using port forwarding also exposes an open port to your home network that can potentially be exploited. For mobile access, Plex provides mobile apps, but without a paid subscription, video and music streaming is limited to 1 minute and photos are watermarked.
There are other common approaches, but as the table below illustrates, they are cumbersome, insecure, and potentially expensive. We are excited to offer a new simple, secure, and free solution: Twingate Starter!
If you are running your Plex Media Server on a NAS or a Raspberry Pi, please follow the tutorial here. In this guide, we’ll focus on Windows and walk you through the steps to setup Twingate to access your Windows Plex Media Server from anywhere.
Please also join us in our community forum to share and discuss your experience and any other use cases you’ve discovered!
The rest of this guide assumes that you have some components already installed. If you’ve already installed Plex, WSL, and Docker on your Windows PC, skip ahead to “Sign up for Twingate” below. If not, please following these instructions first.
Install Plex Media Server on your Windows PC
Plex Media Server can be installed on a variety of devices. In this guide, we’ll focus on Windows. If you haven’t already done so, please install Plex Media Server here.
Windows Subsystem for Linux (WSL) lets you run a Linux environment on your Windows PC and is required to set up Twingate. Fortunately, it can be installed by running just a single command.
First, open up Command Prompt or PowerShell as an Administrator. Type
command prompt in the Windows start menu search box and click on “Run as administrator”, as shown in the screenshot below.
In the Command Prompt window that pops up, simply type in
wsl --install and press Enter. After some time, the installation will automatically complete and Ubuntu will now be installed.
If you run into any issues, please also refer to Microsoft’s detailed instructions here.
Docker is a popular platform for building and installing applications, and it’s how we will install Twingate. Fortunately, it also has a very simple installation wizard on Windows. Please download it here and open the
Docker Desktop Installer.exe file to start the wizard.
On the Configuration screen, make sure that “Install required Windows components for WSL 2” is checked.
Follow the rest of the installation wizard. After completion, open the Docker Desktop application and you should see a screen like this. We will come back to Docker later on.
Sign up for Twingate
Twingate Starter is a new free plan that is designed for home and personal use. If you don’t have an account already, please click here and follow the simple steps to sign up for a Starter account and begin the initial setup.
Add a Remote Network
Click on the “Add a Remote Network” button, and you should see a popup. Twingate supports many different kinds of remote networks. If you are looking to connect to AWS, Azure, or GCP, then select the appropriate option in the dropdown menu. If you are connecting to your home network, choose “Other” for the Location. Regardless of which option you choose, give the network a name, like “Home Network”, then click “Add Remote Network” to create it.
Add a Connector
After completing the steps above, you should now have a Starter account with a Remote Network set up. The next step is to deploy a Twingate Connector, which is a piece of software that allows for secure access to your remote network and the devices connected to it. For it to work, you first need to deploy the Connector on the device that is hosting your Plex Media Server, which is your Windows PC in this case.
Click on the remote network you just created and you should see two automatically generated Connectors (the names are random) that are not yet connected. Choose one of the two Connectors and click on the “Deploy Connector” button. You’ll see a Controller configuration page like the one below with several deployment options. For Step 1, keep the default option of Docker.
The next step is to generate tokens for the Connector. Scroll down to Step 2 and click the “Generate Tokens” button. You’ll see a popup asking you to re-authenticate using whichever account you used to sign up (e.g., Google). After doing so, you’ll be redirected back and should see that two tokens have been generated.
Scroll down to Step 3, where you’ll see that a command has been automatically generated. Click the button to copy the command.
After installing WSL, you should now have Ubuntu on your Windows computer. Search for
ubuntu in the start menu and open Ubuntu.
In the window that popped up, paste in the command you copied earlier and run it (your command will have different tokens). You may need to add
sudo at the beginning of the command. After just a minute, the command should complete.
Open up Docker Desktop and click on “Images” in the side panel on the left. You should see that
twingate/connector has automatically appeared as an image and is
On the Twingate web UI, you should also see that the Connector’s status has automatically turned green, indicating that it has been successfully deployed on your Windows PC.
Add a Resource
You’ve now set up a Connector on your Windows PC, which enables remote access to Plex, or other services that you’re running on your computer (called a “Resource” in Twingate).
Go back to your Remote Network and click on the “Add Resource” link. You’ll see a popup like the one below. Click on the “CIDR Address” box, choose a Label name for the Resource, enter the private IP address of Plex (it’s listed under Plex Settings > Remote Access and is likely
32400 for the Port Restriction, and click “Add Resource”. Congrats! Your Plex Media Server is now enabled for secure remote access.
Download the Twingate client
All that’s left to do now is to install Twingate on your devices (we support Windows, Mac, Linux and have apps for iOS and Android) and access your Plex Media Server from anywhere. As an example, let’s walk through setting things up on iOS.
First, download and install the iOS app here. Type in the Twingate Network URL that you chose when you signed up and tap “Join Network”. You’ll be automatically asked to log in using the same account you used to sign up. After signing in, you’ll land on the home screen, where you should already see your Plex Resource listed. When you are connected to your Twingate network, a “VPN” icon will appear in the top bar of your screen.
To test it out, stay connected to Twingate, disconnect from your local network (e.g., by disabling WiFi), and navigate to your Plex Media Server instance on your phone’s browser. You should be able to access it just as if you were at home.
Finally, disconnect from Twingate and try accessing Plex again — you should see that it’s inaccessible.
Congrats! You’ve finished setting up Twingate for Plex Media Server. Join us in the community forum to share how things went and what cool use cases you’ve discovered!
Sharing is Caring
Do you want to share access with a family member? You can easily do this from the Twingate web UI. Just go to the Team tab and click “Invite User” to send an email invitation. The recipient would simply follow the same steps to download the Twingate client, join your network, and get access to Plex, or any other resource you set up!
Rapidly implement a modern Zero Trust network that is more secure and maintainable than VPNs.
Announcing WebAuthn for Twingate Universal MFA
Twingate is excited to announce support for WebAuthn MFA, enabling customers to use biometrics and security keys for MFA.