在 VPS 上用 Docker 部署 Open WebUI:反向代理、SSL、接入 DeepSeek,并安装成 Chrome 应用
一台海外 VPS,加上 Docker,就可以把 Open WebUI 跑成自己的聊天界面,再接上 DeepSeek 的 API,或者其它厂商的api。浏览器里打开的是你自己的域名,历史记录、模型、设置都留在这台机器上。Chrome 还能把它收成一个独立窗口的应用,用起来和本地软件差不多。最主要的是,可以跨平台,多系统使用,可以同步所有历史对话记录。
下面按 Debian + DNMP(Nginx)来写。其他系统只要有 Docker 和 Nginx,步骤是一样的。需要一点自己动手的能力,比如在线安装应用,设置反向代理等。
准备什么
- 一台 Debian 12 或 13 的 VPS,内存建议 1 GB 以上
- 一个已经解析到这台 VPS 的域名,下文用
ai.abcd.com - 80 和 443 端口能从外网访问
- 一个 DeepSeek API Key,请自行创建
1.安装 Docker
apt update
curl -fsSL https://get.docker.com | sh
2.安装nginx反代
apt-get install nginx
3.在 Docker 里安装 Open WebUI
新建一个目录,用于存放Open WebUI的配置数据
mkdir -p /usr/local/etc/docker/open-webui/data
docker run -d \
--name open-webui \
--restart always \
-p 127.0.0.1:3000:8080 \
-v /var/www/docker_data/open-webui/data:/app/backend/data \
--log-driver json-file --log-opt max-size=50m --log-opt max-file=3 \
ghcr.io/open-webui/open-webui:main
不要把容器端口直接暴露到公网。只绑在本机 127.0.0.1:3000,外面一律走 Nginx。
4.签发 SSL 证书
使用acme签发域名的ssl证书,例如域名:ai.abcd.com
5.Nginx 反向代理
server {
listen 80;
server_name ai.abcd.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name ai.abcd.com;
ssl_certificate /etc/ssl/ai.abcd.com/ai.abcd.com.pem;
ssl_certificate_key /etc/ssl/ai.abcd.com/ai.abcd.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
client_max_body_size 256m;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
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 X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
proxy_read_timeout 86400;
proxy_send_timeout 86400;
}
}
把域名替换成自己的就行了。
检查并加载
nginx -t && systemctl reload nginx
浏览器打开 https://ai.example.com。第一个注册的账号自动成为管理员,这一步尽快做完。
6.接入 DeepSeek API
DeepSeek 兼容 OpenAI 接口,在 Open WebUI 里按「外部 OpenAI 连接」添加,不要去改 Docker 里的环境变量硬编码 Key。Key 放在管理后台,以后轮换也方便。
- 用管理员账号登录
- 右上角头像 → 管理员设置 → 设置 → 连接
- 在 OpenAI API 一栏点 +,新增一条连接
- 填写:
- URL:
https://api.deepseek.com/v1 - API Key:刚才创建的 Key
- URL:
- 保存。模型列表里应出现
deepseek-chat和deepseek-reasoner
7.在 Chrome 里安装成应用
Open WebUI 自带 PWA,不需要再包一层。
- Chrome 打开
https://ai.example.com并登录 - 地址栏右侧出现安装图标(显示器加向下箭头),点它
- 选 安装
没有图标时:右上角三点 → 投放、保存和分享 → 将页面安装为应用。不同 Chrome 版本菜单文字略有差别,找「安装」即可。
装好后它会出现在应用列表和桌面,窗口没有地址栏,和普通网站标签页分开。历史记录仍在服务器上,换电脑用同一个域名登录,记录还在。
手机 Chrome 同样可以「添加到主屏幕」,和电脑共用这一套账号。