发布应用 Ollama OpenWebUI

Signed-off-by: Meng Sen <qyg2297248353@gmail.com>
This commit is contained in:
新疆萌森软件开发工作室 2025-02-10 16:10:01 +08:00
parent 0c329fcebe
commit cfc65df208
22 changed files with 523 additions and 0 deletions

2
.github/README.md vendored
View File

@ -114,7 +114,9 @@
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nginx-ui/logo.png" width="22"/> | Nginx UI | https://nginxui.com/ | 全新的 Nginx 网络管理界面,旨在简化 Nginx 服务器的管理和配置 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nocodb/logo.png" width="22"/> | NocoDB | https://nocodb.com/ | 无代码数据库平台 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nodebb/logo.png" width="22"/> | NodeBB | https://nodebb.org/ | 一个更适合现代网络的社会平台 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/ollama/logo.png" width="22"/> | Ollama | https://ollama.com/ | 一站式大模型部署平台 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/onedev/logo.png" width="22"/> | OneDev | https://onedev.io/ | DevOps 平台、带有 CI/CD、看板和软件包的 Git 服务器 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/open-webui/logo.png" width="22"/> | Open Webui | https://openwebui.com/ | 用户友好的 AI 界面 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/outline/logo.png" width="22"/> | OutLine | https://www.getoutline.com/ | 快速、协作的团队知识库 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/overseerr/logo.png" width="22"/> | overseerr | https://docs.overseerr.dev/ | 管理您的媒体库请求 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/page-spy-web/logo.png" width="22"/> | PageSpy | https://www.pagespy.org/ | 开源调试平台 | |

View File

@ -109,7 +109,9 @@
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nginx-ui/logo.png" width="22"/> | Nginx UI | https://nginxui.com/ | 全新的 Nginx 网络管理界面,旨在简化 Nginx 服务器的管理和配置 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nocodb/logo.png" width="22"/> | NocoDB | https://nocodb.com/ | 无代码数据库平台 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/nodebb/logo.png" width="22"/> | NodeBB | https://nodebb.org/ | 一个更适合现代网络的社会平台 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/ollama/logo.png" width="22"/> | Ollama | https://ollama.com/ | 一站式大模型部署平台 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/onedev/logo.png" width="22"/> | OneDev | https://onedev.io/ | DevOps 平台、带有 CI/CD、看板和软件包的 Git 服务器 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/open-webui/logo.png" width="22"/> | Open Webui | https://openwebui.com/ | 用户友好的 AI 界面 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/outline/logo.png" width="22"/> | OutLine | https://www.getoutline.com/ | 快速、协作的团队知识库 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/overseerr/logo.png" width="22"/> | overseerr | https://docs.overseerr.dev/ | 管理您的媒体库请求 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/page-spy-web/logo.png" width="22"/> | PageSpy | https://www.pagespy.org/ | 开源调试平台 | |

View File

@ -0,0 +1,71 @@
additionalProperties:
formFields:
- default: "/home/ollama"
edit: true
envKey: OLLAMA_ROOT_PATH
labelZh: 数据持久化路径
labelEn: Data persistence path
required: true
type: text
- default: 11434
edit: true
envKey: PANEL_APP_PORT_HTTP
labelZh: WebUI 端口
labelEn: WebUI port
required: true
rule: paramPort
type: number
- default: 1
edit: true
envKey: OLLAMA_MAX_LOADED_MODELS
labelZh: 最大加载模型数量
labelEn: Maximum number of loaded models
required: true
rule: paramPort
type: number
- default: 512
edit: true
envKey: OLLAMA_MAX_QUEUE
labelZh: 最大队列长度
labelEn: Maximum queue length
required: true
rule: paramPort
type: number
- default: "1"
edit: true
envKey: OLLAMA_NUM_PARALLEL
labelZh: 并行推理数量
labelEn: Number of parallel inferences
required: true
type: select
values:
- label: 1
value: "1"
- label: 4
value: "4"
- default: "f16"
edit: true
envKey: OLLAMA_KV_CACHE_TYPE
labelZh: 缓存类型
labelEn: Cache type
required: true
type: select
values:
- label: f16
value: "f16"
- label: q8_0
value: "q8_0"
- label: q4_0
value: "q4_0"
- default: "0"
edit: true
envKey: OLLAMA_FLASH_ATTENTION
labelZh: 启用 Flash Attention
labelEn: Enable Flash Attention
required: true
type: select
values:
- label: 启用
value: "1"
- label: 禁用
value: "0"

View File

@ -0,0 +1,45 @@
networks:
1panel-network:
external: true
services:
ollama:
image: ollama/ollama:0.5.7
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- 1panel-network
deploy:
resources:
reservations:
devices:
- capabilities:
- gpu
devices:
- /dev/dri:/dev/dri
# - /dev/kfd:/dev/kfd
# - /dev/nvidia0:/dev/nvidia0
# - /dev/nvidiactl:/dev/nvidiactl
# - /dev/nvidia-modeset:/dev/nvidia-modeset
# - /dev/nvidia-nvswitchctl:/dev/nvidia-nvswitchctl
# - /dev/nvidia-uvm:/dev/nvidia-uvm
# - /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools
# - /dev/video11:/dev/video11
ports:
- ${PANEL_APP_PORT_HTTP}:11434
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- ${OLLAMA_ROOT_PATH}/data:/root/.ollama
environment:
- TZ=Asia/Shanghai
- OLLAMA_HOST=0.0.0.0
- OLLAMA_PORT=11434
- OLLAMA_MAX_LOADED_MODELS=1
- OLLAMA_NUM_PARALLEL=1
- OLLAMA_MAX_QUEUE=512
- OLLAMA_FLASH_ATTENTION=0
- OLLAMA_KV_CACHE_TYPE=f16

View File

@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env

View File

@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai

View File

@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -0,0 +1,10 @@
#!/bin/bash
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

96
apps/ollama/README.md Normal file
View File

@ -0,0 +1,96 @@
# Ollama
一站式大模型部署平台
<img height="128px" src="https://file.lifebus.top/apps/ollama/logo.png" width="128px"/>
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
## 模型列表
Ollama支持可用的型号列表 [ollama.com/library](https://ollama.com/library 'Ollama 模型库)
下面是一些可以下载的示例模型:
| Model | Parameters | Size | Download |
|--------------------|------------|-------|----------------------------------|
| DeepSeek-R1 | 7B | 4.7GB | `ollama run deepseek-r1` |
| DeepSeek-R1 | 671B | 404GB | `ollama run deepseek-r1:671b` |
| Llama 3.3 | 70B | 43GB | `ollama run llama3.3` |
| Llama 3.2 | 3B | 2.0GB | `ollama run llama3.2` |
| Llama 3.2 | 1B | 1.3GB | `ollama run llama3.2:1b` |
| Llama 3.2 Vision | 11B | 7.9GB | `ollama run llama3.2-vision` |
| Llama 3.2 Vision | 90B | 55GB | `ollama run llama3.2-vision:90b` |
| Llama 3.1 | 8B | 4.7GB | `ollama run llama3.1` |
| Llama 3.1 | 405B | 231GB | `ollama run llama3.1:405b` |
| Phi 4 | 14B | 9.1GB | `ollama run phi4` |
| Phi 3 Mini | 3.8B | 2.3GB | `ollama run phi3` |
| Gemma 2 | 2B | 1.6GB | `ollama run gemma2:2b` |
| Gemma 2 | 9B | 5.5GB | `ollama run gemma2` |
| Gemma 2 | 27B | 16GB | `ollama run gemma2:27b` |
| Mistral | 7B | 4.1GB | `ollama run mistral` |
| Moondream 2 | 1.4B | 829MB | `ollama run moondream` |
| Neural Chat | 7B | 4.1GB | `ollama run neural-chat` |
| Starling | 7B | 4.1GB | `ollama run starling-lm` |
| Code Llama | 7B | 3.8GB | `ollama run codellama` |
| Llama 2 Uncensored | 7B | 3.8GB | `ollama run llama2-uncensored` |
| LLaVA | 7B | 4.5GB | `ollama run llava` |
| Solar | 10.7B | 6.1GB | `ollama run solar` |
> 您应该至少有8 GB的RAM来运行7B型号16 GB来运行13B型号32 GB来运行33B型号。
## 基本命令
### 拉取一个模型
```sh
ollama pull llama3.2
```
此命令也可用于更新本地模型。仅拉取差异。
### 移除一个模型
```sh
ollama rm llama3.2
```
### 复制一个模型
```sh
ollama cp llama3.2 my-model
```
### 显示模型信息
```sh
ollama show llama3.2
```
### 列出你电脑上的所有模型
```sh
ollama list
```
### 列出当前已加载的模型
```sh
ollama ps
```
### 停止正在运行的模型
```sh
ollama stop llama3.2
```
### 启动 Ollama
```sh
ollama serve
```
---
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)

15
apps/ollama/data.yml Normal file
View File

@ -0,0 +1,15 @@
additionalProperties:
key: ollama
name: Ollama
tags:
- WebSite
- AI
- Local
shortDescZh: 一站式大模型部署平台
shortDescEn: Get up and running with large language models
type: website
crossVersionUpdate: true
limit: 0
website: https://ollama.com/
github: https://github.com/ollama/ollama/
document: https://ollama.com/

BIN
apps/ollama/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

View File

@ -0,0 +1,78 @@
additionalProperties:
formFields:
- default: "/home/open-webui"
edit: true
envKey: OPEN_WEBUI_ROOT_PATH
labelZh: 数据持久化路径
labelEn: Data persistence path
required: true
type: text
- default: 8080
edit: true
envKey: PANEL_APP_PORT_HTTP
labelZh: WebUI 端口
labelEn: WebUI port
required: true
rule: paramPort
type: number
- default: "http://127.0.0.1:11434"
edit: true
envKey: OLLAMA_BASE_URL
labelZh: Ollama 服务地址
labelEn: Ollama service address
required: true
type: text
- default: ""
edit: true
envKey: OLLAMA_BASE_URLS
labelZh: Ollama 负载均衡服务列表
labelEn: Ollama load balancing service list
required: false
type: text
- default: ""
edit: true
envKey: WEBUI_SECRET_KEY
labelZh: 访问令牌密钥
labelEn: Access token key
required: false
type: text
- default: "Open WebUI"
edit: true
envKey: WEBUI_NAME
labelZh: 应用名称
labelEn: Application name
required: true
type: text
- default: "http://localhost:8080"
edit: true
envKey: WEBUI_URL
labelZh: 应用服务地址
labelEn: Application service address
required: true
type: text
- default: "0"
edit: true
envKey: HF_HUB_OFFLINE
labelZh: 离线模式
labelEn: Offline mode
required: true
type: select
values:
- label: 启用
value: "1"
- label: 禁用
value: "0"
- default: ""
edit: true
envKey: http_proxy
labelZh: 网络代理
labelEn: Network proxy
required: false
type: text
- default: ""
edit: true
envKey: no_proxy
labelZh: 忽略代理
labelEn: Ignore proxy
required: false
type: text

View File

@ -0,0 +1,42 @@
networks:
1panel-network:
external: true
services:
open-webui:
image: ghcr.io/open-webui/open-webui:v0.5.10
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- 1panel-network
deploy:
resources:
reservations:
devices:
- capabilities:
- gpu
devices:
- /dev/dri:/dev/dri
# - /dev/kfd:/dev/kfd
# - /dev/nvidia0:/dev/nvidia0
# - /dev/nvidiactl:/dev/nvidiactl
# - /dev/nvidia-modeset:/dev/nvidia-modeset
# - /dev/nvidia-nvswitchctl:/dev/nvidia-nvswitchctl
# - /dev/nvidia-uvm:/dev/nvidia-uvm
# - /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools
# - /dev/video11:/dev/video11
ports:
- ${PANEL_APP_PORT_HTTP}:8080
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- ${OPEN_WEBUI_ROOT_PATH}/data:/app/backend/data
environment:
- TZ=Asia/Shanghai
- PORT=8080
- ENABLE_OLLAMA_API=True
- ENABLE_OPENAI_API=False
- https_proxy=${http_proxy}

View File

@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env

View File

@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai

View File

@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -0,0 +1,10 @@
#!/bin/bash
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

61
apps/open-webui/README.md Normal file
View File

@ -0,0 +1,61 @@
# Open Webui
用户友好的 AI 界面
![Open Webui](https://file.lifebus.top/imgs/open-webui_cover.png)
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
## 简介
Open WebUI 是一个可扩展的、功能丰富且用户友好的自托管 AI 平台,旨在完全离线运行。它支持各种 LLM 运行器,如 Ollama 和兼容
OpenAI 的 API内置 RAG 推理引擎,使其成为强大的 AI 部署解决方案。
## 特性
🚀 轻松设置:使用 Docker 或 Kuberneteskubectl、kustomize 或 helm无缝安装以获得无烦恼的体验支持带有:ollama和:cuda标签的镜像。
🤝 奥拉马/开放 AI API 集成:轻松集成与奥拉马模型兼容的 API实现多功能的对话。自定义开放 AI API URL以连接到
LMStudio、GroqCloud、Mistral、OpenRouter 等。
🛡️ 细粒度权限和用户组:通过允许管理员创建详细的用户角色和权限,我们确保了一个安全用户环境。这种细粒度不仅增强了安全性,还允许定制用户体验,培养用户之间的所有权和责任感。
手机 响应式设计:在桌面电脑、笔记本电脑和移动设备上享受无缝体验。
手机 渐进式 Web 应用PWA使用我们的 PWA在您的移动设备上享受原生应用般的体验提供本地主机上的离线访问和无缝的用户界面。
✒️🔢 全 Markdown 和 LaTeX 支持:通过全面的 Markdown 和 LaTeX 功能提升您的 LLM 体验,丰富您的交互。
🎤📹 免提语音/视频通话:体验集成免提语音和视频通话功能的无缝通信,让您享受更加生动和互动的聊天环境。
🛠️ 模型构建器:通过 Web 界面轻松创建 Ollama 模型。创建和添加自定义角色/代理,自定义聊天元素,并通过开放 WebUI 社区集成轻松导入模型。
🐍 原生 Python 函数调用工具:通过工具工作区内置代码编辑器支持,增强您的 LLMs。通过简单添加您的纯 Python 函数,实现与 LLMs
的无缝集成。
📚 本地 RAG 集成深入了解聊天交互的未来利用突破性的检索增强生成RAG支持。此功能无缝将文档交互集成到您的聊天体验中。
您可以直接将文档加载到聊天中,或将文件添加到您的文档库中,使用查询前的#命令轻松访问它们
🔍 Web Search for RAG使用 SearXNG、Google PSE、Brave Search、serpstack、serper、Serply、DuckDuckGo、TavilySearch、SearchApi 和
Bing 等提供商进行网络搜索,并将结果直接注入到您的聊天体验中。
🌐 网页浏览功能:使用#命令后跟 URL无缝将网站集成到您的聊天体验中。此功能允许您直接将网络内容融入对话中增强您互动的丰富性和深度。
🎨 图像生成集成:无缝集成图像生成功能,使用 AUTOMATIC1111 API 或 ComfyUI本地以及 OpenAI 的
DALL-E外部等选项通过动态视觉内容丰富您的聊天体验。
⚙️ 多种模型对话:轻松同时与各种模型互动,利用它们的独特优势以获得最佳响应。通过并行利用多样化的模型集来提升您的体验。
基于角色的访问控制RBAC通过受限权限确保安全访问只有授权人员可以访问您的 Ollama且模型创建/提取的专属权限仅限于管理员。
🌐🌍 多语言支持使用我们的国际化i18n支持用您喜欢的语言体验 Open WebUI。加入我们扩展我们的支持语言我们正在积极寻找贡献者
🧩 管道,开放 WebUI 插件支持:通过管道插件框架无缝将自定义逻辑和 Python 库集成到 Open WebUI 中。启动您的管道实例,将 OpenAI
URL 设置为管道 URL探索无限可能。示例包括函数调用、用户速率限制以控制访问、使用 Langfuse 等工具进行使用监控、与
LibreTranslate 的实时翻译以支持多语言、有毒信息过滤等更多功能。
🌟 持续更新:我们致力于通过定期更新、修复和新功能来改进 Open WebUI。
---
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)

15
apps/open-webui/data.yml Normal file
View File

@ -0,0 +1,15 @@
additionalProperties:
key: open-webui
name: Open Webui
tags:
- WebSite
- AI
- Local
shortDescZh: 用户友好的 AI 界面
shortDescEn: User-friendly AI interface
type: website
crossVersionUpdate: true
limit: 0
website: https://openwebui.com/
github: https://github.com/open-webui/open-webui/
document: https://docs.openwebui.com/

BIN
apps/open-webui/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB