From 1ff1c7e94e9048a869a34455ed6d8e0ba8f1d187 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Tue, 5 Dec 2023 01:58:58 -0500 Subject: [PATCH 1/4] doc: local build tldr section added --- README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/README.md b/README.md index 6a41f8026..f553442c7 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,26 @@ docker run -d -p 3000:8080 -e OLLAMA_API_BASE_URL=https://example.com/api --name While we strongly recommend using our convenient Docker container installation for optimal support, we understand that some situations may require a non-Docker setup, especially for development purposes. Please note that non-Docker installations are not officially supported, and you might need to troubleshoot on your own. +### TL;DR + +Run the following commands to install: + +```sh +git clone https://github.com/ollama-webui/ollama-webui.git +cd ollama-webui/ + +# Building Frontend +cp -RPp example.env .env +npm i +npm run build + +# Serve Frontend with the Backend +cd ./backend +pip install -r requirements.txt +sh start.sh +``` +You should have the Ollama Web UI up and running at http://localhost:8080/. Enjoy! 😄 + ### Project Components The Ollama Web UI consists of two primary components: the frontend and the backend (which serves as a reverse proxy, handling static frontend files, and additional features). Both need to be running concurrently for the development environment using `npm run dev`. Alternatively, you can set the `PUBLIC_API_BASE_URL` during the build process to have the frontend connect directly to your Ollama instance or build the frontend as static files and serve them with the backend. From 179b963525bb16d8f4a4a91a384d4e878f869103 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Tue, 5 Dec 2023 02:01:49 -0500 Subject: [PATCH 2/4] Update example.env --- example.env | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/example.env b/example.env index 09911a5c9..00b399d9e 100644 --- a/example.env +++ b/example.env @@ -1,8 +1,9 @@ +# If serving with the backend (Recommended) +PUBLIC_API_BASE_URL='/ollama/api' + +# Comment above and Uncomment below if you're serving only the frontend (Not supported) # must be defined, but defaults to 'http://{location.hostname}:11434/api' # can also use path, such as '/api' -PUBLIC_API_BASE_URL='' +# PUBLIC_API_BASE_URL='' -OLLAMA_API_ID='my-api-token' -OLLAMA_API_TOKEN='xxxxxxxxxxxxxxxx' -# generated by passing the token to `caddy hash-password` -OLLAMA_API_TOKEN_DIGEST='$2a$14$iyyuawykR92xTHNR9lWzfu.uCct/9/xUPX3zBqLqrjAu0usNRPbyi' +OLLAMA_API_BASE_URL='http://localhost:11434/api' From 78bf9bad9468af45eb41e9f635276b08f8958c02 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Mon, 4 Dec 2023 23:17:51 -0800 Subject: [PATCH 3/4] chore: example.env updated --- backend/config.py | 5 ++--- example.env | 13 ++++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/backend/config.py b/backend/config.py index fa73a1f9e..14ad30e4b 100644 --- a/backend/config.py +++ b/backend/config.py @@ -6,8 +6,7 @@ from secrets import token_bytes from base64 import b64encode import os - -load_dotenv(find_dotenv()) +load_dotenv(find_dotenv("../.env")) #################################### # ENV (dev,test,prod) @@ -38,7 +37,7 @@ WEBUI_VERSION = os.environ.get("WEBUI_VERSION", "v1.0.0-alpha.21") #################################### -WEBUI_AUTH = True if os.environ.get("WEBUI_AUTH", "TRUE") == "TRUE" else False +WEBUI_AUTH = True if os.environ.get("WEBUI_AUTH", "FALSE") == "TRUE" else False #################################### diff --git a/example.env b/example.env index 00b399d9e..9c628b427 100644 --- a/example.env +++ b/example.env @@ -1,9 +1,12 @@ -# If serving with the backend (Recommended) +# If you're serving both the frontend and backend (Recommended) +# Set the public API base URL for seamless communication PUBLIC_API_BASE_URL='/ollama/api' -# Comment above and Uncomment below if you're serving only the frontend (Not supported) -# must be defined, but defaults to 'http://{location.hostname}:11434/api' -# can also use path, such as '/api' -# PUBLIC_API_BASE_URL='' +# If you're serving only the frontend (Not recommended and not fully supported) +# Comment above and Uncomment below +# You can use the default value or specify a custom path, e.g., '/api' +# PUBLIC_API_BASE_URL='http://{location.hostname}:11434/api' +# Ollama URL for the backend to connect +# The path '/ollama/api' will be redirected to the specified backend URL OLLAMA_API_BASE_URL='http://localhost:11434/api' From 9b35b1fd90255b9cceabc49a1caecc4bbddbeae5 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Mon, 4 Dec 2023 23:25:41 -0800 Subject: [PATCH 4/4] doc: better comments for tldr --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f553442c7..5e26ae564 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ Also check our sibling project, [OllamaHub](https://ollamahub.com/), where you c - 🤖 **Multiple Model Support**: Seamlessly switch between different chat models for diverse interactions. -- 🗃️ **Modelfile Builder**: Easily create Ollama modelfiles via the web UI. Create and add your own character to Ollama by customizing system prompts, conversation starters, and more. +- 🧩 **Modelfile Builder**: Easily create Ollama modelfiles via the web UI. Create and add characters/agents, customize chat elements, and import modelfiles effortlessly through [OllamaHub](https://ollamahub.com/) integration. - ⚙️ **Many Models Conversations**: Effortlessly engage with various models simultaneously, harnessing their unique strengths for optimal responses. Enhance your experience by leveraging a diverse set of models in parallel. @@ -59,7 +59,7 @@ Also check our sibling project, [OllamaHub](https://ollamahub.com/), where you c - 🌟 **Continuous Updates**: We are committed to improving Ollama Web UI with regular updates and new features. -## 🔗 Also Check Out OllamaHub! +## 🔗 Also Check Out OllamaHub! Don't forget to explore our sibling project, [OllamaHub](https://ollamahub.com/), where you can discover, download, and explore customized Modelfiles. OllamaHub offers a wide range of exciting possibilities for enhancing your chat interactions with Ollama! 🚀 @@ -121,7 +121,7 @@ docker run -d -p 3000:8080 -e OLLAMA_API_BASE_URL=https://example.com/api --name While we strongly recommend using our convenient Docker container installation for optimal support, we understand that some situations may require a non-Docker setup, especially for development purposes. Please note that non-Docker installations are not officially supported, and you might need to troubleshoot on your own. -### TL;DR +### TL;DR 🚀 Run the following commands to install: @@ -129,16 +129,19 @@ Run the following commands to install: git clone https://github.com/ollama-webui/ollama-webui.git cd ollama-webui/ -# Building Frontend +# Copying required .env file cp -RPp example.env .env + +# Building Frontend npm i npm run build -# Serve Frontend with the Backend +# Serving Frontend with the Backend cd ./backend pip install -r requirements.txt sh start.sh ``` + You should have the Ollama Web UI up and running at http://localhost:8080/. Enjoy! 😄 ### Project Components @@ -231,7 +234,6 @@ See [TROUBLESHOOTING.md](/TROUBLESHOOTING.md) for information on how to troubles Here are some exciting tasks on our roadmap: - - 🔄 **Multi-Modal Support**: Seamlessly engage with models that support multimodal interactions, including images (e.g., LLava). - 📚 **RAG Integration**: Experience first-class retrieval augmented generation support, enabling chat with your documents. - 🔐 **Access Control**: Securely manage requests to Ollama by utilizing the backend as a reverse proxy gateway, ensuring only authenticated users can send specific requests.