diff options
| author | Tyler Hoang <tyler@tylerhoang.xyz> | 2026-07-09 21:49:56 -0700 |
|---|---|---|
| committer | Tyler Hoang <tyler@tylerhoang.xyz> | 2026-07-09 21:49:56 -0700 |
| commit | 1d043702ef136e8f2e516c5304a57be5718f1f6f (patch) | |
| tree | 9b3ad070f11dad5994c58acd41a15db8043745aa /openwebui | |
12 services: adguard, ampache, azuracast, flood, glance, glances,
grafana, immich, invidious, jellyfin, openwebui, watchtower
Each service includes a docker-compose.yml, README.md with setup
instructions, and .env.example where applicable.
Diffstat (limited to 'openwebui')
| -rw-r--r-- | openwebui/.env.example | 1 | ||||
| -rw-r--r-- | openwebui/README.md | 35 | ||||
| -rw-r--r-- | openwebui/docker-compose.yml | 38 |
3 files changed, 74 insertions, 0 deletions
diff --git a/openwebui/.env.example b/openwebui/.env.example new file mode 100644 index 0000000..7f95b8f --- /dev/null +++ b/openwebui/.env.example @@ -0,0 +1 @@ +OPEN_TERMINAL_API_KEY=your_api_key_here diff --git a/openwebui/README.md b/openwebui/README.md new file mode 100644 index 0000000..dd8de37 --- /dev/null +++ b/openwebui/README.md @@ -0,0 +1,35 @@ +# Open WebUI + +Self-hosted web interface for interacting with LLMs (Ollama, OpenAI-compatible APIs, etc.). + +Includes: +- **Open WebUI** — Main chat interface +- **Open Terminal** — Browser-based terminal +- **Apache Tika** — Document parsing for RAG + +## Setup + +1. Copy `.env.example` to `.env` and set your API key: + ``` + cp .env.example .env + ``` + +2. Start: + ``` + docker compose up -d + ``` + +## Access + +| Service | URL | +|---------------|--------------------------| +| Open WebUI | `http://<host>:3000` | +| Open Terminal | `http://<host>:8001` | +| Tika | `http://<host>:9998` | + +## What to Configure + +- **`.env`** — Set `OPEN_TERMINAL_API_KEY` to a secure random string. +- **Ollama / LLM backend** — The `host.docker.internal` extra host is configured to reach a local Ollama instance. If your LLM backend runs elsewhere, update the host or add environment variables like `OPENAI_API_BASE_URL`. +- **RAG settings** — `RAG_EMBEDDING_ENGINE=openai` uses OpenAI-compatible embeddings. Change if using a different engine. +- **Persistent volumes** — `open-webui` and `open-terminal` are named Docker volumes. Data persists across container restarts. diff --git a/openwebui/docker-compose.yml b/openwebui/docker-compose.yml new file mode 100644 index 0000000..ff2832b --- /dev/null +++ b/openwebui/docker-compose.yml @@ -0,0 +1,38 @@ +services: + openwebui: + image: ghcr.io/open-webui/open-webui:main + ports: + - "3000:8080" + volumes: + - open-webui:/app/backend/data + environment: + - ENABLE_KB_EXEC=true + - MODELS_CACHE_TTL=300 + - ENABLE_REALTIME_CHAT_SAVE=False + - RAG_EMBEDDING_ENGINE=openai + extra_hosts: + - "host.docker.internal:host-gateway" + restart: unless-stopped + + open-terminal: + image: ghcr.io/open-webui/open-terminal + container_name: open-terminal + ports: + - "8001:8000" + volumes: + - open-terminal:/home/user + environment: + - OPEN_TERMINAL_MULTI_USER=true + - OPEN_TERMINAL_API_KEY=${OPEN_TERMINAL_API_KEY} + restart: unless-stopped + tika: + image: apache/tika:latest-full + container_name: tika + ports: + - "9998:9998" + restart: unless-stopped + + +volumes: + open-webui: + open-terminal: |
