New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux Installer Script #871
base: dev
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comment on possible solutions to support more distro, not tested though.
Awesome! I can try this with my Ubuntu Laptop and maybe also check the functionality with my dual boot Debian. |
I think it should work on Debian (and other derivatives of it and Ubuntu), but your mileage may vary lol |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested it on Debian.
Docker installation failed:
Reading state information... Done
Package docker-ce is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package docker-ce-cli is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'docker-ce' has no installation candidate
E: Package 'docker-ce-cli' has no installation candidate
E: Unable to locate package containerd.io
E: Couldn't find any package by glob 'containerd.io'
E: Couldn't find any package by regex 'containerd.io'
sudo: docker: command not found
Docker installation failed. Please check the error messages above.
(base) jannik@Jannik-PC-debian:~/Downloads$
Maybe we could try this with https://get.docker.com as @ching-kuo mentioned.
Installation with --no-docker flag works just fine!
In future if we host this script on openwebui.com we should check if the user is in the cloned repo on his machine, and if not clone it first.
Maybe something like this:
if [ -f ".git/config" ] && grep -q "https://github.com/open-webui/open-webui.git" .git/config; then
HAS_REPO=true
else
HAS_REPO=false
fi
if [ "$HAS_REPO" = false ]; then
read -p "Enter the path to clone the repository (default is current directory): " CLONE_PATH
CLONE_PATH="${CLONE_PATH:-.}"
CLONE_PATH=$(eval echo "$CLONE_PATH")
git clone https://github.com/open-webui/open-webui.git "$CLONE_PATH/open-webui"
cd "$CLONE_PATH/open-webui"
fi
Thanks for the testing @jannikstdl I'm going to work some more on this tonight and incorporate yours and @ching-kuo's excellent feedback 👏 |
I'm getting back to work on this today, sorry it's been taking forever everyone :) @tjbck I'm not seeing how to rebase this on |
All good, we all have stuff to do. Do you want to change the target branch from open-webui:main to :dev or do you mean the dev branch on your fork? |
I only saw that if you create a PR, i don't know if you can change that afterwards, but Tim can change that easily. |
To-Do Before Merge:
To-Do Later:
|
Alright I'm starting to get into perfectionist mode now so I'd really love it if someone would tell me to stop now LOL 😂 |
Just realized the systemd file needs a bit more work... no handling of Python venv there. |
@justinh-rahb on fire today 🚀🚀 |
Description:
This Pull Request introduces a new script designed to facilitate the automatic installation of Open WebUI on Ubuntu systems. The script offers a streamlined process for setting up Open WebUI, with support for both Docker-based and direct installations. Key features of this script include:
Docker Installation: For users who prefer or require a Docker-based setup, the script checks for the presence of Docker on the system. If Docker is not found, it prompts the user with the option to install Docker directly. This ensures that users can easily prepare their environment for running Open WebUI within a Docker container.
Open WebUI Setup: The script handles the deployment of Open WebUI, providing options for either a Docker container setup or a direct installation. This flexibility allows users to choose the installation method that best fits their needs and system capabilities.
User Interaction: Throughout the process, the script engages with the user through prompts, ensuring that they are in control of the installation choices, such as opting in for Docker installation or selecting the preferred method for deploying Open WebUI.
Note
The current version of the script is tailored for Ubuntu environments. However, work is underway to extend support to additional Linux distributions. This expansion will cater to a broader user base, accommodating different system preferences and requirements.
Future Plans:
The development of this script is ongoing, with plans to polish existing features and introduce support for more Linux distributions. Key goals include:
Enhanced Distro Support: Expanding the script to support other popular Linux distributions, making the installation process as seamless on those systems as it is on Ubuntu.
Streamlined User Experience: Continuous improvements to the script's user interaction model, ensuring it remains intuitive and user-friendly.
Official Hosting: In the future, we aim to host this script on
https://openwebui.com
, allowing users to easily initiate the installation process with a simple curl command:curl https://openwebui.com/install.sh | bash
This will significantly simplify the setup process for Open WebUI, making it accessible to users with minimal setup commands.
Request for Comments:
I invite feedback, suggestions, and contributions from the community to refine this script further. Collaboration will be key to extending its capabilities and ensuring it meets the needs of our diverse user base. If you have ideas for improvement, additional features, or support for other distributions, please feel free to contribute to this effort.