请在运行您自己的服务器之前阅读常见问题解答,并且您可能需要阅读有关第三方实例的其他说明。
- amd64 版本目前仅适用于
backend
和bonfire
镜像,未来还会有更多。 - ❗重要提示:如果您在2022 年 10 月 29 日
minio
之前部署了 Revolt,并且配置为“fs”模式, 则可能需要标记映像版本。image: minio/minio:RELEASE.2022-10-24T18-35-07Z
- ❗重要提示:如果您在2023 年 4 月 21 日之前部署了 Revolt ,则可能需要刷新 Redis 数据库。
# for stock Redis and older KeyDB images: docker-compose exec redis redis-cli # ...or for newer KeyDB images: docker-compose exec redis keydb-cli
# then run: FLUSHDB
该存储库提供了合理的默认值,因此您可以立即在本地计算机上开始使用它。
警告 不建议将其用于生产用途 - 请参阅下面的完整指南。
git clone https://github.com/revoltchat/self-hosted revolt
cd revolt
cp .env.example .env
docker-compose up -d
然后只需访问http://local.revolt.chat
继续之前的先决条件:
克隆这个存储库。
git clone https://github.com/revoltchat/self-hosted revolt
cd revolt
复制.env
文件并根据您的需要进行编辑。
警告:默认配置用于测试,仅适用于您的本地计算机。如果要部署到远程服务器,则需要编辑文件中的 URL ,请参阅下面有关配置自定义域的
.env
部分。 如果您在尝试登录时遇到网络错误,请在提出问题之前仔细检查您的配置。
cp .env.example .env
然后提出Revolt:
docker-compose up -d
在更新 Revolt 之前,请检查顶部的勘误表以获取重要信息,并检查文件中现在是否存在任何新的必需环境变量.env
。
要更新 Revolt,请首先提取此存储库的最新副本,以确保您拥有最新的标签:
git pull
然后拉取所有最新的镜像:
docker-compose pull
现在您可以重新启动您的服务:
docker-compose up -d
要配置自定义域,您应该能够local.revolt.chat
在.env
文件中进行搜索和替换,如下所示:
# .env - REVOLT_APP_URL=http://local.revolt.chat + REVOLT_APP_URL=http://my.domain
您还需要更改协议以启用 HTTPS:
# .env - REVOLT_APP_URL=http://my.domain + REVOLT_APP_URL=https://my.domain- REVOLT_EXTERNAL_WS_URL=ws://my.domain/ws + REVOLT_EXTERNAL_WS_URL=wss://my.domain/ws
在 的情况下HOSTNAME
,您必须去除协议前缀:
# .env - HOSTNAME=https://my.domain + HOSTNAME=my.domain
覆盖 上的端口定义caddy
:
# docker-compose.yml services: caddy: ports: - "1234:80"
警告 Git 不会忽略此文件,使用覆盖文件可能就足够了,但不会删除端口 80 / 443 分配。
更新 Web 服务器使用的主机名:
# .env - HOSTNAME=http://local.revolt.chat + HOSTNAME=:80
您现在可以反向代理到http://localhost:1234。
您可以通过添加端口定义来不安全地公开数据库:
# docker-compose.override.yml services: database: ports: - "27017:27017"
较旧的处理器可能不支持最新的 MongoDB 版本,您可以固定到 MongoDB 4.4,如下所示:
# docker-compose.override.yml services: database: image: mongo:4.4
通过设置REVOLT_INVITE_ONLY
启用仅限邀请模式.env
1
创建邀请:
# drop into mongo shell docker-compose exec database mongosh# create the invite use revolt db.invites.insertOne({ _id: "enter_an_invite_code_here" })