Ubuntu22.04 Deepseek-R1本地容器化部署/内网穿透/OPENWEBUI,打造个人AI助
1. 前言本地部署DeepSeek并实现内网穿透,为家庭成员提供强大的AI支持。通过使用Ollama、Docker、OpenWebUI和Nginx,内网穿透,我们可以轻松实现快速响应和及时搜索功能。
2.软硬件环境
[*]系统:ubuntu22.04, cuda12
[*]GPU: RTX2080Ti
3. Ollama的作用
什么是Ollama?
Ollama 是一个用于 AI 模子推理的后端框架,专为高性能和及时性设计。它答应我们将AI模子部署到各种语言(如JavaScript、Python)中,从而实现快速响应和及时搜索功能。
https://i-blog.csdnimg.cn/direct/a6802bf5db81426298763672e76343d7.png#pic_center### 如何利用Ollama举行本地部署?
[*]ubuntu22.04 安装ollama:
curl -fsSL https://ollama.com/install.sh | sh
安装完成后,在下令行验证https://i-blog.csdnimg.cn/direct/24dfb6a739d44021a8e8d56b678f0ccd.png#pic_center 2. 下载deepseek模子:
ollama run deepseek-r1:7b
https://i-blog.csdnimg.cn/direct/14c5affefde04c81a896ed5d49a7fae7.png#pic_center—
3.运行deepseek模子
https://i-blog.csdnimg.cn/direct/f1fcfca59e644d349fc49353b5c158e4.png#pic_center4.开启ollama服务
设置Ollama服务配置
设置OLLAMA_HOST=0.0.0.0环境变量,从而答应远程访问。
下令语法:sudo vim /etc/systemd/system/ollama.service
https://i-blog.csdnimg.cn/direct/05afbc1aab7f4940bd98c883c3844bab.png#pic_center
sudo systemctl daemon-reload && sudo systemctl restart ollama
4. Docker的部署优势
什么是Docker?
Docker 是一个容器化平台,答应我们将应用步伐和其依赖项打包成易于迁移和部署的独立实体。对于DeepSeek本地部署来说,Docker提供了高度同等性和稳定性。
使用docker部署openwebui和nginx服务
[*]镜像拉取与运行:
sudo docker pull nginx
sudo docker network create ds-net(要将openwebui,nginx服务放在一个docker网络中)
sudo docker run --networks ds-net -d -p xxxx:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main
sudo docker run -d --name nginx-ds --network ds-net -v /your/path/nginx.conf:/etc/nginx/nginx.conf -v /your/ssl_ca/path:/certs -p 5002:443 nginx
[*]服务运行:
[*]这里需要一些后端的底子知识,docker容器端口和宿主机端口,根据个人需求来设定。
5. OpenWebUI的用户界面
什么是OpenWebUI?
OpenWebUI 是一个开源的AI交互界面,支持自然语言交互(NLU)和知识图谱检索。它为用户提供直观的搜索和题目答复功能。
如何利用OpenWebUI举行本地部署?
[*]通过openwebui使用deepseek:
第一次登录openwebui需要注册,且第一次注册账号默认为管理员账号。
https://i-blog.csdnimg.cn/direct/6bcef113f6b144c0af341208ae898cb9.png#pic_centerhttps://i-blog.csdnimg.cn/direct/33da0e56458149ffba737264cd5e0fb8.png#pic_center在这里就部署好本地deepseek服务啦,但是这只能在本地使用,或提供给局域网下的用户使用。如果要想随时随地使用怎么办呢?那就还需要设置内网穿透和反向代理了,这里需要一些更专业的知识了。
6. 内网穿透
内网穿透需要你有公网ip,公网ip 请向运营商申请。有公网ip后,注册一个域名,将域名解析到你的公网ip。公网ip可能是动态变革的,以是需要使用一个脚本将你的公网ip动态解析到域名上。可以参考aliyun,dns解析。此处涉及知识较专业,如有不明请找专业人员协助。
7. Nginx的负载平衡功能
什么是Nginx?
Nginx 是一个高可用性和负载平衡的Web服务器。对于DeepSeek本地部署来说,Nginx确保了服务的稳定性和扩展性。
如何利用Nginx举行部署?
[*]配置Nginx:
[*]配置Nginx来代理openwebui,对外网提供访问能力。
[*]我这里有两个docker容器服务,一个是openwebui,另一个是searxng搜索引擎服务。
usernginx;
worker_processesauto;
error_log/var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections1024;
}
http {
include /etc/nginx/mime.types;
default_typeapplication/octet-stream;
log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log/var/log/nginx/access.logmain;
sendfile on;
#tcp_nopush on;
keepalive_timeout65;
# include /etc/nginx/conf.d/*.conf
server {
listen 443 ssl;
server_name xxx.xxxxx.cn;(你的域名,需要申请域名并备案)
ssl_certificate /ssl_ca/path.pem;(要将域名的nginx证书上传到nginx容器的/etc/certs目录下)
ssl_certificate_key /ssl_ca/path.key;
ssl_protocols TLSv1.2 TLSv1.3;
location / {
proxy_pass http://open-webui:8080/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
}
}
server {
listen 8001 ssl;
server_name xxx.xxxxx.cn;(你的域名,需要申请域名并备案)
ssl_certificate /ssl_ca/path.pem;(要将域名的nginx证书上传到nginx容器的/etc/certs目录下)
ssl_certificate_key /ssl_ca/path.key;
ssl_protocols TLSv1.2 TLSv1.3;
location / {
proxy_pass http://searxng: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 X-Forwarded-Proto $scheme;
}
}
}
[*]外网访问:
[*]如许外网可以通过https://xxx.xx.cn:your-port来访问你的deepseek服务啦。
https://i-blog.csdnimg.cn/direct/58368e0188de48f5a6ac0f1fccb29eb1.png#pic_center
8. 总结
通过使用Ollama实现快速响应,Docker提供容器化部署的优势,OpenWebUI简化了用户交互界面,以及Nginx实现高可用性和负载平衡,我们可以轻松完成DeepSeek本地部署。这一技术不仅提升了家庭AI支持的效率,也为未来的扩展性奠基了底子。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]