14 min read

Install Universal Media Server on Windows, Linux, macOS

Install and verify Universal Media Server, then securely expose its working HTTP service for remote access with Localtonet.

Universal Media Server running locally with an HTTP tunnel to a remote browser.
Universal Media Server can run locally on Windows, Linux, or macOS and be reached through an HTTP tunnel.
Self-Hosting · Universal Media Server · Localtonet · 2026

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.

🔒 No inbound router port forwarding required 🌐 Remote access to the verified HTTP service ⚡ Windows, Linux, and macOS installation paths

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.

🎬 Media streaming and transcoding UMS can serve video, audio, and image libraries, passing media through directly when supported or transforming it for the target device when necessary.
📺 Local device discovery DLNA and UPnP support helps compatible devices discover the server on a local network. This discovery behavior is separate from browser-based HTTP access.
🌐 Browser interface The HTTP/S interface provides a suitable target for conventional HTTP tunneling after its actual local address and port have been confirmed.
💻 Multiple operating systems Official releases are available for Windows, Linux, and macOS, although the packaging and installation workflow differ by platform.

Plan the installation before downloading

Windows, macOS, and Linux installation paths leading to the same local media service.
Each operating system uses a different package format but produces the same local server role.

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.
Do not guess package names, ports, or paths

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.

1

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.

2

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.

3

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
4

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.

Do not run the Linux server as root

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

A browser verifies the Universal Media Server HTTP service over localhost before public exposure.
Confirm the HTTP service works on the host before creating a remote-access tunnel.

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.

HTTP tunneling is not DLNA or UPnP discovery

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

Remote HTTP traffic passing through Localtonet to Universal Media Server on a private host.
Localtonet forwards remote HTTP requests to the verified service on the private machine.

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.

1

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.

2

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.

3

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.

4

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.

5

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.

6

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 →

Localtonet is a secure multi-protocol tunneling and proxy platform designed to expose localhost, devices, private services, and AI agents to the public internet supporting HTTP/HTTPS tunnels, TCP/UDP forwarding, mobile proxy infrastructure, file server publishing, latency-optimized game connectivity, and developer-ready AI agent endpoint exposure from a single unified control plane.

support