This is helpful. I got it running by downgrading to Open-WebUI 5.18. I realize this is not an ideal or sustainable solution but it may work for the time being. Appreciate your reply.
Hi Dan,
Sorry for the delay.
I simply use docker build with the Dockerfile provided in the branch and --build-arg āUSE_CUDA=trueā.
Then, I run the branch with a podman compose file to start necessary services including authentication proxy etc.
export app_port=$(find_port "$host")
export image_port=$(find_port "$host")
export ollama_port=$(find_port "$host")
cat <<EOF >compose.yml
name: open-webui-pod
services:
open-webui:
container_name: open-webui
image: YOUR_CUSTOM_WEBUI_TAG_HERE
environment:
PORT: $app_port
ROOT_PATH: rnode/$host/$port
ENABLE_OPENAI_API: False
WEBUI_AUTH: False
WHISPER_MODEL: large-v2
AUDIO_TTS_OPENAI_API_BASE_URL: http://openedai-speech:4134/v1
ENABLE_IMAGE_GENERATION: True
AUTOMATIC1111_BASE_URL: http://host.containers.internal:$image_port
OLLAMA_BASE_URL: http://host.containers.internal:$ollama_port
volumes:
- open-webui/open-webui:/app/backend/data:z
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: [gpu]
ollama:
network_mode: host
container_name: open-webui-ollama
image: docker.io/ollama/ollama:latest
tty: true
restart: unless-stopped
environment:
OLLAMA_HOST: 127.0.0.1:$ollama_port
volumes:
- open-webui/ollama:/root/.ollama:z
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: [gpu]
openedai-speech:
container_name: open-webui-openedai-speech
image: ghcr.io/matatonic/openedai-speech
volumes:
- openedai-speech/speech.env:/app/speech.env:z
- openedai-speech/config:/app/config:z
- openedai-speech/voices:/app/voices:z
entrypoint: ["python", "/app/speech.py", "--port" , "4134"]
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: [gpu]
caddy:
container_name: open-webui-caddy
image: docker.io/caddy:latest
restart: unless-stopped
cap_add:
- NET_ADMIN
ports:
- $port:$port
volumes:
- $PWD/Caddyfile:/etc/caddy/Caddyfile:z
EOF
podman-compose up
As you can see itās a bit of extra work hence the move to the new reverse proxy setup.
Thanks for this! Iāll give it a try. We donāt have podman on our cluster but perhaps I can convert this to Apptainer.
When you mention the ānew reverse proxy setupā, are you talking about @karcaw 's nginx proxy setup described in this thread, or something else?
I had some trouble with that as well but Iāll give it another shot.
Actually I seem to be having a general problem that is not specific to Open-WebUI but I may as well ask about it while Iām here.
For example, I set Open-WebUI aside and tried with a different UI, called Ollama-chat (hereās my fork of it).
I had it working last week and have not really changed anything since, but now when I start it up and go to the URL:
https://openondemand.fredhutch.org/node/gizmok3/49211/
I get an apache 404 error.
However, if I go directly to the node and port and pass the additional path information:
http://gizmok3:49211/node/gizmok3/49211/
I see the correct page.
My understanding of the reverse proxy config is that node
aka node_uri
will proxy /<node_uri>/<host>/<port>/...
to /<node_uri>/<host>/<port>/...
on the target node and port.
This is frustrating because it seems to come and go at will - does anyone have any idea how to troubleshoot this? Weāre running OOD 4.0.2.
EDIT: Found the problem. There were some cluster nodes that were not matched by host_regex
in ood_portal.yml
. Was pointed to the solution by other posts here - this forum is super helpful!