Ubuntu搭建Ollama+DeepSeek+Open-webui

Go
  • 确认Ollama运行状态
    curl http://localhost:11434  # 应返回Ollama版本信息
  • 安装Docker

    # 1. 安装Docker(如果尚未安装)并配置镜像加速
    # 注意:已安装Docker可跳过此步骤
    sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    
    # 配置国内镜像加速器
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": [
        "https://registry.docker-cn.com",
        "https://mirror.baidubce.com",
        "https://docker.nju.edu.cn"
      ]
    }
    EOF
    
    # 重启Docker服务
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    # 验证Docker安装
    docker version | grep "Version:"  # 应显示Client和Server版本信息
  • 安装Open WebUI

    1.拉取国内镜像加速

       # 使用南京大学镜像源替代官方地址(解决下载慢的问题)
       docker pull ghcr.nju.edu.cn/open-webui/open-webui:main
       # 重命名镜像为官方标签

    2.启动Open WebUI容器

    docker run -d -p 3003:8080 \
      --add-host=host.docker.internal:host-gateway \
      -v open-webui:/app/backend/data \
      -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
      --name open-webui \
      ghcr.io/open-webui/open-webui:main

    三、验证步骤

    1.检查容器状态

    docker ps -f name=open-webui  # 应显示STATUS为Up
    

    2.外网访问验证

    • 浏览器访问 [http://218.17.188.95:3003 ]
    • 首次访问需注册账号,登录后应能看到DeepSeek-R1模型四、防火墙配置(如无法外网访问)
    • 查看端口是否占用进程
      sudo lsof -i :3003  # 查看3003端口占用进程
      
      #如果占用,删除镜像,换3002端口重新docker run

       

解决Docker重启后Open WebUI容器消失

1、查看所有容器(包括已停止的)

docker ps -a  # 检查是否存在Exited状态的容器

若存在open-webui但状态为Exited,直接执行:

docker start open-webui 

2、容器丢失时的重建方案

# 使用原参数重建容器(含持久化数据卷)
docker run -d \
  --name open-webui \
  -p 3000:8080 \
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
  -v open-webui:/app/backend/data \  # 复用原数据卷
  --restart unless-stopped \         # 关键重启策略
  ghcr.io/open-webui/open-webui:main

 

解决Open webui打开很慢的问题

NGINX反向代理(可选)

server {
    listen 888;
    server_name chat.xxx.com;

    # 增加响应缓冲区
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;

    # 强制UTF-8编码
    charset utf-8;

    location / {
        proxy_pass http://228.177.188.95:3003;

        # 基础代理设置
        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;

        # WebSocket支持(关键修复)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400s;
        proxy_send_timeout 86400s;

        # 处理大文件上传
        client_max_body_size 100M;
    }

    # 禁用gzip压缩避免数据损坏
    proxy_set_header Accept-Encoding "";
}

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注