I have searched for any existing and/or related issues.
I have searched for any existing and/or related discussions.
I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
I am using the latest version of Open WebUI.
Installation Method
Git Clone
Open WebUI Version
v.0.8.9
Ollama Version (if applicable)
No response
Operating System
Linux
Browser (if applicable)
No response
Confirmation
I have read and followed all instructions in README.md.
I am using the latest version of both Open WebUI and Ollama.
I have included the browser console logs.
I have included the Docker container logs.
I have provided every relevant configuration, setting, and environment variable used in my setup.
I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
Start with the initial platform/version/OS and dependencies used,
Specify exact install/launch/configure commands,
List URLs visited, user input (incl. example values/emails/passwords if needed),
Describe all options and toggles enabled or changed,
Include any files or environmental changes,
Identify the expected and actual result at each stage,
Ensure any reasonably skilled user can follow and hit the same issue.
Expected Behavior
Docker image for version 0.8.9 is expected to start
Actual Behavior
The latest docker image distributed is missing OpenTelemetry module, needs to be rebuild:
When booting it fails to start with ModuleNotFoundError: No module named 'opentelemetry.instrumentation.system_metrics'
Steps to Reproduce
Run the latest versions
Logs & Screenshots
v0.8.9 - building the best AI user interface. https://github.com/open-webui/open-webui
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/usr/local/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in
uvicorn.main()
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1485, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1406, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1269, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 824, in invoke
return callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 433, in main
run(
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 606, in run
server.run()
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 75, in run
return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/uvicorn/_compat.py", line 30, in asyncio_run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 79, in serve
await self._serve(sockets)
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 86, in serve
config.load()
File "/usr/local/lib/python3.11/site-packages/uvicorn/config.py", line 441, in load
self.loaded_app = import_from_string(self.app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/uvicorn/importer.py", line 22, in import_from_string
raise exc from None
File "/usr/local/lib/python3.11/site-packages/uvicorn/importer.py", line 19, in import_from_string
module = importlib.import_module(module_str)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/importlib/__init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "/app/backend/open_webui/main.py", line 746, in
from open_webui.utils.telemetry.setup import setup as setup_opentelemetry
File "/app/backend/open_webui/utils/telemetry/setup.py", line 14, in
from open_webui.utils.telemetry.instrumentors import Instrumentor
File "/app/backend/open_webui/utils/telemetry/instrumentors.py", line 23, in
from opentelemetry.instrumentation.system_metrics import SystemMetricsInstrumentor
ModuleNotFoundError: No module named 'opentelemetry.instrumentation.system_metrics'
Additional Information
No response
Originally created by @icep87 on GitHub (Mar 8, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/22401
### Check Existing Issues
- [x] I have searched for any existing and/or related issues.
- [x] I have searched for any existing and/or related discussions.
- [x] I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
- [x] I am using the latest version of Open WebUI.
### Installation Method
Git Clone
### Open WebUI Version
v.0.8.9
### Ollama Version (if applicable)
_No response_
### Operating System
Linux
### Browser (if applicable)
_No response_
### Confirmation
- [x] I have read and followed all instructions in `README.md`.
- [x] I am using the latest version of **both** Open WebUI and Ollama.
- [x] I have included the browser console logs.
- [x] I have included the Docker container logs.
- [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.**
- [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
- [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps:
- Start with the initial platform/version/OS and dependencies used,
- Specify exact install/launch/configure commands,
- List URLs visited, user input (incl. example values/emails/passwords if needed),
- Describe all options and toggles enabled or changed,
- Include any files or environmental changes,
- Identify the expected and actual result at each stage,
- Ensure any reasonably skilled user can follow and hit the same issue.
### Expected Behavior
Docker image for version 0.8.9 is expected to start
### Actual Behavior
The latest docker image distributed is missing OpenTelemetry module, needs to be rebuild:
When booting it fails to start with ModuleNotFoundError: No module named 'opentelemetry.instrumentation.system_metrics'
### Steps to Reproduce
Run the latest versions
### Logs & Screenshots
v0.8.9 - building the best AI user interface.
https://github.com/open-webui/open-webui
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/local/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in <module>
uvicorn.main()
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1485, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1406, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1269, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 824, in invoke
return callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 433, in main
run(
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 606, in run
server.run()
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 75, in run
return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/uvicorn/_compat.py", line 30, in asyncio_run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 79, in serve
await self._serve(sockets)
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 86, in _serve
config.load()
File "/usr/local/lib/python3.11/site-packages/uvicorn/config.py", line 441, in load
self.loaded_app = import_from_string(self.app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/uvicorn/importer.py", line 22, in import_from_string
raise exc from None
File "/usr/local/lib/python3.11/site-packages/uvicorn/importer.py", line 19, in import_from_string
module = importlib.import_module(module_str)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/app/backend/open_webui/main.py", line 746, in <module>
from open_webui.utils.telemetry.setup import setup as setup_opentelemetry
File "/app/backend/open_webui/utils/telemetry/setup.py", line 14, in <module>
from open_webui.utils.telemetry.instrumentors import Instrumentor
File "/app/backend/open_webui/utils/telemetry/instrumentors.py", line 23, in <module>
from opentelemetry.instrumentation.system_metrics import SystemMetricsInstrumentor
ModuleNotFoundError: No module named 'opentelemetry.instrumentation.system_metrics'
### Additional Information
_No response_
GiteaMirror
added the bug label 2026-04-20 02:13:50 -05:00
Or if you want, you can also docker exec yourself into the docker container, run pip install opentelemetry-instrumentation-system-metrics inside the container, and restart the container.
That should fix it for now! :)
<!-- gh-comment-id:4018969776 -->
@Classic298 commented on GitHub (Mar 8, 2026):
Issue found - PR incoming.
In the meantime, you can create the following Dockerfile as a workaround:
```
FROM ghcr.io/open-webui/open-webui:latest
RUN pip install opentelemetry-instrumentation-system-metrics==0.61b0
```
Then build and run it:
```
docker build -t open-webui-fixed .
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui open-webui-fixed
```
Or if you want, you can also docker exec yourself into the docker container, run `pip install opentelemetry-instrumentation-system-metrics` inside the container, and restart the container.
That should fix it for now! :)
It would be nice if the official ghcr.io/open-webui/open-webui:0.8.9 image is rebuilt with this fix, as the container crashes right on startup, and it's not as easy to patch in a pip install in a Kubernetes environment.
<!-- gh-comment-id:4019970611 -->
@erhhung commented on GitHub (Mar 8, 2026):
It would be nice if the official `ghcr.io/open-webui/open-webui:0.8.9` image is rebuilt with this fix, as the container crashes right on startup, and it's not as easy to patch in a `pip install` in a Kubernetes environment.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @icep87 on GitHub (Mar 8, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/22401
Check Existing Issues
Installation Method
Git Clone
Open WebUI Version
v.0.8.9
Ollama Version (if applicable)
No response
Operating System
Linux
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
Docker image for version 0.8.9 is expected to start
Actual Behavior
The latest docker image distributed is missing OpenTelemetry module, needs to be rebuild:
When booting it fails to start with ModuleNotFoundError: No module named 'opentelemetry.instrumentation.system_metrics'
Steps to Reproduce
Run the latest versions
Logs & Screenshots
v0.8.9 - building the best AI user interface.
https://github.com/open-webui/open-webui
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/usr/local/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in
uvicorn.main()
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1485, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1406, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1269, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 824, in invoke
return callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 433, in main
run(
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 606, in run
server.run()
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 75, in run
return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/uvicorn/_compat.py", line 30, in asyncio_run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 79, in serve
await self._serve(sockets)
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 86, in serve
config.load()
File "/usr/local/lib/python3.11/site-packages/uvicorn/config.py", line 441, in load
self.loaded_app = import_from_string(self.app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/uvicorn/importer.py", line 22, in import_from_string
raise exc from None
File "/usr/local/lib/python3.11/site-packages/uvicorn/importer.py", line 19, in import_from_string
module = importlib.import_module(module_str)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/importlib/__init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "/app/backend/open_webui/main.py", line 746, in
from open_webui.utils.telemetry.setup import setup as setup_opentelemetry
File "/app/backend/open_webui/utils/telemetry/setup.py", line 14, in
from open_webui.utils.telemetry.instrumentors import Instrumentor
File "/app/backend/open_webui/utils/telemetry/instrumentors.py", line 23, in
from opentelemetry.instrumentation.system_metrics import SystemMetricsInstrumentor
ModuleNotFoundError: No module named 'opentelemetry.instrumentation.system_metrics'
Additional Information
No response
@Arslo-cloud commented on GitHub (Mar 8, 2026):
Same here. Any idea?
@Classic298 commented on GitHub (Mar 8, 2026):
investigating
@Classic298 commented on GitHub (Mar 8, 2026):
Issue found - PR incoming.
In the meantime, you can create the following Dockerfile as a workaround:
Then build and run it:
Or if you want, you can also docker exec yourself into the docker container, run
pip install opentelemetry-instrumentation-system-metricsinside the container, and restart the container.That should fix it for now! :)
@Arslo-cloud commented on GitHub (Mar 8, 2026):
Works! Thanks
@erhhung commented on GitHub (Mar 8, 2026):
It would be nice if the official
ghcr.io/open-webui/open-webui:0.8.9image is rebuilt with this fix, as the container crashes right on startup, and it's not as easy to patch in apip installin a Kubernetes environment.@Classic298 commented on GitHub (Mar 8, 2026):
Fixed in dev