Open2

open webuiをpodmanで動かす

MasatMasat

いつもpodmanとdockerの微妙な互換性で悩む。

公式は以下の通り(ollamaはホスト側にインストール)

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

podmanは、host-gatewayの部分がうまくいかず以下のように

podman run -d --network slirp4netns:allow_host_loopback=true -p 3000:8080 --add-host=host.docker.internal:10.0.2.2 -v open-webui:/app/backend/data --name open-webui --restart
 always ghcr.io/open-webui/open-webui:main

open webuiの内部でホストのollamaを指定するURLは以下に書き換えた。

http://host.containers.internal:11434
MasatMasat

もっと良いやり方があった。AIによると

Podmanではhost.docker.internal:host-gatewayの指定方法が異なります。Podmanでは
host.containers.internalというホスト名が自動的に設定されるため、--add-hostオプションは不要です。

とのことなので、Open WebUIの起動は

podman run -d -p 3000:8080 \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

となる。

合わせてPipeline(拡張機能)は以下の通り

podman run -d -p 9099:9099 \
  -v pipelines:/app/pipelines \
  --name pipelines \
  --restart always \
  ghcr.io/open-webui/pipelines:main

Piplineを指定するURL

http://host.containers.internal:9099