RT,众所周知OpenWebUI中的favicon无法修改,且会在你自定义的网站名后添加一个"(Open WebUI)"。
想要修改和删除这两个逻辑最简单的办法就是直接修改OpenWebUI代码,但这个操作又会导致无法直接更新最新版本的OpenWebUI。
所以我稍微研究了下如何在不修改代码的情况下实现替换,不影响便捷更新Open WebUI。
一、Favicon与Icon的替换
这两者的替换可以说是最简单的替换方法
我本人的OpenWebUI是OpenWebUI的Docker通过NPM (Nginx Proxy Manager)反代出去
理论上所有的Nginx的反代都适用于本篇教程
所以直接利用NPM的重定向功能将图片地址反代为其他链接
在NPM站点高级设置中添加以下配置:
# Favicon
location ~* ^/favicon/(.*\.(?:ico|png|svg))$ {
proxy_pass https://你自己的网站域名/favicon/$1;
proxy_set_header Host 你自己的网站域名;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# 网站Icon
location = /static/favicon.png {
proxy_pass https://你自己的网站域名/static/favicon.png;
proxy_set_header Host 你自己的网站域名;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
注意,OpenWebUI引用的favicon有以下文件,请确保这些文件在你的网站下的/favicon/
目录下有这些文件名
/favicon-96x96.png
/favicon.svg
/favicon.ico
/apple-touch-icon.png
同时/static/
目录下放好favicon.png
文件。
二、去除网站title中的(Open WebUI)
Open WebUI的逻辑是通过后端接口/api/config
来获取name字段
这里我们将OpenWebUI的WEBUI_NAME
环境变量设置为空
这样OpenWebUI的代码逻辑判断到标题不为默认后,后端接口会返回站点名为 (OpenWebUI)
此时我们在NPM站点高级设置添加以下代码,以实现修改后端返回的json内容:
proxy_set_header Accept-Encoding "";
sub_filter_once off;
sub_filter_types application/json;
sub_filter '"name":" (Open WebUI)"' '"name":"你想要的网站标题"';