商道如狼道 发表于 2025-2-17 12:04:54

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]
查看完整版本: Ubuntu22.04 Deepseek-R1本地容器化部署/内网穿透/OPENWEBUI,打造个人AI助