> ## Content Index
> Fetch the complete content index at: https://tbbbk.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# AI自托管之路：用甲骨文免费VPS部署私有ChatGPT（Ollama + Open WebUI）
- URL: https://tbbbk.com/self-hosted-chatgpt-ollama-openwebui-oracle-cloud/
- Published: 2025-12-14T00:18:43.000Z
- Updated: 2025-12-14T00:18:43.000Z
- Author: TuBaiBai
- Tags: AI 订阅与账号, 折腾日记, #Import 2026-07-20 07:13

## 前言：为什么要自建AI？

最近AI工具爆火，ChatGPT、Claude、Gemini......每个都要订阅，每个月加起来至少几百块。更要命的是：

- ❌ **数据隐私**：你的对话都在别人服务器上
- ❌ **访问限制**：国内用不了，要折腾梯子
- ❌ **使用限制**：免费版次数限制、高峰期限速
- ❌ **成本高昂**：ChatGPT Plus 20美元/月，Claude Pro也要20美元

那有没有一种可能——**用免费VPS + 开源模型，搭一个属于自己的AI助手**？

答案是：**当然可以！而且比你想象的简单。**

今天我就分享一下，如何用**甲骨文免费ARM实例（4核24GB）+ Ollama + Open WebUI**，零成本部署一个私有ChatGPT。

### 我为什么选这个方案

市面上AI自托管方案很多，我选择 **Ollama + Open WebUI** 的理由：

| 方案                      | 优点                     | 缺点          | 我的评价         |
| ----------------------- | ---------------------- | ----------- | ------------ |
| **Ollama + Open WebUI** | 部署超简单、支持多模型、界面美观、占用资源低 | 模型质量不如GPT-4 | ⭐⭐⭐⭐⭐ 最适合白嫖党 |
| LocalAI                 | 兼容OpenAI API           | 配置复杂        | ⭐⭐⭐ 适合开发者    |
| Text Generation WebUI   | 模型选择多                  | 内存占用大       | ⭐⭐⭐ 需要高配机器   |
| LM Studio               | 界面友好                   | 不支持Linux服务器 | ⭐⭐ 只能本地用     |

**最终结论**：对于**免费VPS**来说，Ollama + Open WebUI 是最佳选择。

---

## 准备工作：你需要什么

### 硬件要求

| 项目  | 最低配置 | 推荐配置    | 我的配置               |
| --- | ---- | ------- | ------------------ |
| CPU | 2核   | 4核+     | 4核 ARM (Ampere A1) |
| 内存  | 8GB  | 16GB+   | 24GB               |
| 硬盘  | 50GB | 100GB+  | 100GB              |
| 带宽  | 无限制  | 10TB/月+ | 10TB/月             |

**为什么推荐甲骨文ARM？**

- ✅ **免费**：永久免费，不是试用
- ✅ **配置高**：4核24GB，跑中等模型无压力
- ✅ **流量大**：10TB/月，基本用不完
- ✅ **ARM架构**：Ollama对ARM优化很好

> 💡 **提示**：如果你还没有甲骨文VPS，可以看我的[《白嫖党的自托管之路（一）：2025年还能白嫖的VPS资源全汇总》](https://tbbbk.com/archives/free-vps-resources-2025)

### 软件要求

- ✅ Ubuntu 22.04 或 Debian 12（本文使用 Ubuntu 22.04）
- ✅ Docker 和 Docker Compose
- ✅ 一个域名（可选，用于HTTPS访问）

---

## 第一步：安装 Docker 和 Docker Compose

SSH登录到你的VPS，执行以下命令：

`# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装Docker

curl -fsSL https://get.docker.com | sudo sh

# 将当前用户加入docker组（避免每次都sudo）

sudo usermod -aG docker $USER

# 退出SSH重新登录，使组权限生效

`

`exit`

重新登录后，验证安装：

```
docker --version

docker compose version
```

输出类似：

```
Docker version 24.0.7

Docker Compose version v2.23.0
```

---

## 第二步：部署 Ollama

Ollama 是一个**超级简单**的大模型运行工具，支持 Llama 3、Mistral、Gemma 等开源模型。

### 方法一：Docker 部署（推荐）

创建目录：

```
mkdir -p ~/ollama

cd ~/ollama
```

创建 `docker-compose.yml`：

`version: '3.8'
`

`services:  

ollama:  

image: ollama/ollama:latest  

container_name: ollama  

restart: unless-stopped  

ports:  

- "11434:11434"  

volumes:  

- ./ollama-data:/root/.ollama  

environment:  

- OLLAMA_HOST=0.0.0.0`

启动：

```
docker compose up -d
```

验证：

```
docker logs ollama
```

### 下载第一个模型

Ollama 支持很多模型，我推荐新手先试这几个：

| 模型                 | 大小    | 内存需求 | 特点       | 适合场景      |
| ------------------ | ----- | ---- | -------- | --------- |
| **llama3.2:3b**    | 2GB   | 4GB  | 最轻量，速度快  | 日常问答、代码辅助 |
| **qwen2.5:7b**     | 4.7GB | 8GB  | 中文好，性能均衡 | 中文对话、翻译   |
| **llama3.1:8b**    | 4.7GB | 8GB  | 综合能力强    | 通用任务      |
| **deepseek-r1:7b** | 4.1GB | 8GB  | 国产新秀，推理强 | 复杂问题、逻辑推理 |
| **mistral:7b**     | 4.1GB | 8GB  | 代码能力强    | 编程辅助      |

我先下载一个 **qwen2.5:7b**（中文最好）：

```
docker exec -it ollama ollama pull qwen2.5:7b
```

下载过程：

```
pulling manifest

pulling 6e4264f... 100% ▕████████████████▏ 4.7 GB

pulling 824... 100% ▕████████████████▏ 7.0 KB

pulling b58... 100% ▕████████████████▏  130 B

verifying sha256 digest

writing manifest

success
```

测试模型：

```
docker exec -it ollama ollama run qwen2.5:7b
```

进入对话界面，试试：

```
>>> 你好，请介绍一下自己
```

输出：

```
你好！我是通义千问，由阿里云开发的AI助手。我可以回答问题、提供信息、

协助创作等。有什么我可以帮助你的吗？
```

成功！输入 `/bye` 退出。

---

## 第三步：部署 Open WebUI

Ollama 虽然能用，但是**命令行界面**不够友好。Open WebUI 提供了一个**类似ChatGPT的网页界面**，非常好用。

### 创建部署文件

```
cd ~

mkdir open-webui

cd open-webui
```

创建 `docker-compose.yml`：

`version: '3.8'
`

`services:  

open-webui:  

image: ghcr.io/open-webui/open-webui:main  

container_name: open-webui  

restart: unless-stopped  

ports:  

- "3000:8080"  

volumes:  

- ./open-webui-data:/app/backend/data  

environment:  

- OLLAMA_BASE_URL=http://你的VPS公网IP:11434  

# 如果Ollama在同一台机器，用内网地址  

# - OLLAMA_BASE_URL=http://172.17.0.1:11434  

extra_hosts:  

- "host.docker.internal:host-gateway"`

> ⚠️ **重要**：把 `OLLAMA_BASE_URL` 改成你的实际地址：
> 
> - 如果Ollama和Open WebUI在**同一台机器**：`http://172.17.0.1:11434`
> - 如果在**不同机器**：`http://你的Ollama服务器IP:11434`

启动：

```
docker compose up -d
```

查看日志：

```
docker logs -f open-webui
```

---

## 第四步：开放防火墙端口

**甲骨文VPS需要同时开启两个防火墙！**

### 1\. 系统防火墙（iptables）

```
sudo iptables -I INPUT 6 -p tcp --dport 3000 -j ACCEPT

sudo iptables -I INPUT 6 -p tcp --dport 11434 -j ACCEPT

sudo netfilter-persistent save
```

### 2\. 甲骨文安全列表

登录甲骨文控制台：

1. 进入 **Networking → Virtual Cloud Networks**
2. 选择你的VCN → 点击子网
3. 点击 **Default Security List**
4. **Add Ingress Rules**：

`Source CIDR: 0.0.0.0/0  

IP Protocol: TCP  

Destination Port Range: 3000  

Description: Open WebUI
`

`Source CIDR: 0.0.0.0/0  

IP Protocol: TCP  

Destination Port Range: 11434  

Description: Ollama API`

---

## 第五步：访问 Open WebUI

打开浏览器，访问：

```
http://你的VPS公网IP:3000
```

**首次访问会要求创建管理员账号**：

- 输入邮箱（随便填，不验证）
- 设置密码
- 点击 **Sign Up**

进入后，界面就像ChatGPT一样！

### 基础设置

1. **选择模型**：点击左上角模型下拉框，选择 `qwen2.5:7b`
2. **调整参数**：点击右上角设置 → **Parameters**

  - Temperature: `0.7`（创造性，数值越高越随机）
  - Top P: `0.9`
  - Max Tokens: `2048`

### 测试对话

试试问它：

```
写一个Python脚本，实现快速排序算法
```

它会给你完整代码！

---

## 第六步：下载更多模型

Open WebUI支持**在线下载模型**，不用命令行。

点击右上角 **设置 → Models**，在搜索框输入模型名，比如：

- `llama3.2:3b` \- 最轻量
- `deepseek-r1:7b` \- 推理能力强
- `mistral:7b` \- 代码能力好

点击 **Pull** 即可下载。

### 模型对比实测

我在甲骨文ARM（4核24GB）上测试了几个模型：

| 模型             | 内存占用  | 响应速度  | 中文质量  | 代码质量  | 综合评分        |
| -------------- | ----- | ----- | ----- | ----- | ----------- |
| llama3.2:3b    | 2.1GB | ⚡⚡⚡⚡⚡ | ⭐⭐⭐   | ⭐⭐⭐   | 适合日常对话      |
| **qwen2.5:7b** | 5.2GB | ⚡⚡⚡⚡  | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐  | **中文最佳**    |
| llama3.1:8b    | 5.5GB | ⚡⚡⚡⚡  | ⭐⭐⭐⭐  | ⭐⭐⭐⭐  | 综合能力强       |
| deepseek-r1:7b | 4.8GB | ⚡⚡⚡   | ⭐⭐⭐⭐  | ⭐⭐⭐⭐⭐ | **推理和代码最强** |
| mistral:7b     | 4.6GB | ⚡⚡⚡⚡  | ⭐⭐⭐   | ⭐⭐⭐⭐⭐ | 编程辅助        |

**我的推荐组合**：

- 日常中文对话：**qwen2.5:7b**
- 写代码：**deepseek-r1:7b** 或 **mistral:7b**
- 轻量快速任务：**llama3.2:3b**

---

## 第七步：配置HTTPS（可选）

如果你有域名，可以配置HTTPS，更安全。

### 使用 Nginx Proxy Manager（推荐）

我写过详细教程，参考我的另一篇文章：[《Docker工具箱：Nginx Proxy Manager 反向代理》](https://tbbbk.com/archives/my-docker-toolbox)

简单步骤：

1. 部署 Nginx Proxy Manager
2. 添加 Proxy Host，指向 `http://你的IP:3000`
3. 申请 Let's Encrypt SSL证书
4. 访问 `https://ai.你的域名.com`

---

## 性能测试：能打败ChatGPT吗？

### 实测对比

我用同一个问题测试了几个AI：

**问题**：写一个Vue3组件，实现待办事项列表，支持增删改查

| AI工具               | 响应时间 | 代码质量  | 是否能运行  | 费用      |
| ------------------ | ---- | ----- | ------ | ------- |
| **ChatGPT 3.5**    | 3秒   | ⭐⭐⭐⭐  | ✅      | 免费（有限制） |
| **ChatGPT 4.0**    | 8秒   | ⭐⭐⭐⭐⭐ | ✅      | $20/月   |
| **Claude 3.5**     | 5秒   | ⭐⭐⭐⭐⭐ | ✅      | $20/月   |
| **qwen2.5:7b**     | 12秒  | ⭐⭐⭐⭐  | ✅      | **免费**  |
| **deepseek-r1:7b** | 10秒  | ⭐⭐⭐⭐  | ✅      | **免费**  |
| **llama3.1:8b**    | 11秒  | ⭐⭐⭐   | ⚠️ 需小改 | **免费**  |

**结论**：

- 质量：开源模型 < GPT-3.5 < GPT-4 / Claude
- 速度：自托管模型稍慢（受服务器性能影响）
- **性价比**：自托管完胜（免费 + 数据私有）

**适合场景**：

- ✅ 日常对话、翻译、文案撰写
- ✅ 代码辅助、调试、解释
- ✅ 数据隐私要求高的任务
- ❌ 复杂推理（不如GPT-4）
- ❌ 最新信息查询（无联网能力）

---

## 进阶玩法

### 1\. 开启联网功能（Web Search）

Open WebUI 支持集成搜索引擎，让AI可以查询实时信息。

进入 **设置 → Web Search**：

- 启用 **Web Search**
- 搜索引擎选择：**DuckDuckGo**（免费）
- 或者配置 **Google Custom Search API**

### 2\. 接入API，给其他应用用

Ollama 提供 OpenAI 兼容的 API：

```
curl http://你的IP:11434/api/chat -d '{

"model": "qwen2.5:7b",

"messages": [

{"role": "user", "content": "你好"}

]

}'
```

可以用在：

- VSCode Copilot 替代品
- 自己的应用里
- Telegram Bot

### 3\. 多用户管理

Open WebUI 支持多用户：

- 管理员可以创建其他账号
- 每个用户有独立对话历史
- 可以设置权限（哪些用户能用哪些模型）

---

## 常见问题与故障排除

### Q1: 模型下载太慢怎么办？

**方案A**：使用国内镜像

```
# 设置环境变量

export OLLAMA_MIRROR=https://ollama.ai.cache.wpscdncs.com

docker exec -it ollama ollama pull qwen2.5:7b
```

**方案B**：手动下载模型文件

1. 去 [Hugging Face](https://huggingface.co) 搜索模型
2. 下载 GGUF 格式
3. 导入到 Ollama

### Q2: 内存不够，总是OOM？

**解决方案**：

1. 使用更小的模型（llama3.2:3b 只需4GB内存）
2. 调整并发数限制：  
```  
docker exec -it ollama ollama serve --max-loaded-models 1  
```
3. 开启 Swap：  
```  
sudo fallocate -l 8G /swapfile  
sudo chmod 600 /swapfile  
sudo mkswap /swapfile  
sudo swapon /swapfile  
```

### Q3: 响应速度太慢？

**优化方法**：

1. 使用量化模型（Q4、Q5版本更快）
2. 调整 `num_ctx`（上下文长度）：  
```  
docker exec -it ollama ollama run qwen2.5:7b --num-ctx 2048  
```
3. 关闭不用的模型（释放内存）

### Q4: 无法访问3000端口？

**检查步骤**：

`# 1. 确认容器运行  

docker ps | grep open-webui

# 2. 确认端口监听

sudo netstat -tlnp | grep 3000

# 3. 检查防火墙

sudo iptables -L -n | grep 3000

# 4. 查看容器日志

`

`docker logs open-webui`

### Q5: 如何升级到最新版？

```
cd ~/open-webui

docker compose pull

docker compose up -d
```

---

## 成本核算：真的免费吗？

| 项目         | 成本          | 说明              |
| ---------- | ----------- | --------------- |
| **VPS**    | $0/月        | 甲骨文永久免费         |
| **域名（可选）** | ¥9/年        | 便宜的.xyz域名       |
| **SSL证书**  | $0          | Let's Encrypt免费 |
| **电费**     | $0          | 云服务器无电费         |
| **AI API** | $0          | 开源模型免费          |
| **总计**     | **≈$0-1/月** | 几乎零成本           |

对比：

- **ChatGPT Plus**：$20/月 = ¥144/月
- **Claude Pro**：$20/月 = ¥144/月
- **自托管方案**：$0/月

**一年省下**：¥3456 💰

---

## 我踩过的坑

### 坑1：Ollama连不上Open WebUI

**原因**：Docker网络隔离

**解决**：

`# 在 open-webui 的 docker-compose.yml 中加入  

extra_hosts:

- "host.docker.internal:host-gateway"

# 然后OLLAMA_BASE_URL改成：

`
`
`
- `OLLAMA_BASE_URL=http://host.docker.internal:11434`

### 坑2：模型下载后找不到

**原因**：Open WebUI 和 Ollama 的模型存储位置不同

**解决**：只在 Ollama 里下载模型，Open WebUI 会自动识别

### 坑3：甲骨文实例突然连不上

**原因**：防火墙被重置

**解决**：保存 iptables 规则

```
sudo apt install iptables-persistent

sudo netfilter-persistent save
```

---

## 总结

这套方案已经在我的甲骨文VPS上稳定运行3个月了，体验总结：

### ✅ 优点

1. **完全免费**：零成本部署和运行
2. **数据私有**：对话记录在自己服务器
3. **无限使用**：没有次数限制、速率限制
4. **多模型切换**：可以同时跑多个模型
5. **离线可用**：不依赖外网API

### ❌ 缺点

1. **性能不如GPT-4**：复杂推理能力稍弱
2. **需要一定技术门槛**：要会基础Linux命令
3. **模型更新慢**：不像ChatGPT实时更新
4. **无联网能力**：需要手动配置（或使用插件）

### 🎯 适合人群

- 注重数据隐私的用户
- 想学习AI技术的开发者
- 不想订阅多个AI服务的白嫖党
- 需要自定义AI能力的团队

## 参考资源

- [Ollama 官方文档](https://ollama.ai)
- [Open WebUI GitHub](https://github.com/open-webui/open-webui)
- [甲骨文云免费套餐说明](https://www.oracle.com/cloud/free/)
- [模型排行榜 - Hugging Face](https://huggingface.co/spaces/HuggingFaceH4/open%5Fllm%5Fleaderboard)

---

> 💬 **有问题欢迎留言！**   
> 如果这篇文章帮到你，欢迎分享给更多人。   
> 如果遇到问题，可以在评论区讨论，我会尽量回复。