# 自托管服务器 [返回 README](../README.md) · [English](SELF_HOSTING_EN.md) CrossDesk 的信令服务与 TURN 中继由独立的 [CrossDesk Server](https://github.com/kunkundi/crossdesk-server) 项目维护。本页说明部署入口与当前客户端的配置方法;服务端文件请使用同一 Release 中的配套版本。 ## 1. 部署服务端 以下步骤面向已安装 Docker Engine 和 Compose 插件的 Linux 服务器;先确认 `docker compose version` 可用。当前 Compose 使用主机网络,分别运行信令服务和 Coturn。 按 [服务端部署文档](https://github.com/kunkundi/crossdesk-server#运行服务),从其 [Releases](https://github.com/kunkundi/crossdesk-server/releases) 下载 `compose.yaml` 和 `env.example`,放到同一目录。在该目录执行: ```bash cp env.example .env ``` 用文本编辑器修改 `.env`,至少核对以下内容,填写完成后再启动。完整参数以配套的环境文件为准,也可参考服务端仓库的 [环境变量示例](https://github.com/kunkundi/crossdesk-server/blob/admin-dashboard/.env.example)。 | 配置 | 填写内容 | | --- | --- | | `CROSSDESK_IMAGE` | 与下载的配置匹配的固定发布 tag | | `EXTERNAL_IP` / `INTERNAL_IP` | 服务器真实公网 / 内网 IP;不要直接使用示例地址 | | `CROSSDESK_SERVER_PORT` | 信令端口,例如 `9099` | | `COTURN_PORT` | 中继端口,例如 `3478` | | `MIN_PORT` / `MAX_PORT` | TURN 媒体端口范围 | | `COTURN_AUTH_SECRET` | 信令服务与 Coturn 的共享密钥;不填入客户端 | | `COTURN_STATELESS_NONCE_SECRET` | 独立生成、持久保存的 nonce 密钥 | | `CROSSDESK_DATA_DIR` / `CROSSDESK_LOG_DIR` | 数据、证书和日志的持久化位置 | 两个密钥分别用 `openssl rand -hex 32` 生成。防火墙及云安全组需允许信令端口 TCP、中继端口 TCP/UDP,以及所选媒体端口范围 UDP。容器挂载和网络配置见 [官方 Compose 文件](https://github.com/kunkundi/crossdesk-server/blob/admin-dashboard/compose.yaml)。 保存配置后,校验并启动: ```bash sudo docker compose config -q sudo docker compose pull sudo docker compose up -d sudo docker compose ps ``` ## 2. 配置桌面客户端 使用自签证书时,先按 [证书信任步骤](#3-配置信任证书) 在两端导入根证书,再检查连接状态。 1. 断开现有会话,点击主窗口右上角 **☰ → 设置**。 2. 在设置列表中向下滚动,点击 **自托管配置**。 3. 填写 **服务器地址**、**信令服务端口**、**中继服务端口**,点击“确认”。地址只填主机名或 IP,不加 `https://`、路径或端口。 4. 回到设置窗口,勾选 **自托管配置** 右侧复选框,再点击“确认”保存。 5. 在控制端和被控端执行相同配置。等待两端都显示“已连接服务器”,再使用被控端当前显示的 ID 发起连接。