ITADN
wireapp/wire-server
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Wire™

Wire logo

本仓库是 Wire 源代码的一部分。您可以在 wire.com 或联系 opensource@wire.com 获取更多信息。

您可以在 github.com/wireapp/wire 找到已发布的源代码。

有关许可信息,请参阅附带的 LICENSE 文件以及 wire.com/legal/licenses/ 上的第三方许可证列表。

未授予 Wire 商标及其相关标志的任何许可,这些商标和标志将继续由 Wire Swiss GmbH 独家拥有。未经 Wire Swiss GmbH 的明确事先书面同意,明确禁止使用 Wire 商标和/或其相关标志。

Wire 服务器

本仓库包含 Wire 服务器的源代码。它包含运行 Wire 所需的所有库和服务。

有关如何自托管您自己的 Wire-Server 的文档,请参阅 此部分。联邦化(Federation)在我们的长期路线图之上。

更多详情请参见“开源 Wire 服务器代码”。

本仓库的内容

本仓库包含以下源代码:

  • services

    • nginz: 公共 API 反向代理(带有自定义 libzauth 模块的 Nginx)
    • galley: 会话和团队
    • brig: 账户
    • gundeck: 推送通知中心
    • cannon: WebSocket 推送通知
    • cargohold: 资产(图像、文件、...)存储
    • proxy: 第三方 API 集成
    • spar: 单点登录(SSO)
  • tools

    • db/: 迁移工具(例如,当添加新表时)
    • stern/: 后台管理工具(基于 Swagger 的基础界面)
  • libs: 共享库

它还包含

  • build: 某些平台的构建脚本和 Dockerfiles
  • deploy: (进行中)- 如何在临时、内存演示模式下运行 wire-server
  • docs: 文档
    • 注意: 此目录仅包含在过去一年内(自 25 年 2 月 19 日起)修改过的文件;所有其他文件已移至 wire-docs 仓库。此目录中的文件用于构建完整的 wire 文档站点,因此对这些文件的任何更改都应在此处更新,而对其他文件的更新应直接提交到 wire-docs 仓库。
  • hack: 主要用于 CI 的 kuberentes helm chart 开发/发布的脚本和配置
  • charts: Kubernetes Helm charts。这些 charts 已镜像到 S3,可与 helm repo add wire https://s3-eu-west-1.amazonaws.com/public.wire.com/charts 一起使用。有关更多信息,请参阅 管理员指南

架构概览

以下图表概述了构成 Wire Server 的组件的(部署)架构, 以及组件之间的主要内部和外部依赖关系。

wire-arch

内部组件之间的通信目前未受专用身份验证或加密保护,并假定其仅限于私有网络。

开发环境设置

如何构建 wire-server 二进制文件

有两种选择:

1. 使用 docker

如果您不希望从头构建所有 docker 镜像(例如,ubuntu20-builder 需要很长时间),可以从 此处 下载预构建的镜像。

如果您希望构建自己的 docker 镜像,您需要 docker 版本 >= 17.05make。然后,

# optionally:
# make docker-builder # if you don't run this, it pulls the ubuntu20-builder image from quay.io
make docker-deps docker-intermediate docker-services

# subsequent times, after changing code, if you wish to re-create docker images, it's sufficient to
make docker-intermediate docker-services

will, eventually, have built a range of docker images. Make sure to give Docker enough RAM; if you see make: *** [builder] Error 137, it might be a sign that the build ran out of memory. You can also mix and match – e.g. pull the ubuntu20-builder image and build the rest locally.

请参阅 MakefileDockerfile,以及 build/ubuntu/README.md 以获取详细信息。

2. 使用 nix 提供的构建环境

这仅适用于本地开发和测试。请参阅开发者文档中的构建说明

如何安装和运行 wire-server

您有两个选项:

  • 选项 1。(推荐)使用 wire-server-deploy 中提供的配置和说明,在 kubernetes 上安装 wire-server。这是在服务器上运行的最佳选项,如果您希望自行托管 wire-server,则推荐此选项。

  • 选项 2。编译此仓库中的所有代码,然后你可以使用 dist/run-services。此选项旨在作为在本地开发机器上试用 wire-server 的方式,不适用于生产环境。