最近发现 Claw Cloud 实在是太便宜了,一个月只要大概20元,就想着拿来搞点啥。下面的教程内容是Gemini Pro 2.5帮我完成的,基本上就是我自己架设服务器的过程,熟悉Linux的话大概一小时可以搞定。
本教程将指导你完成以下步骤,最终在 Claw Cloud 云服务器上成功部署 Open WebUI,并通过你自己的域名进行安全的 HTTPS 访问:
- 购买 Claw Cloud 服务器。
- 购买域名并配置 DNS 解析。
- 为服务器配置 Swap 交换空间。
- 安装 Docker 环境。
- 使用 Docker 安装 Open WebUI。
- 配置 Open WebUI 自动更新。
- 安装 Caddy Web 服务器。
- 配置 Caddy 实现 HTTPS 反向代理。
- 配置 UFW 防火墙。
- 访问 Open WebUI。
前提条件:
- 熟悉基本的 Linux 命令行操作。
- 拥有一个 Claw Cloud 账号。
- 拥有一个域名注册商(如 GoDaddy, Namecheap, 阿里云/腾讯云域名服务等)的账号,用于购买和管理域名。
重要提示: Claw Cloud 默认使用 root 用户登录服务器,因此本教程中的所有命令均不需要使用 sudo 前缀。
- 访问 Claw Cloud 官网 并登录你的账号。
- 选择购买云服务器的选项。
- 配置选择:
- CPU: 1 核
- 内存: 1 GB
- 操作系统: 选择一个你熟悉的 Linux 发行版,推荐 Ubuntu 24.04 LTS 或更新的 LTS 版本。
- 地域: 请务必选择位于“加利福尼亚 (California)”的机房。 选择其他地域可能会因为网络或服务限制导致无法正常访问或使用某些 AI 服务。
- 其他配置(如硬盘大小)根据需求选择,默认一般即可。
- 价格应该是3美元一个月,可以签约支付宝免密支付。
- 完成支付流程。
- 购买成功后,在 Claw Cloud 的控制面板找到你的服务器实例,并记下服务器的公网 IP 地址。
- 购买域名:
- 选择一个域名注册商,搜索并购买一个你喜欢的域名(例如
mydomain.com)。如果你已经有域名,可以跳过购买步骤。
- 配置 DNS 解析:
- 登录你的域名注册商的管理控制台。
- 找到你购买的域名的 DNS 管理或解析设置。
- 添加一条 A 记录:
- 主机记录 (Host/Name): 输入
@(表示根域名mydomain.com) 或者一个你想要使用的子域名(例如webui,对应webui.mydomain.com)。本教程后续将以webui.mydomain.com为例。 - 记录类型 (Type): 选择
A。 - 记录值 (Value/Points to): 输入你在第一步中获得的 Claw Cloud 服务器公网 IP 地址。
- TTL: 可以保持默认值(通常是 600 秒或自动)。
- 保存设置。
注意: DNS 解析记录在全球范围内生效可能需要几分钟到几小时不等。你可以稍后使用 ping webui.mydomain.com 命令(在你的本地电脑上)来检查解析是否生效(是否返回了正确的服务器 IP)。
1核1G 内存运行 Docker 和 WebUI 可能比较紧张,配置 Swap 空间可以防止因内存不足导致服务崩溃。我们将配置一个 2GB 的 Swap 文件。
- 通过 SSH 连接到你的服务器: 打开你的终端(或使用 PuTTY 等工具),使用 SSH 连接到你的 Claw Cloud 服务器。将
<你的服务器IP>替换为你的实际 IP 地址。
ssh root@<你的服务器IP>
你需要输入密码或使用 SSH 密钥进行验证。 - 创建 Swap 文件:
# 创建一个 2GB 大小的文件
fallocate -l 2G /swapfile
# 设置正确的文件权限(只有 root 可读写)
chmod 600 /swapfile
# 将该文件格式化为 Swap 空间
mkswap /swapfile
# 启用 Swap 空间
swapon /swapfile - 验证 Swap 是否启用:
swapon –show
你应该能看到类似/swapfile file 2G 0B -2的输出。或者使用:
free openclaw docker 教程 -h
你应该能在Swap行看到大约 2.0G 的总空间。 - 设置开机自动挂载 Swap:
# 在 fstab 文件末尾追加 Swap 配置
echo ‘/swapfile none swap sw 0 0’ | tee -a /etc/fstab
我们将通过 apt 安装 Docker CE (Community Edition)。
- 更新软件包列表并安装依赖:
apt update
apt install -y http://docker.io - 验证 Docker 是否安装成功:
docker run hello-world
如果看到 “Hello from Docker!” 的消息,说明 Docker 安装成功。
我们将安装不捆绑本地 Ollama 的 Open WebUI 镜像。
- 运行 Open WebUI 容器:
docker run -d -p 3000:8080 –add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data –name open-webui –restart always http://ghcr.io/open-webui/open-webui:main
命令解释:
-d: 在后台分离模式运行容器。-p 3000:8080: 将宿主机的 3000 端口映射到容器的 8080 端口。--add-host=host.docker.internal:host-gateway: 允许容器内部访问宿主机网络。-v open-webui:/app/backend/data: 创建并挂载名为open-webui的 Docker 数据卷,用于持久化存储数据。--name open-webui: 给容器命名为open-webui。--restart always: 配置容器在宿主机重启或容器退出时自动重启。ghcr.io/open-webui/open-webui:main: 指定使用的 Open WebUI 镜像。
- 检查容器是否正在运行:
docker ps
你应该能看到名为open-webui的容器正在运行。
使用 Watchtower 可以让 Open WebUI 容器保持最新。
- 运行 Watchtower 容器: 此命令将启动 Watchtower,让它每隔 5 分钟检查一次名为
open-webui的容器是否有更新,并在有更新时自动拉取新镜像并用新镜像重启容器。
docker run -d \
–name watchtower \
–restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
–interval 300 open-webui
--name watchtower: 命名容器。--restart unless-stopped: 设置重启策略。-v /var/run/docker.sock:/var/run/docker.sock: 允许 Watchtower 与 Docker守护进程通信以管理容器。containrrr/watchtower: Watchtower 镜像。--interval 300: 设置检查更新的间隔为 300 秒(5分钟)。open-webui: 指定要监控和更新的容器名称。
- 验证 Watchtower 是否运行:
docker ps
你应该能看到名为watchtower的容器也在运行。
Caddy 将用于反向代理和自动处理 HTTPS。我们将通过 apt 安装。
- 安装 Caddy 依赖:
apt install -y caddy - 检查 Caddy 服务状态:
systemctl status caddy
应该显示服务是 active (running) 状态。
编辑 Caddy 的配置文件 Caddyfile。
- 编辑 Caddyfile: 使用文本编辑器(如
nano)打开 Caddyfile。
nano /etc/caddy/Caddyfile - 清空默认内容,并添加以下配置: 将
webui.mydomain.com替换为你自己在第二步中配置的实际域名或子域名。
http://webui.mydomain.com {
# 将所有到 http://webui.mydomain.com 的请求反向代理到本地的 3000 端口
# (即 Open WebUI Docker 容器映射到宿主机的端口)
reverse_proxy localhost:3000# Caddy 会自动为 http://webui.mydomain.com 申请和管理 Let’s Encrypt 的 HTTPS 证书
}# 你可以根据需要添加其他的站点配置
- 保存并关闭文件: 在
nano中,按Ctrl+X,然后按Y确认保存,最后按Enter确认文件名。 - 重载 Caddy 配置使其生效:
systemctl reload caddy
Caddy 会读取新的配置。如果你的 DNS 解析已经生效,Caddy 会自动尝试获取 HTTPS 证书。
使用 UFW (Uncomplicated Firewall) 限制端口访问。
- 允许 SSH 连接(非常重要!):
ufw allow ssh
# 或者 ufw allow 22/tcp - 允许 HTTP 和 HTTPS 端口 (供 Caddy 使用):
ufw allow http
# 或者 ufw allow 80/tcpufw allow https
# 或者 ufw allow 443/tcp - 启用 UFW 防火墙:
ufw enable
系统会提示你确认操作,输入y并按 Enter。 - 检查防火墙状态和规则:
ufw status verbose
你应该能看到状态为active,并且ssh(22/tcp),http(80/tcp),https(443/tcp) 端口是允许 (ALLOW) 的。确保端口3000没有被防火墙允许从外部访问。
现在,一切准备就绪!
- 打开你的网页浏览器。
- 在地址栏输入
https://webui.mydomain.com(确保使用https://并替换为你的实际域名)。 - 首次访问时,Open WebUI 会要求你创建一个管理员账号。按照提示完成注册即可开始使用。
- 登录后,进入 “设置” -> “连接”,添加你的 OpenAI 兼容 API 的信息以连接大语言模型。
恭喜你!你已经在 Claw Cloud 加利福尼亚机房的服务器上成功部署了 Open WebUI,配置了自动更新,并通过 Caddy 实现了安全的 HTTPS 访问。
发布者:Ai探索者,转载请注明出处:https://javaforall.net/250512.html原文链接:https://javaforall.net
