Buzz应用程序是Block公司推出的一个免费的开源协作平台,它能够将团队沟通、代码仓库、工作流程以及人工智能代理功能整合到一个工作空间中。用户可以将Buzz托管在虚拟私有服务器上,然后就可以完全控制对话、身份和文件,因为这些数据都存储在管理的基础设施上。本文主要为大家介绍Hostinger VPS使用Docker Compose来自行托管Buzz应用程序教程,有需要的朋友可以了解一下。
一、购买Hostinger VPS主机
建议选择Hostinger Linux VPS。要可靠运行Buzz应用程序,Linux VPS至少需要拥有两个CPU核心和4GB的内存。
Ubuntu的长期支持版本会持续五年收到安全更新,而Docker的官方安装指南也是针对Ubuntu设计的,因此Ubuntu是部署Buzz应用程序的最佳选择。
相关推荐:《Hostinger海外VPS购买图文指南》
Hostinger优惠码:IDCSPY(虚拟主机高达82%折扣、云主机高达74%折扣,VPS主机高达73%折扣)
二、生成Buzz身份密钥用户需要使用Buzz身份密钥来注册为中继服务器的所有者,这个密钥将在Buzz工作区中代表你的身份。与用户名和密码不同,Buzz使用由应用程序为你生成的密钥对来进行身份验证。
1、请访问Buzz的官方网站,下载适合您操作系统的桌面应用程序。
2、安装并打开应用程序,然后在欢迎界面中选择“创建新的身份密钥”。
3、在社区加入界面上,选择“复制您的公共ID”。
4、打开NostrTool页面,以转换npub密钥。
5、选择“从npub/hex中加载公钥”,然后将你的npub密钥粘贴到“粘贴公钥hex或npub”字段中,然后点击“加载”。
6、将页面底部Nostr公钥字段中的值复制出来,并保存到同一个文本文件中。

1、连接到服务器并安装Docker工具。
在电脑上打开终端窗口,然后通过SSH连接到服务器。将“your-server-ip”替换为您的VPS提供商提供的IP地址。
ssh root@your-server-ip
更新服务器的软件:
sudo apt update && sudo apt upgrade -y
“apt update”命令用于检查是否有可用的软件包更新,而“apt upgrade”命令则用于安装这些更新。这俩命令是管理Linux服务器时最常用的命令之一。
接下来,需要在你的服务器上安装Docker。安装完成后,还需要安装Docker Compose插件。
sudo apt install -y docker-compose-plugin
请确认两者都已正确安装。每个命令执行后都应返回一个版本号:
docker –version docker compose version

2、下载Buzz的部署文件
Buzz的生产部署文件可以在GitHub上找到。使用git命令克隆该仓库,然后打开部署文件夹即可。
git clone https://github.com/block/buzz.git cd buzz/deploy/compose

你现在位于“部署/组合”文件夹中,该文件夹包含了在生产服务器上运行Buzz所需的文件。
要查看该文件夹中的所有文件,请执行以下操作:
ls -a
3、生成密钥并配置环境设置
Buzz使用了一个环境文件(.env)来存储每个服务的域名、所有者密钥以及密码等信息。在启动中继服务之前,你需要将这些值添加到环境中。
首先,运行以下命令七次,以生成七个随机的秘密密钥。将每个结果保存到单独的文本文件中,并标注出每个文件所属于的字段,因为稍后你会将这些文件添加到配置中。
openssl rand -hex 32
复制环境模板后,使用nano文本编辑器打开新文件:
cp .env.example .env nano .env
在.env文件中,需要更新三组值:你的域名、所有者公共密钥以及秘密信息。

域名:请更新以下五行代码。请将每一行中的占位符域名替换为实际的域名:
BUZZ_DOMAIN=buzz.example.com RELAY_URL=wss://buzz.example.com BUZZ_MEDIA_BASE_URL=https://buzz.example.com/media BUZZ_MEDIA_SERVER_DOMAIN=buzz.example.com BUZZ_CORS_ORIGINS=https://buzz.example.com
所有者公钥:找到以下行,并将占位符替换为你之前生成的64个字符的十六进制密钥:
RELAY_OWNER_PUBKEY=CHANGE_ME_OWNER_PUBKEY_HEX
秘密信息:用你之前生成的随机值替换掉所有CHANGE_ME占位符。每个变量使用不同的值吧。
BUZZ_RELAY_PRIVATE_KEY=CHANGE_ME_64_HEX_PRIVATE_KEY BUZZ_GIT_HOOK_HMAC_SECRET=CHANGE_ME_RANDOM_64_HEX POSTGRES_PASSWORD=CHANGE_ME_RANDOM_PASSWORD REDIS_PASSWORD=CHANGE_ME_RANDOM_PASSWORD TYPESENSE_API_KEY=CHANGE_ME_RANDOM_API_KEY BUZZ_S3_ACCESS_KEY=CHANGE_ME_RANDOM_ACCESS_KEY BUZZ_S3_SECRET_KEY=CHANGE_ME_RANDOM_SECRET_KEY
其他所有的值都保持不变,包括端口号、数据库名称、存储桶名称以及日志级别等。因为这些值已经正确配置了。
要保存文件并关闭Nano编辑器,请按Ctrl+X,然后按Y,最后输入Enter键。
4、启动Buzz服务
只需一个Docker Compose命令,就可以启动Buzz的通信、数据库、缓存和文件存储功能:
docker compose up -d
第一次运行可能需要几分钟时间,因为Docker需要下载所需的镜像。一旦下载完成,请确认所有服务都已运行。
docker compose ps

每个服务都应该显示“运行正常”的状态。由于minio-init服务仅在创建存储桶时运行一次,之后就会停止运行,因此出现“已退出”状态也是正常的。
如果继电器显示“正在重启”状态,请检查其日志信息:
docker compose logs relay
在.env文件中,残留的占位符是最常见的原因。可以使用以下命令来检查是否存在剩余的占位符:
grep CHANGE_ME .env grep buzz.example.com .env
如果任一命令都打印出了任何行内容,那么请重新打开.env文件,并替换其中剩余的占位符。
5、使用Caddy启用HTTPS协议
你的Buzz中继已经运行了,但目前还不适合公开访问。
单独的compose.caddy.yml配置文件中包含了以下设置:使用Caddy插件获取Let’s Encrypt提供的免费TLS证书;将流量路由到中继服务器;同时阻止数据库和文件存储从互联网访问。
Caddy使用了你在.env文件中已设置的域名,因此无需进行任何额外的配置。请停止Buzz服务,然后重新使用Caddy来重启这些服务。
docker compose down docker compose -f compose.yml -f compose.caddy.yml up -d
在浏览器中访问你的域名,以验证配置是否正确。如果Caddy正确配置了证书,那么你的浏览器应该会显示“连接安全”的提示,而不会出现其他警告信息。
如果页面无法加载或出现证书错误,请检查Caddy的日志:
docker compose logs caddy
最常见的原因包括DNS传播延迟或防火墙端口被阻塞。在服务器上配置Uncomplicated Firewall(UUFW)时,请确保80号和443号端口是开放的。
6、将自己添加为接力成员,然后进行连接操作。
默认情况下,Buzz会阻止所有连接,因此你需要在连接之前注册成为其会员。
执行以下命令,并将npub1yourkeyhere替换为实际的npub密钥:
docker compose exec relay buzz-admin add-member –pubkey npub1yourkeyhere

在您的电脑上打开Buzz桌面应用。此时应该仍然会看到社区加入的界面。
请使用wss://前缀来指定您的中继服务器URL,然后加上在.env文件中配置的域名。这个前缀告诉应用程序通过HTTPS设置进行安全连接。例如:
wss://buzz.example.com
该应用程序应该能够连接并显示你的工作区。如果连接失败,请检查是否输入了正确的URL,并确认中继服务是否正在运行。
docker compose ps
7、设置自动备份功能
您所有的Buzz工作区数据,包括消息和元数据,都存储在了Buzz中继系统的PostgreSQL数据库中。如果没有备份措施,一旦发生问题,这些数据就有可能丢失。
首先,创建一个备份文件夹,然后尝试手动进行备份:
mkdir -p /backups cd /root/buzz/deploy/compose docker compose exec -T postgres pg_dump -U buzz buzz > /backups/buzz-test.sql ls -la /backups/
buzz-test.sql文件的大小应该大于0字节。如果确实如此,那么备份就成功创建了。
要实现自动备份,请打开你的crontab文件:
crontab -e
如果要求选择编辑器,请选择nano。然后在文件的末尾添加以下行。这个示例规定每晚凌晨2点根据服务器的时钟进行备份(大多数VPS提供商的默认时区为UTC)。
0 2 * * * cd /root/buzz/deploy/compose && docker compose exec -T postgres pg_dump -U buzz buzz > /backups/buzz-$(date +%Y%m%d).sql
要保存该文件,请按Ctrl+X→Y→Enter键。之后,数据库将每晚自动进行备份。
(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)
微信扫码加好友进群
主机优惠码及时掌握
QQ群号:938255063
主机优惠发布与交流





