Open WebUI: broke after running "update" #1014

Closed
opened 2026-02-04 22:37:11 +03:00 by OVERLORD · 8 comments
Owner

Originally created by @techana on GitHub (May 27, 2025).

Have you read and understood the above guidelines?

yes

📜 What is the name of the script you are using?

Open WebUI

📂 What was the exact command used to execute the script?

update

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 12

📝 Provide a clear and concise description of the issue.

I ran the update command to upgrade Open WebUI to v0.6.11. The command failed with an error, so I tried it again. This time, it displayed the following messages:
✔️ Ollama is already up to date.
✔️ Open WebUI is already up to date.

However, after the update, Open WebUI stopped working. The browser shows an error saying "This site can’t be reached" when visiting: 192.168.1.5:8080.

I then tried to manually start the service /opt/open-webui/backend/start.sh and received the following error:

Loading WEBUI_SECRET_KEY from file, not provided as an environment variable.
Loading WEBUI_SECRET_KEY from .webui_secret_key
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/dist-packages/uvicorn/__main__.py", line 4, in <module>
    uvicorn.main()
  File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1161, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1082, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1443, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 788, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/uvicorn/main.py", line 412, in main
    run(
  File "/usr/local/lib/python3.11/dist-packages/uvicorn/main.py", line 579, in run
    server.run()
  File "/usr/local/lib/python3.11/dist-packages/uvicorn/server.py", line 66, in run
    return asyncio.run(self.serve(sockets=sockets))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/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/dist-packages/uvicorn/server.py", line 70, in serve
    await self._serve(sockets)
  File "/usr/local/lib/python3.11/dist-packages/uvicorn/server.py", line 77, in _serve
    config.load()
  File "/usr/local/lib/python3.11/dist-packages/uvicorn/config.py", line 435, in load
    self.loaded_app = import_from_string(self.app)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/uvicorn/importer.py", line 22, in import_from_string
    raise exc from None
  File "/usr/local/lib/python3.11/dist-packages/uvicorn/importer.py", line 19, in import_from_string
    module = importlib.import_module(module_str)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, 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 "/opt/open-webui/backend/open_webui/main.py", line 43, in <module>
    from starlette_compress import CompressMiddleware
ModuleNotFoundError: No module named 'starlette_compress'

🔄 Steps to reproduce the issue.

Step 1: run update
Step 2: Open WebUI upgraded to v0.6.11 but not working
Step 3: try to run it manually /opt/open-webui/backend/start.sh and see the error

Paste the full error output (if available).

Loading WEBUI_SECRET_KEY from file, not provided as an environment variable.
Loading WEBUI_SECRET_KEY from .webui_secret_key
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/dist-packages/uvicorn/main.py", line 4, in
uvicorn.main()
File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1161, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1082, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1443, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 788, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/uvicorn/main.py", line 412, in main
run(
File "/usr/local/lib/python3.11/dist-packages/uvicorn/main.py", line 579, in run
server.run()
File "/usr/local/lib/python3.11/dist-packages/uvicorn/server.py", line 66, in run
return asyncio.run(self.serve(sockets=sockets))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/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/dist-packages/uvicorn/server.py", line 70, in serve
await self._serve(sockets)
File "/usr/local/lib/python3.11/dist-packages/uvicorn/server.py", line 77, in _serve
config.load()
File "/usr/local/lib/python3.11/dist-packages/uvicorn/config.py", line 435, in load
self.loaded_app = import_from_string(self.app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/uvicorn/importer.py", line 22, in import_from_string
raise exc from None
File "/usr/local/lib/python3.11/dist-packages/uvicorn/importer.py", line 19, in import_from_string
module = importlib.import_module(module_str)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1206, in _gcd_import
File "", line 1178, in _find_and_load
File "", line 1149, 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 "/opt/open-webui/backend/open_webui/main.py", line 43, in
from starlette_compress import CompressMiddleware
ModuleNotFoundError: No module named 'starlette_compress'

🖼️ Additional context (optional).

No response

Originally created by @techana on GitHub (May 27, 2025). ### ✅ Have you read and understood the above guidelines? yes ### 📜 What is the name of the script you are using? Open WebUI ### 📂 What was the exact command used to execute the script? update ### ⚙️ What settings are you using? - [x] Default Settings - [ ] Advanced Settings ### 🖥️ Which Linux distribution are you using? Debian 12 ### 📝 Provide a clear and concise description of the issue. I ran the `update` command to upgrade Open WebUI to v0.6.11. The command failed with an error, so I tried it again. This time, it displayed the following messages: ✔️ Ollama is already up to date. ✔️ Open WebUI is already up to date. However, after the update, Open WebUI stopped working. The browser shows an error saying "This site can’t be reached" when visiting: 192.168.1.5:8080. I then tried to manually start the service `/opt/open-webui/backend/start.sh` and received the following error: ``` Loading WEBUI_SECRET_KEY from file, not provided as an environment variable. Loading WEBUI_SECRET_KEY from .webui_secret_key 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/dist-packages/uvicorn/__main__.py", line 4, in <module> uvicorn.main() File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1161, in __call__ return self.main(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1082, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1443, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 788, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/uvicorn/main.py", line 412, in main run( File "/usr/local/lib/python3.11/dist-packages/uvicorn/main.py", line 579, in run server.run() File "/usr/local/lib/python3.11/dist-packages/uvicorn/server.py", line 66, in run return asyncio.run(self.serve(sockets=sockets)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "/usr/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/dist-packages/uvicorn/server.py", line 70, in serve await self._serve(sockets) File "/usr/local/lib/python3.11/dist-packages/uvicorn/server.py", line 77, in _serve config.load() File "/usr/local/lib/python3.11/dist-packages/uvicorn/config.py", line 435, in load self.loaded_app = import_from_string(self.app) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/uvicorn/importer.py", line 22, in import_from_string raise exc from None File "/usr/local/lib/python3.11/dist-packages/uvicorn/importer.py", line 19, in import_from_string module = importlib.import_module(module_str) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1206, in _gcd_import File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1149, 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 "/opt/open-webui/backend/open_webui/main.py", line 43, in <module> from starlette_compress import CompressMiddleware ModuleNotFoundError: No module named 'starlette_compress' ``` ### 🔄 Steps to reproduce the issue. Step 1: run `update` Step 2: Open WebUI upgraded to v0.6.11 but not working Step 3: try to run it manually `/opt/open-webui/backend/start.sh` and see the error ### ❌ Paste the full error output (if available). Loading WEBUI_SECRET_KEY from file, not provided as an environment variable. Loading WEBUI_SECRET_KEY from .webui_secret_key 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/dist-packages/uvicorn/__main__.py", line 4, in <module> uvicorn.main() File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1161, in __call__ return self.main(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1082, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1443, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 788, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/uvicorn/main.py", line 412, in main run( File "/usr/local/lib/python3.11/dist-packages/uvicorn/main.py", line 579, in run server.run() File "/usr/local/lib/python3.11/dist-packages/uvicorn/server.py", line 66, in run return asyncio.run(self.serve(sockets=sockets)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "/usr/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/dist-packages/uvicorn/server.py", line 70, in serve await self._serve(sockets) File "/usr/local/lib/python3.11/dist-packages/uvicorn/server.py", line 77, in _serve config.load() File "/usr/local/lib/python3.11/dist-packages/uvicorn/config.py", line 435, in load self.loaded_app = import_from_string(self.app) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/uvicorn/importer.py", line 22, in import_from_string raise exc from None File "/usr/local/lib/python3.11/dist-packages/uvicorn/importer.py", line 19, in import_from_string module = importlib.import_module(module_str) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1206, in _gcd_import File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1149, 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 "/opt/open-webui/backend/open_webui/main.py", line 43, in <module> from starlette_compress import CompressMiddleware ModuleNotFoundError: No module named 'starlette_compress' ### 🖼️ Additional context (optional). _No response_
OVERLORD added the external label 2026-02-04 22:37:11 +03:00
Author
Owner

@MickLesk commented on GitHub (May 27, 2025):

Please Report this into there repo. Because its an missing starlette_compress in pip install.

We do: pip install -r requirements.txt, but its missing.

@MickLesk commented on GitHub (May 27, 2025): Please Report this into there repo. Because its an missing starlette_compress in pip install. We do: pip install -r requirements.txt, but its missing.
Author
Owner

@Externalnet commented on GitHub (May 27, 2025):

I got the same issue

Image

@MickLesk where is there repo ? How to report ?

@Externalnet commented on GitHub (May 27, 2025): I got the same issue ![Image](https://github.com/user-attachments/assets/be4eddbb-e0ea-4276-82a7-1df28e1c7465) @MickLesk where is there repo ? How to report ?
Author
Owner

@MickLesk commented on GitHub (May 27, 2025):

https://github.com/open-webui/open-webui

@MickLesk commented on GitHub (May 27, 2025): https://github.com/open-webui/open-webui
Author
Owner

@techana commented on GitHub (May 27, 2025):

starlette-compress is not missing from requirements.txt (see line 15 in the file). When I try to reinstall the requirements or the module alone pip install starlette-compress, I get this error:

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    
    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
@techana commented on GitHub (May 27, 2025): starlette-compress is not missing from requirements.txt (see line 15 in the file). When I try to reinstall the requirements or the module alone `pip install starlette-compress`, I get this error: ``` error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed. If you wish to install a non-Debian packaged Python application, it may be easiest to use pipx install xyz, which will manage a virtual environment for you. Make sure you have pipx installed. See /usr/share/doc/python3.11/README.venv for more information. note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification. ```
Author
Owner

@tremor021 commented on GitHub (May 27, 2025):

rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED then try again

@tremor021 commented on GitHub (May 27, 2025): `rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED` then try again
Author
Owner

@techana commented on GitHub (May 27, 2025):

rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED then try again

Thank you, it worked!

It seems update does not install new requirements. starlette-compress was added yesterday to requirements.txt for Open WebUI v.0.6.11 (commit 4da75a9). After I removed the EXTERNALLY-MANAGED file and reran pip3 install -r requirements.txt -U, the system installed and updated the following modules:

  Downloading starlette_compress-1.6.0-py3-none-any.whl (11 kB)
  Downloading peewee-3.18.1.tar.gz (3.0 MB)
  Downloading openai-1.82.0-py3-none-any.whl (720 kB)
  Downloading anthropic-0.52.0-py3-none-any.whl (286 kB)
  Downloading transformers-4.52.3-py3-none-any.whl (10.5 MB)
  Downloading google_api_python_client-2.170.0-py3-none-any.whl (13.5 MB)
  Downloading Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB)
@techana commented on GitHub (May 27, 2025): > `rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED` then try again Thank you, it worked! It seems `update` does not install new requirements. starlette-compress was added yesterday to requirements.txt for Open WebUI v.0.6.11 (commit 4da75a9). After I removed the EXTERNALLY-MANAGED file and reran `pip3 install -r requirements.txt -U`, the system installed and updated the following modules: ``` Downloading starlette_compress-1.6.0-py3-none-any.whl (11 kB) Downloading peewee-3.18.1.tar.gz (3.0 MB) Downloading openai-1.82.0-py3-none-any.whl (720 kB) Downloading anthropic-0.52.0-py3-none-any.whl (286 kB) Downloading transformers-4.52.3-py3-none-any.whl (10.5 MB) Downloading google_api_python_client-2.170.0-py3-none-any.whl (13.5 MB) Downloading Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB) ```
Author
Owner

@MickLesk commented on GitHub (May 27, 2025):

okay, so classic python issue, therefore we migrate all python-apps to uv in next weeks

@MickLesk commented on GitHub (May 27, 2025): okay, so classic python issue, therefore we migrate all python-apps to uv in next weeks
Author
Owner

@Externalnet commented on GitHub (May 27, 2025):

The solution worked for me to
Thank you very much for the quick reply

@Externalnet commented on GitHub (May 27, 2025): The solution worked for me to Thank you very much for the quick reply
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#1014