Ubuntu-based Docker image with VNC and XFCE, includes OBS Studio with NDI support and NVIDIA hardware acceleration.
I use this for my dual (gaming and streaming) PC setup. My gaming PC sends the screen capture via NDI to my server running this image in a Docker container so all the OBS scenes, transcoding, and streaming happen over there, effectively offloading my gaming PC, so I can run my games at higher FPS and suck anyways.
- Ubuntu with XFCE
- VNC Access
- OBS Studio with NDI
- NVIDIA Hardware Acceleration
VNC_PASSWD
: Set the VNC password (default isheadless
)NVIDIA_DRIVER_CAPABILITIES
: Allows all NVIDIA driver capabilities for the container by default*NVIDIA_VISIBLE_DEVICES
: Makes all NVIDIA devices available to the containerHOST_NAME
: Customize the container's host name (default isobs
) so you can access it on the network by doingobs.local[:5901,:4455]
instead of an ugly IP
* You can try with NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
if you want a more restrictive approach.
6901
: For HTTP VNC web access*4455
: For OBS websocket server connections5901
: For VNC connections
/config
: Stores OBS Studio configuration data persistently
To start a container:
docker run -d -p 6901:6901 -p 5901:5901 -p 4455:4455 --env VNC_PASSWD=<your password> ghcr.io/nachoaivarez/obs-ndi
Note: Replace <your password>
with your desired VNC password. If you leave it empty it will default to headless
- Via Browser: Go to
http://obs.local:6901
- Via VNC: Connect using
vnc://obs.local:5901
- Asparon's work on asparon/obs-ndi was the starting point of this image, I added several quality of life improvements.
- A good Unraid tutorial can be found here. With this image however you can skip multiple steps from the video (like the static IP part or sourcing and providing GPU ids) as well as being able to access it under the
.local
domain because of the mDNS setup.