服务器需要一个域名(例如 remote.example.com)以及指向它的 DNS A/AAAA 记录。可以从 1 vCPU、1 GB 内存的小型服务器开始。
/etc/tastedev-remote/,数据位于 /var/lib/tastedev-remote/。/etc/tastedev-remote/tasteremote-signal.env。必填的值如下:| 值 | 含义 |
|---|---|
TURN_SECRET | 与 coturn 共享的密钥(16 个字符以上)。用 openssl rand -hex 32 生成。 |
RD_SETUP_TOKEN | 创建第一个管理员账号时输入的设置令牌(32 个字符以上)。第一个账号创建后可以删除。 |
RD_WEB_ORIGIN | 用户访问的地址。示例:https://remote.example.com |
TURN_URLS | 示例:turn:remote.example.com:3478?transport=udp,turn:remote.example.com:3478?transport=tcp |
/etc/turnserver.conf 中的 static-auth-secret 设置为与 TURN_SECRET 相同的值。sudo apt install coturnsudo systemctl enable --now tasteremote-signal tasteremote-web tasteremote-update.timer/downloads/ 会返回 503,下载页面会显示“此服务器还没有安装文件”。在无法访问互联网的服务器上,请自行把安装文件放入 downloads/ 文件夹。sudo tasteremote-fetch-hosts在 Windows 服务器上,设置位于 %ProgramData%\tasteremote\config\,数据位于 %ProgramData%\tasteremote\data,并作为服务运行。
用第一个管理员账号登录,打开 管理 › 服务器安装。向导分 5 步生成配置文件和命令,由管理员通过 SSH 粘贴执行。此页面本身不会在服务器上执行任何操作。
RD_WEB_ORIGIN、RD_COOKIE_SECURE=1、TRUST_PROXY=1 等值以及检查命令。检查 /healthz 是否有响应,以及 /ws 连接是否切换为 101(返回 400 或 426 表示代理丢失了 WebSocket 头)。需要 Docker Engine 25 或更高版本,以及 Compose v2.24 或更高版本。
deploy/ 文件夹中,把 .env.example 复制为 .env 并限制其权限。cp .env.example .env && chmod 600 .env.env 中填写 DOMAIN、ACME_EMAIL、TURN_SECRET、RD_SETUP_TOKEN、TURN_EXTERNAL_IP 等。docker compose up -d --build| 值 | 默认值 | 含义 |
|---|---|---|
PORT / HOST | 8080 / 0.0.0.0 | signal 监听的端口和地址。软件包设置为 127.0.0.1。 |
TRUST_PROXY | 0 | 前面的代理数量。单个代理时为 1。设置错误时,所有用户会显示为同一个 IP,并一起触发限制。 |
RD_DB_PATH | ./data/signal.db | 数据库(SQLite)文件 |
RD_SERVER_KEY_FILE | ./data/server.key | 服务器签名密钥。丢失后,所有主机都必须重新注册。 |
RD_ALLOW_SIGNUP | 关闭 | 允许在第一个账号之后注册。管理页面中设置的值优先。 |
RD_COOKIE_SECURE | 生产环境中开启 | 会话 Cookie 的 Secure 标志 |
TURN_TTL_SEC | 600 | TURN 凭据的有效时间(秒) |
RD_LICENSE_CLAIM_URL | TASTEDEV 地址 | 许可证安装码兑换地址。无法访问互联网的服务器设为 off |
RD_HOST_VERSION_CHECK | on | 设为 off 时,也允许连接与服务器前两位版本号不同的主机。 |
LOG_LEVEL | info | 设为 debug 时会更详细地记录连接耗时。 |
邮件(SMTP)和社交登录在管理页面中设置,而不是在设置文件中。
下一步请参阅 初始设置。