免修改不影响更新!自定义OpenWebUI图标与删除网站名中的(Open WebUI)

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":"你想要的网站标题"'; 
50 Likes

太棒啦,

1 Like

感谢分享

1 Like

感谢分享

太强了!

2 Likes

感谢分享

感谢分享~~

感谢分享,最近有空试试看 :tieba_003:

大佬们,有没有caddy的配置

youdomain.com {
    reverse_proxy localhost:3000
    
    @favicon path /favicon*
    handle @favicon {
       root /var/www/  # 替换为你的 favicon.ico 文件所在的目录
       file_server
   }
   
}  

替换标题要transformations模块解决,你问下ai怎么搞吧

2 Likes

nginx配置了这修改标题的参数,咋不生效

赞楼主!

感谢分享

去除网站title这个我拷贝过去好像不生效哇

感谢佬友分享

这个思路好有意思 很值得学习,佬友大才

先插个眼

location ^~ /
{
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    proxy_hide_header Upgrade;
    add_header X-Cache $upstream_cache_status;
    add_header Cache-Control no-cache;
    #禁用压缩
    proxy_set_header Accept-Encoding "";
    sub_filter '<title>Open WebUI</title>' '<title>FT Chat</title>';
    sub_filter_once off;  # 允许多次替换
}

好像加载api前显示的Open WebUI就替换不了,我这里也禁用压缩了

确实,总会闪一下

补一个loading图片的替换
location = /static/splash.png {
alias /logoproxy/static/splash.png;
}

这个配置同时也会替换默认模型logo

1 Like