
How to Stream Videos from an Ubuntu Server to Meta Quest via SMB
Learn how to share video folders from an Ubuntu, CasaOS, or Jellyfin server over SMB and stream them directly to Meta Quest without copying files.
To stream videos from an Ubuntu server to Meta Quest, share the media folders through Samba, then add the server to NEX with its IP address and Samba credentials. NEX is a 2D and 3D video player for Meta Quest with support for manually added SMB servers.
This also works when Ubuntu runs CasaOS or Jellyfin in Docker. Samba and Jellyfin can read the same folders, so you do not need to move the files, duplicate the library, or copy videos to the headset.
Table of contents
- Use one SMB server for several hard drives
- Prepare the SMB shares on Ubuntu
- Add the Ubuntu server to NEX
- Connect through Tailscale
Use one SMB server for several hard drives
An Ubuntu server can publish each mounted folder as a separate SMB share:
| Folder on Ubuntu | SMB share shown in NEX |
|---|---|
/mnt/Movies | Movies |
/mnt/3D-Movies | 3D-Movies |
/mnt/Serien | Serien |
You only add the Ubuntu server to NEX once. After signing in, NEX can display every share that the Samba account is allowed to read.
Jellyfin can continue using the same folders through its Docker volume mappings. Docker volumes give Jellyfin access to the files; Samba makes those files available to NEX over the network.
Prepare the SMB shares on Ubuntu
Before opening NEX, make sure that:
- All media drives are mounted in Ubuntu.
- Samba is installed and each media folder has its own share.
- A Samba account has permission to read all three folders.
- The Samba configuration has been checked and the service restarted.
For video playback, read-only shares are normally sufficient. The Samba username and password are separate from the Jellyfin login.
Ubuntu's Samba file-server guide explains how to install Samba and add multiple share sections. If CasaOS already manages file sharing, use its sharing interface or confirm that manual changes will not be overwritten.
Add the Ubuntu server to NEX
Use the Ubuntu server's local IP address when both devices are on the same home network. In NEX:
- Open the SMB section and select the
+button in the upper-right corner. - Enter the Ubuntu server's IP address.
- Enter
mediauserand the password created withsmbpasswd. - Connect and open
Movies,3D-Movies, orSerien.
After connecting, NEX should show Movies, 3D-Movies, and Serien under the same server. If one is missing, check that share's path and account permissions rather than adding the server again.
Connect through Tailscale
If the Ubuntu server and Meta Quest are already connected to the same tailnet, enter the server's Tailscale IP in NEX instead of its local IP. Use the same Samba username and password.
The Ubuntu firewall and tailnet policy must allow the Quest to reach TCP port 445 through Tailscale. Do not forward port 445 on the router or expose SMB directly to the public internet. Tailscale's file-server guide recommends connecting through the server's Tailscale hostname or IP without public port forwarding.
High-bitrate 3D or VR videos may still buffer if the connection is relayed or the server's upload speed is limited. Test the same file on the local network before changing the Samba setup.
If the server is not discovered automatically, manual IP entry avoids relying on DLNA discovery. If the login fails, confirm that you are using the Samba account rather than the Jellyfin account. NEX also supports WebDAV, but that requires a separate WebDAV service; for this existing folder structure, SMB is the simpler option.