最近更新: 2026-07-09
Relayium 采用 MIT 许可、开源,服务端是一个自包含的镜像——不需要外部数据库,不需要第三方存储桶,也没有什么需要注册。如果你更想自己运行整套系统而不是依赖 relayium.com,本指南会带你用 Docker 起一台服务器,并让 CLI 指向它。
自托管让你完全掌控数据存放的位置、拥有自己的域名和 TLS 证书,也不依赖别人的运维决策。以下内容全部基于仓库中实际存在的文件——docker-compose.yml、server/.env.example 和 docs/DEPLOYMENT.md——因此这里不会出现任何实际不存在的参数或配置项。
Relayium 的实时传输本身就是点对点、端到端加密的,服务器在这个过程中根本看不到你的文件字节。但服务器确实保存着你的账号,以及——对于存储型/链接型传输——密文数据块和一个小型 SQLite 数据库。自托管意味着这些数据存放在你自己掌控的基础设施上,挂在你自己的域名下,不受任何人其他运维决策的影响。
由于该项目采用 MIT 许可并且开源(github.com/relayium/relayium),你可以在信任它之前先读清楚服务端到底做了什么,也可以自由 fork 或修改它。
仓库根目录提供了一个 Dockerfile 和一个 docker-compose.yml,它们会构建出一个自包含的镜像——一个静态 Go 二进制文件,同时提供预构建好的 Web 应用,因此仅仅为了运行它,你不需要单独的 Node、Go 工具链或 nginx:
docker compose up -d --build
同一网络(局域网)的传输,以及基于 SSH 的 push/pull,不需要任何额外配置就能工作。跨网络的实时传输(两台设备各自处于不同的 NAT 之后)有时需要一个 TURN 中继来建立路径——中继全程只能看到密文,绝不会看到文件内容。
docker-compose.yml 里有一个可选的 relay profile,会在启动主服务器的同时启动 coturn(TURN 服务器)和一个用于中继流量计量的小型 Redis 实例:
RELAYIUM_TURN_SECRET=$(openssl rand -hex 32) docker compose --profile relay up -d --build
Relayium CLI 默认使用 relayium.com 的会合服务器来完成跨网络的 send/receive。传入 --server 即可改用你自己的服务器:
relayium send ./report.pdf --server https://your-domain
relayium receive --server https://your-domain
只有当你希望跨网络的实时传输能穿透严格 NAT 时才需要。同网络传输、基于 SSH 的 push/pull,以及 daemon-direct 都不需要它——TURN 只用于跨网络配对码路径上的 NAT 穿透。
是的。无论连接的是 relayium.com 还是你自己运行的服务器,CLI 完全免费,也都不需要账号——--server 只是让它指向你的实例。
可以。Docker 镜像本身在 :8080 上以明文 HTTP 监听;在前面加一层 nginx 或 Caddy,配上你自己的域名和证书(例如通过 certbot/Let's Encrypt)。docs/DEPLOYMENT.md 里有一份完整的 nginx 配置可以直接照抄。
一个位于 RELAYIUM_DB 的 SQLite 数据库(账号、会话),以及——对于存储型/链接型传输——位于 RELAYIUM_BLOB_DIR 的加密数据块,服务器自己也无法解密它们。实时点对点传输完全不会被存储在任何地方——服务器只转发信令握手。
安装免费的 Relayium CLI,用 --server 指向你自己的服务器。
获取 CLI