
Build a working local media server first, then add remote browser access without opening router ports
Universal Media Server is a free DLNA, UPnP, and HTTP/S media server with releases for Windows, Linux, and macOS. This guide explains what is known from the project’s installation documentation, how to start the server, and how to verify its HTTP service locally without guessing a default port or URL. After local playback works, we show how to connect that HTTP service to Localtonet as a separate remote-access step. The result is a public HTTPS address that remains available while the selected Localtonet client is connected and the tunnel is running.
What Universal Media Server provides
Universal Media Server, often abbreviated as UMS, is designed to share video, audio, and images with televisions, smartphones, game consoles, computers, audio receivers, and other compatible devices. It supports DLNA and UPnP for local media discovery and also provides an HTTP/S media-server interface that can be used from a web browser. The project can stream supported media directly or transcode content when the receiving device requires a different format.
The project publishes versions for Windows, Linux, and macOS. Its official website also identifies distribution options such as direct downloads, Chocolatey, Homebrew, AppImage, and Docker. However, the supplied installation evidence does not establish exact commands or procedures for every distribution option. To avoid sending readers through an outdated or incorrect workflow, this tutorial uses only the documented platform details: installers are available for Windows and macOS, while an official tarball procedure is documented for Linux.
Plan the installation before downloading

Begin on the computer that will store or access the media library. This device must remain powered on whenever clients need to use the server. For remote HTTP access, it must also run the Localtonet client or be reachable from another device running that client.
Download Universal Media Server from its official website and confirm that the selected package matches the operating system and processor architecture. The project’s Linux instructions state that the website should automatically detect the operating system and architecture, while also providing a way to select a different file manually. Release availability can change, so use the current official download rather than copying a version number from an older tutorial.
| Platform | Documented package path | Important installation detail |
|---|---|---|
| Windows | Official Windows installer | The supplied evidence confirms an installer but does not specify installer screens, paths, services, or command-line options. |
| Linux | Official tarball | The documented terminal procedure was tested by the UMS project on Ubuntu 22.04. Other Unix distributions may require equivalent package names or steps. |
| macOS | Official macOS installer | The supplied evidence confirms an installer but does not establish exact prompts, application paths, or security-dialog behavior. |
Universal Media Server releases and platform packaging can change. Use the package intended for the current operating system and architecture. This guide intentionally does not assign a supposed default HTTP port, URL path, bind address, installation directory, or administrator credential because those details are not established by the supplied official evidence.
Install Universal Media Server on Windows
Download the current Windows installer from the official Universal Media Server download page. Launch the downloaded installer and follow the choices displayed by that version. Review each prompt rather than assuming that screenshots from an older release still apply. The available installation destination, startup behavior, optional components, and firewall prompts may vary, and the supplied project evidence does not define those values.
Once installation finishes, start Universal Media Server using the application entry created by the installer. Give the application time to initialize its media components. If Windows presents a network-access prompt, evaluate it according to the network profile and your organization’s policy. Do not grant broader access than the server requires.
Add or select media only through controls shown by the installed UMS version. Before attempting remote access, confirm that UMS remains running and that its browser interface can be reached locally using the actual endpoint reported by the application, its current documentation, or its logs.
Install Universal Media Server on macOS
Download the current macOS installer from the official project website and verify that the package corresponds to the Mac’s processor architecture. Open the installer and complete the prompts shown by the current release. The available evidence does not establish an exact application path, installer sequence, package-manager command, or macOS permission workflow, so those details should be taken from the current package and project documentation.
Start Universal Media Server after installation. If macOS requests access to files, folders, or the local network, review why the permission is needed before approving it. A media server normally needs access to the folders it will publish, but the appropriate scope depends on where the library is stored.
Keep the first test local. Confirm that the application starts without an unresolved error, identify the HTTP/S endpoint from the running installation, and open that exact endpoint from a browser that can reach the server. Remote tunneling should wait until this local test succeeds.
Install Universal Media Server from the Linux tarball
The UMS project documents the following tarball workflow and notes that it was tested on Ubuntu 22.04. It states that similar steps should work on many Unix distributions, but package names and package managers can differ. Releases normally bundle a Java Runtime Environment, except for ARM architecture releases. For an ARM release, ensure that JRE 17 is installed before starting UMS.
Install the documented Linux dependencies
On the tested Ubuntu environment, the official installation file gives the following command. Run package-management commands only from an account authorized to install software.
sudo apt-get install mediainfo dcraw vlc-bin mplayer mencoder
If the selected release targets ARM, separately confirm that JRE 17 is present. On other Linux distributions, consult the current UMS guidance and distribution repositories instead of assuming these Ubuntu package names are portable.
Download the correct tarball
Obtain the direct download from the official Universal Media Server website. The site should detect the operating system and architecture, but verify the selection manually before continuing. Keep the actual release number available for the extraction command.
Extract the release archive
Set or replace $VERSION with the version being installed, and run the documented extraction command from the directory containing the archive.
tar xzvf ums-$VERSION.tgz
Enter the extracted directory and start UMS
The project explicitly says not to run UMS as root. Start it as the intended non-root user with the documented commands:
cd ums-$VERSION
./UMS.sh
UMS accesses some files in the extracted ums-$VERSION/ working directory and looks for other files under ~/.config/UMS. Preserve appropriate ownership and permissions for the user running the server.
The official UMS installation file explicitly warns against running the application as root. Use a dedicated or ordinary non-root account with access only to the media and configuration files it needs.
Verify the local HTTP service before exposing it

Installation success and HTTP availability are separate checks. A running process may still have an incorrect media path, a startup error, a network-binding issue, or an unreachable web interface. Verify the application locally before adding another networking layer.
First, confirm that Universal Media Server remains running without an unresolved startup error. Next, determine the real HTTP or HTTPS address, port, and URL path from the current UMS interface, logs, or official documentation for the installed version. Do not assume a port copied from an unrelated release.
Open that exact endpoint in a browser on the server itself. If UMS is intentionally listening on another local interface, test it from a device allowed to reach that interface. Confirm that the page loads, the expected media library appears, and at least one permitted item can be browsed or played. This establishes that the local target works independently of Localtonet.
This tutorial exposes the working HTTP service. DLNA and UPnP commonly depend on local-network discovery behavior, and the supplied evidence does not establish that this discovery traffic works through a conventional remote HTTP tunnel. Use the public URL for browser-oriented access rather than expecting remote devices to discover UMS as if they were on the same LAN.
Add remote HTTP access with Localtonet

After the local browser test succeeds, Localtonet can publish the HTTP service without inbound router port forwarding, firewall changes, VPN setup, or a public IP address. Our client establishes an outbound connection to a Localtonet relay server and maps the public HTTP tunnel to the verified local IP address and port.
HTTP tunnels can use Random Sub Domain, Custom Sub Domain, or Custom Domain as their Process Type. All three serve the configured content through a public HTTPS address. Availability can vary by current plan or configuration, and exact custom-domain DNS requirements must be checked against current documentation rather than guessed.
Install and run the Localtonet client
Install our client on the UMS computer or on another device that can reach the verified local HTTP endpoint. Keep Universal Media Server running during setup.
Authenticate and select the client device
Use the device-specific authentication token associated with the client that will run the tunnel. Treat this token as a secret and never place it in screenshots, public configuration files, or shared instructions.
Select an available relay server
Choose a relay server or region currently offered in the Localtonet dashboard. Available values can change and may vary by plan, so do not copy a server code from another installation.
Create the HTTP tunnel configuration
Select an HTTP tunnel and enter the real local IP address and port verified during the local UMS test. Choose the appropriate Process Type from the options currently available to the account.
Start the tunnel
Creating a tunnel does not start it automatically. Use the Start button and wait for the selected client and tunnel to be connected.
Test the assigned public address
Open the assigned public HTTPS URL from a separate network and confirm that the intended UMS HTTP page loads. Stop or delete the tunnel when remote access is no longer required.
For the current product workflow and field names, review the Localtonet HTTP tunnel documentation before configuring production access.
Security checks for a remotely accessible media server
A service that was previously reachable only from the home network gains a public entry point when the tunnel starts. Before sharing the address, review UMS authentication and authorization behavior for the installed version. The supplied project evidence does not establish a default authentication policy, so this article cannot safely claim that access is protected automatically.
Publish only the intended HTTP service, use the narrowest permissions available, and avoid exposing unrelated management interfaces. Apply authentication, least-privilege controls, and any appropriate access restrictions supported by the current application and Localtonet configuration. Do not include device tokens, private endpoints, personal media paths, or credentials in screenshots or support messages.
Remember that the public address depends on two active components. Universal Media Server must be running and reachable at the configured local target, while the selected Localtonet client must remain connected and the tunnel must remain started. If either component stops, remote access stops.
Troubleshooting the connection in the right order
If the public URL does not work, return to the local test first. Confirm that UMS is running, then reopen the exact local endpoint from the tunnel device. A failed local request indicates a UMS, address, port, binding, or host firewall problem that should be corrected before changing the tunnel.
If local access works, verify that the correct Localtonet device is connected, the selected relay value is current, and the tunnel has been started. Compare the tunnel target with the local IP address and port that succeeded during verification. Finally, test the public URL from a genuinely separate network so a cached page or local routing path does not obscure the result.
Frequently asked questions
What is the default Universal Media Server HTTP port?
This guide does not assign a default port because the supplied official evidence does not establish one. Determine the actual port from the current UMS interface, logs, or documentation, and verify it locally before creating the tunnel.
Can Localtonet expose Universal Media Server without router port forwarding?
Yes. Our client makes an outbound connection to a Localtonet relay server, so the HTTP service can receive a public URL without inbound router port forwarding, firewall changes, VPN setup, or a public IP address.
Will remote DLNA discovery work through the HTTP tunnel?
This workflow is for the UMS HTTP service. It does not establish remote DLNA or UPnP discovery, which commonly relies on local-network discovery traffic. Remote users should connect through the assigned browser URL.
Does the Linux release include Java?
The official installation file states that UMS releases bundle a Java Runtime Environment except for ARM architecture releases. ARM users must ensure that JRE 17 is installed.
Does creating a Localtonet tunnel make it immediately available?
No. Tunnel creation and tunnel startup are separate lifecycle actions. After creating the configuration, use the Start button. The tunnel remains available only while the selected client is connected and the tunnel is running.
Should Universal Media Server run as root on Linux?
No. The project’s installation instructions explicitly state that UMS should not be run as root. Run it as a non-root user with only the file access required for its media and configuration.
Connect your verified UMS HTTP service with Localtonet
Install Universal Media Server, confirm that its real HTTP endpoint works locally, and then create a Localtonet HTTP tunnel for remote browser access without opening an inbound router port.
Get Started Free →