A self-hosted browser interface with models running locally on your GPU
TIP
These steps assume NVIDIA Sync is installed and connected to your hardware platform. If you still need to set that up, complete NVIDIA Sync remote-access setup for your hardware platform first. See also the NVIDIA Sync documentation.
From your laptop:
You must first make sure that your user account can run Docker commands on the hardware platform without sudo.
To test that, in the terminal run:
docker ps > /dev/null
Success: If the command returns a blank, then skip ahead to Step 3.
Otherwise, you will see a permission denied error, which means you still need to remove the sudo requirement. To do that, add your user to the docker group with the commands below.
sudo usermod -aG docker $USER
newgrp docker
Then verify the change is set by testing Docker access again with the command:
docker ps > /dev/null
Pull the container image onto your hardware platform with the command:
docker pull ghcr.io/open-webui/open-webui:ollama
Wait for the image to download, then go to Step 4.
A custom application lets NVIDIA Sync start Open WebUI and automatically forward its port.
In the NVIDIA Sync device window:
Select Add New in the Custom section.
Fill out the form with these values:
Then, copy and paste the entire script below into the Launch Script field
#!/usr/bin/env bash
set -euo pipefail
NAME="open-webui"
IMAGE="ghcr.io/open-webui/open-webui:ollama"
cleanup() {
echo "Signal received; stopping ${NAME}..."
docker stop "${NAME}" >/dev/null 2>&1 || true
exit 0
}
trap cleanup INT TERM HUP QUIT EXIT
# Ensure Docker CLI and daemon are available
if ! docker info >/dev/null 2>&1; then
echo "Error: Docker daemon not reachable." >&2
exit 1
fi
# Already running?
if [ -n "$(docker ps -q --filter "name=^${NAME}$" --filter "status=running")" ]; then
echo "Container ${NAME} is already running."
else
# Exists but stopped? Start it.
if [ -n "$(docker ps -aq --filter "name=^${NAME}$")" ]; then
echo "Starting existing container ${NAME}..."
docker start "${NAME}" >/dev/null
else
# Not present: create and start it.
echo "Creating and starting ${NAME}..."
docker run -d -p 12000:8080 --gpus=all \
-v open-webui:/app/backend/data \
-v open-webui-ollama:/root/.ollama \
--name "${NAME}" "${IMAGE}" >/dev/null
fi
fi
echo "Running. Press Ctrl+C to stop ${NAME}."
# Keep the script alive until a signal arrives
while :; do sleep 86400; done
Once the app is configured, you can launch it from NVIDIA Sync and connect to it with your browser.
In the NVIDIA Sync application window for your hardware platform, select Open WebUI in the Custom section.
The application should open in your web browser at the URL http://localhost:12000.
If it does not, open your web browser and go to http://localhost:12000.
Open WebUI uses a local administrator account to control access. The account credentials are stored locally on your hardware platform.
When the app opens in your browser, create your admin account as follows:
TIP
The Open WebUI container doesn't come with a model, so you must download one before chat will work. Open WebUI downloads selected models from the Ollama registry.
Do the following in the Open WebUI application:
gpt-oss:20b in the search field.Alternatively, you can enter qwen3.6:latest instead of gpt-oss:20b.
After the download completes, the model appears in the Select a model menu.
TIP
Selecting an available model loads it onto the GPU, which can take up to 30 seconds, depending on the model size. This can delay server response to your initial query.
Write me a haiku about GPUs and press Enter.When you finish your session, you can stop the Open WebUI container from the NVIDIA Sync application window.
x icon on the right of the Open WebUI entry.You can follow up with other playbooks or use different models.
Use these steps when you want to remove Open WebUI from your hardware platform. Cleanup is optional rollback—not required to finish the playbook.
WARNING
These commands permanently delete all Open WebUI data and downloaded models on the hardware platform.
Stop the Open WebUI application in the NVIDIA Sync device window (this will also stop the container).
Open a terminal on the hardware platform using the Terminal App in the NVIDIA Sync device window.
Remove the container with the command:
docker rm open-webui
docker rmi ghcr.io/open-webui/open-webui:ollama
docker volume rm open-webui open-webui-ollama