Ubuntu22.04 Deepseek-R1本地容器化部署/内网穿透/OPENWEBUI,打造个人AI助手!


1. 前言

本地部署DeepSeek并实现内网穿透,为家庭成员提供强大的AI支持。通过使用Ollama、Docker、OpenWebUI和Nginx,内网穿透,我们可以轻松实现快速响应和实时搜索功能。


2.软硬件环境

  1. 系统:ubuntu22.04, cuda12
  2. GPU: RTX2080Ti

3. Ollama的作用

什么是Ollama?

Ollama 是一个用于 AI 模型推理的后端框架,专为高性能和实时性设计。它允许我们将AI模型部署到各种语言(如JavaScript、Python)中,从而实现快速响应和实时搜索功能。
### 如何利用Ollama进行本地部署?

  1. ubuntu22.04 安装ollama:
bash 复制代码
curl -fsSL https://ollama.com/install.sh | sh

安装完成后,在命令行验证 2. 下载deepseek模型:

bash 复制代码
ollama run deepseek-r1:7b

---

3.运行deepseek模型
4.开启ollama服务

设置Ollama服务配置

设置OLLAMA_HOST=0.0.0.0环境变量,从而允许远程访问。

命令语法:sudo vim /etc/systemd/system/ollama.service

bash 复制代码
sudo systemctl daemon-reload && sudo systemctl restart ollama

4. Docker的部署优势

什么是Docker?

Docker 是一个容器化平台,允许我们将应用程序和其依赖项打包成易于迁移和部署的独立实体。对于DeepSeek本地部署来说,Docker提供了高度一致性和稳定性。

使用docker部署openwebui和nginx服务

  1. 镜像拉取与运行:
bash 复制代码
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
  1. 服务运行 :
    • 这里需要一些后端的基础知识,docker容器端口和宿主机端口,根据个人需求来设定。

5. OpenWebUI的用户界面

什么是OpenWebUI?

OpenWebUI 是一个开源的AI交互界面,支持自然语言交互(NLU)和知识图谱检索。它为用户提供直观的搜索和问题回答功能。

如何利用OpenWebUI进行本地部署?

  1. 通过openwebui使用deepseek :
    第一次登录openwebui需要注册,且第一次注册账号默认为管理员账号。
    在这里就部署好本地deepseek服务啦,但是这只能在本地使用,或提供给局域网下的用户使用。如果要想随时随地使用怎么办呢?那就还需要设置内网穿透和反向代理了,这里需要一些更专业的知识了。

6. 内网穿透

内网穿透需要你有公网ip,公网ip 请向运营商申请。有公网ip后,注册一个域名,将域名解析到你的公网ip。公网ip可能是动态变化的,所以需要使用一个脚本将你的公网ip动态解析到域名上。可以参考aliyun,dns解析。此处涉及知识较专业,如有不明请找专业人员协助。


7. Nginx的负载均衡功能

什么是Nginx?

Nginx 是一个高可用性和负载均衡的Web服务器。对于DeepSeek本地部署来说,Nginx确保了服务的稳定性和扩展性。

如何利用Nginx进行部署?

  1. 配置Nginx :
    • 配置Nginx来代理openwebui,对外网提供访问能力。
    • 我这里有两个docker容器服务,一个是openwebui,另一个是searxng搜索引擎服务。
bash 复制代码
user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$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.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    # 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;
        }
    }
}
  1. 外网访问:
  • 这样外网可以通过https://xxx.xx.cn:your-port来访问你的deepseek服务啦。

8. 总结

通过使用Ollama实现快速响应,Docker提供容器化部署的优势,OpenWebUI简化了用户交互界面,以及Nginx实现高可用性和负载均衡,我们可以轻松完成DeepSeek本地部署。这一技术不仅提升了家庭AI支持的效率,也为未来的扩展性奠定了基础。


相关推荐
清华kenny几秒前
中医生活化智能终端对比:晓得养在合肥周边的服务优势
大数据·人工智能·安徽晓得养
ZKNOW甄知科技3 分钟前
燕千云迭代版本发布:智能Agent深入业务现场
运维·人工智能·低代码·机器学习·自然语言处理·自动化·aigc
蒲公英内测分发11 分钟前
智能手环出海测试,海外合作方分散在不同国家,Android 测试包怎么持续分发和更新?
android·前端·人工智能·测试工具·智能手表
危险、14 分钟前
AI写的计划方案领导不满意?试下我这个反复打磨的计划方案提示词?
人工智能
镜象科技18 分钟前
ACT自助干预适用人群:谁适合、谁不适合、边界在哪
人工智能
集芯微电科技有限公司19 分钟前
集芯微电科技推出5.5V/10A集成功率MOSFET降压DC/DC转换器
人工智能·科技·单片机·嵌入式硬件·神经网络·生成对抗网络
打工仔折腾 AI21 分钟前
Linux 网络编程:从零掌握 TCP Socket 编程与 C++ 实战落地
linux·网络·人工智能·后端·python·tcp/ip·性能优化
科威网络21 分钟前
RAG 系统落地:向量库、文档切片与检索效果优化实践
人工智能·软件需求
QuZhengRong30 分钟前
【News】2026.10.16 – 10.21 AI 科技周报
人工智能·科技·openai·谷歌·新闻
IT枫斗者枫哥30 分钟前
Spring AI文档更新后仍命中旧内容:核对分片ID、来源和版本
java·人工智能