Due to failing build dependencies, the rework has been reverted, as of 0.5.3-3. As suggested by @Davidyz, I've created a separate package, open-webui-no-venv
, that uses the reworked PKGBUILD.
Search Criteria
Package Details: open-webui 0.5.4-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/open-webui.git (read-only, click to copy) |
---|---|
Package Base: | open-webui |
Description: | Web UI and OpenAI API for various LLM runners, including Ollama |
Upstream URL: | https://github.com/open-webui/open-webui |
Licenses: | MIT |
Conflicts: | open-webui-git |
Submitter: | mistersmee |
Maintainer: | mistersmee |
Last Packager: | mistersmee |
Votes: | 5 |
Popularity: | 3.76 |
First Submitted: | 2024-10-09 08:08 (UTC) |
Last Updated: | 2025-01-05 16:38 (UTC) |
Dependencies (5)
- python312AUR
- npm (corepackerAUR, python-nodejs-wheelAUR) (make)
- nvmAUR (nvm-gitAUR) (make)
- ollama (ollama-rocm-gitAUR, ollama-gitAUR, ollama-cuda-gitAUR, ollama-nogpu-gitAUR) (optional)
- tika-serverAUR (optional)
Required by (0)
Sources (3)
mistersmee commented on 2025-01-05 15:52 (UTC)
Davidyz commented on 2025-01-05 14:20 (UTC)
I can confirm the failed dependencies suggested by @klari. While it's worth reporting to the maintainers of those packages, this package remains unusable due to the broken dependencies (for both new users and existing users trying to upgrade). I suggest that this package should be reverted to using the old way of installing dependencies (with a virtual environment) until the dependency issue is resolved. If necessary, the refactored PKGBUILD with AUR dependencies can be a separate package that people can use to help and test it.
mistersmee commented on 2025-01-04 03:28 (UTC) (edited on 2025-01-04 03:30 (UTC) by mistersmee)
@klari, thanks for testing it out and letting us know, but it's slightly strange, I had problems with other packages, not those. I wasn't able to fix any of the problems with the fixes provided by the AUR package maintainers, but luckily there were -bin packages available for each, so I put the -bin version of those packages in open-webui
's make dependencies: python-tensorstore-bin
, python-jaxlib-bin
, python-primp-bin
and python-ctranslate2-bin
.
What makes this slightly more frustrating is that none of these packages we even need to run open-webui
, just need them to build dependencies that are actually needed, but oh well, such is Linux, sometimes.
Were there any problems other than the failing make dependencies, particularly with the package itself, did open-webui
itself run and run fine, @klari?
Also, I would suggest commenting on the AUR packages that failed, letting the maintainers know that the check() portion fails, maybe they can fix something with the PKGBUILD on their end, or suggest some other fix.
klari commented on 2025-01-04 00:01 (UTC) (edited on 2025-01-04 00:04 (UTC) by klari)
I think I found some problematic dependencies when trying to build this major package rework on my system.
- python-chromadb
- python-colbert-ai
- python-datasets
- python-faster-whisper
- python-sentence-transformers
- python-transformers
because of the following make dependencies:
- python-multiprocess
- python-chex
- python-opentracing
- python-opentelemetry
Building the above four dependencies (especially the first two) failed at the check()
stage. I "solved" this by manually installing each of open-webui's new dependencies (still through pacman, of course), and adding --nocheck
on the critically-problematic make dependencies.
I don't know if anyone else can confer this behavior, but I thought I'd let you know just in case.
mistersmee commented on 2025-01-03 11:45 (UTC)
PSA everyone, I intend to rework major parts of the PKGBUILD and the way open-webui is installed on the system so that we can get rid of the virtualenv and the long time it takes to build on every install. Also, it should make it so that you don't need to do the things that I mentioned in the first pinned note.
I've tested the changes on my end, and you don't need to do anything when updating from the old way to the new way, it should work just fine as it is, but still, this is a major change. I'll be moving installing the python dependencies from inside a virtualenv to installing the python dependencies system-wide.
If there are any bugs after the rework, which will be updated as 0.5.3-2 pkgrel bump, which are related to open-webui itself, rather than it's dependencies, please add a comment, and I'll fix them, and if there are too many, or some are unfixable, I'll revert the rework.
mistersmee commented on 2024-12-27 03:38 (UTC)
@devome, I've added them in the latest commit, but I haven't bumped the pkgrel because nothing of note changed build-wise, so it won't be reflected on your system when you do sudo pacman -Qi open-webui
, but by the next upstream release or pkgrel, it will show on your system as well.
evine commented on 2024-12-27 01:59 (UTC)
Is it possible to add optional dependencies for ollama
and tika-server
?
30p87 commented on 2024-12-25 23:02 (UTC)
@TheGreatAndyChow You'd usually use systemd for that, so sudo systemctl start open-webui.service
. If you really want to manually start it, you'd first change user to open-webui (sudo -u open-webui bash
(or replace bash with whatever shell you use)), then source /etc/open-webui.conf
and export PYTHONUNBUFFERED=1
, then change directory (cd /opt/open-webui
) and finally start it, by invoking python: /bin/bash -c "cd /opt/open-webui/backend && source ./venv/bin/activate && bash start.sh"
I just pulled that from the systemd service, and didn't test it, but it should work.
TheGreatAndyChow commented on 2024-12-25 22:32 (UTC)
I'm confused how to use this. When I installed, there are the files in /opt/open-webui, however, even after reboot, there is no command "open-webui" from the terminal and the port http://localhost:8080/ isn't serving anything. Do I need to manually source something to get the command available?
mistersmee commented on 2024-12-25 03:34 (UTC) (edited on 2024-12-25 03:35 (UTC) by mistersmee)
@30p87, I'm not quite sure how that would work, as it would have to check if the Python major version changed, and ignore the minor version changes.
If it triggered on every python
or python3xx
package update, then people would have to rebuild it fairly frequently and needlessly, as compared to whenever it is actually needed, which is at most once a year barring the few weeks of uncertainty until the newest major version gets supported, since Python major versions are released on a yearly cycle.
Pinned Comments
mistersmee commented on 2025-01-05 15:52 (UTC)
Due to failing build dependencies, the rework has been reverted, as of 0.5.3-3. As suggested by @Davidyz, I've created a separate package,
open-webui-no-venv
, that uses the reworked PKGBUILD.mistersmee commented on 2025-01-03 11:45 (UTC)
PSA everyone, I intend to rework major parts of the PKGBUILD and the way open-webui is installed on the system so that we can get rid of the virtualenv and the long time it takes to build on every install. Also, it should make it so that you don't need to do the things that I mentioned in the first pinned note.
I've tested the changes on my end, and you don't need to do anything when updating from the old way to the new way, it should work just fine as it is, but still, this is a major change. I'll be moving installing the python dependencies from inside a virtualenv to installing the python dependencies system-wide.
If there are any bugs after the rework, which will be updated as 0.5.3-2 pkgrel bump, which are related to open-webui itself, rather than it's dependencies, please add a comment, and I'll fix them, and if there are too many, or some are unfixable, I'll revert the rework.
mistersmee commented on 2024-12-24 16:27 (UTC) (edited on 2024-12-26 07:20 (UTC) by mistersmee)
Note to all existing users (those who will be upgrading the package, not installing it anew, people installing anew should be fine):
When major Python versions switch (as just happened with Python 3.12 -> 3.13), I believe it would be prudent to delete the virtual environment created by the backend, done so manually by doing a
sudo rm -r /opt/open-webui/backend/venv
, and then reinstalling the open-webui package, thus rebuilding the virtual environment with the new Python major version.Just reinstalling the open-webui package without removing or uninstalling makes sure that your user data, that is used in openwebui, for e.g., your admin password, remains as it is.
As an addendum, this might be applicable when the python package itself is changed due to dependency mismatches (again, as just happened when I changed the dependency from
python
topython312
, and would happen again once python 3.13 is supported upstream back topython
frompython312
), I'm not so sure about this, so testing might be needed, but just to be safe, please do so as well.This is so that any mismatches between the Python version that created the virtualenv and the Python version in use, and any problems that might arise from that, can be avoided.