管理员

运行你自己的 Welley 服务器

我们的命令行工具可以在一台 Linux 机器上装好 Welley 需要的一切。云服务器可以用,你自己的硬件也可以。

准备好主机、DNS 和邮件

这些是快速入门里的起步要求。你需要多大的容量,取决于用户数量和工作负载。

Linux 主机

  • Ubuntu 24.04 LTS,或类似的较新发行版。
  • 从 2 vCPU、4 GB 内存和 60 GB 磁盘起步。
  • 使用固定的公网 IPv4 地址,以及一个有 sudo 权限的非 root 用户。

网络

  • 允许从互联网访问入站 TCP 80 和 443,允许从你自己的网络访问 TCP 22。
  • 请保持 80 端口空闲,用于证书验证和每周一次的证书续期。

站点 DNS

  • 把你的域名和 storage.<domain> 指向主机的 IP 地址。
  • 请在安装前创建这两条记录。CLI 会检查它们,如果没有解析到这台主机就会停止。

SMTP 和管理员邮箱

  • 请准备好 SMTP 主机、用户、密码和发件地址。默认使用 587 端口的 STARTTLS。
  • 你还需要一个管理员邮箱,用于首次登录和找回密码。

邮件 DNS

  • 为发件地址所在的域名设置 SPF、DMARC,以及你的邮件服务商生成的 DKIM。
  • 请使用服务商给出的准确 SPF 值。把它合并到你现有的 SPF 记录里,不要再添加第二条。
  • 如果缺少 SPF 或 DMARC,CLI 会提醒你。它无法检查你的服务商的 DKIM 选择器。

安装 Docker Engine 和 Compose

请按 Docker 官方针对你的 Linux 发行版的说明操作,然后让你的部署用户拥有使用 Docker 的权限。

把用户加入 Docker 组

把 <user> 换成你的非 root 部署用户。运行这条命令后,请退出登录再重新登录。

sudo usermod -aG docker <user>

检查 Docker 和 Compose

这两条命令都要能在该用户下正常运行。

docker ps
docker compose version

下载 CLI

请选择与你运行 CLI 的机器相匹配的二进制文件。部署主机本身必须运行 Linux。

Linux,x86-64

curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=linux/amd64" -o wlycli
chmod +x wlycli
./wlycli -v

Linux,ARM64

curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=linux/arm64" -o wlycli
chmod +x wlycli
./wlycli -v

macOS,Apple silicon

curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=darwin/arm64" -o wlycli
chmod +x wlycli
./wlycli -v

macOS,Intel

curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=darwin/amd64" -o wlycli
chmod +x wlycli
./wlycli -v
  • 这些命令会从稳定通道下载,并显示 CLI 的版本。
  • 每次发布新版本,版本号都会变。安装时请参考最新的 CLI 文档。

创建部署

在你准备好的 Linux 主机上运行这条命令。请把示例中的域名、邮箱和 SMTP 值换成你自己的。

./wlycli deploy create \
-d example.com \
-e admin@example.com \
--smtp-host smtp.example.com \
--smtp-user "$MAIL_USER" \
--smtp-password "$MAIL_PASSWORD" \
--smtp-from noreply@example.com
设置默认值
安装目录~/.welley/<project>。示例域名生成的项目名是 example_com。
数据库内置的 PostgreSQL,数据放在安装目录下。
组件Welley 平台、RAG 管道、Nginx、Redis 和 PostgreSQL,另有维护用的容器。
证书通过 Certbot 使用 Let’s Encrypt,每周续期。
媒体上传的文件和静态文件放在 https://storage.<domain>。
更新稳定通道,每天检查一次。更新过程会尽量避免停机。
可选服务最简配置不会添加托管数据库、CDN、遥测或 Slack 集成。
  • 运行之前,请先把 MAIL_USER 和 MAIL_PASSWORD 设为你的 SMTP 凭据。
  • 快速入门要求带上这六个参数。
  • 这条命令会检查 DNS、写入部署文件、用 Certbot 获取证书,并启动容器。
  • deploy 命令是 deployment 的别名。

登录并检查结果

生成的管理员密码在平台日志里。请不要泄露这部分输出。

查找初始密码

这个容器名对应的是 example.com。如果用你自己的域名,请修改项目名。

docker logs example_com-platform-blue-1 | grep "Auto-init complete"

登录

打开你的域名,用你通过 -e 指定的管理员邮箱登录。请马上修改生成的密码。

检查容器

按照快速入门,你应该能看到 nginx、platform-blue、rag-pipeline-blue、postgres、redis、autoheal 和 snoopy。

docker ps

用 CLI 做管理

CLI 还提供了调用平台 API 的命令。你的账号仍然需要具备每个操作所需的权限。

  • 运行某个操作之前,请先在命令帮助里查看它当前的参数。
  • login 命令需要 API 基础 URL、邮箱和密码。它会保存返回的会话令牌。
  • 目前,login 命令会在成功日志里输出会话令牌。请注意不要泄露这段输出。

命令组:accounts, posts, apps, emojis, feeds, reports, rules, settings。

显示可用命令

./wlycli --help

显示部署命令

./wlycli deployment --help

显示登录选项

./wlycli login --help

显示设置选项

./wlycli settings --help

更新与恢复

默认情况下,部署每天会检查一次稳定版更新。服务器管理员可以在管理界面中管理版本。

  • 如果你的部署文件仍然有效,但有些容器出了问题,快速入门会让你运行 restart,它会重新创建这些容器。
  • 只要项目目录或其中的容器还在,create 就不会再次运行。
  • 强制删除选项会删除部署文件和内置数据库。它不是恢复步骤,也不会保留你的数据。
  • deploy-server 技能仍然使用 deployment update 这个名称。当前的 CLI 改用 deployment auto-update。手动维护之前,请先查看当前 CLI 的帮助。

用现有部署重新创建容器

./wlycli deploy restart -d example.com

根据你保存的配置重新创建容器。不会删除部署数据。

用 AI 助手部署

如果你的 AI 助手支持 SKILL.md 包,可以下载我们官方的 deploy-server 技能。它会引导你完成 DigitalOcean 部署。

目前这个技能只支持 DigitalOcean。CLI 快速入门也适用于其他云服务和你自己的 Linux 主机。

使用方法

  • 解压软件包,然后按你的助手安装技能的方式加载 deploy-server 目录。
  • 让助手使用 $deploy-server。
  • 技能会向你询问域名、DNS 访问权限、SSH 设置、SMTP 信息和管理员邮箱。
  • 它可以设置 DigitalOcean 虚拟机,如果你需要,还可以设置托管的 PostgreSQL 数据库。它会和你确认部署所需的信息以及托管数据库的价格。

下载之前

  • 这个软件包是原始技能的原样副本。
  • 其中的下载和更新示例已经过时。请到本网站的快速入门获取当前稳定版的下载链接。维护之前请先查看 CLI 帮助。
  • 这个技能不附带云服务凭据或运行中的服务器,我们也不能保证它适用于所有助手。

软件包里有 SKILL.md、agents/openai.yaml和references/digitalocean.md。两种下载包含的文件相同。

参考文档

完整的 CLI 文档和部署技能文件。无需账号即可在这里阅读。