极私语 · 私有化部署的聊天办公网盘
聊天、文件、协作,全部跑在你自己的服务器上。
极私语由两部分组成:
| 组成 | 说明 |
|---|---|
| 服务端 | 部署在你自己的电脑或服务器上,提供账号、消息转发、文件存储服务 |
| 客户端 | 手机 App、电脑客户端、网页版,用户日常使用的入口 |
三步搞定:部署服务端 → 安装客户端 → 注册加好友。
第一步 · 部署服务端
两种部署方式,按需选择:
| 电脑直接运行 | Docker 部署 | |
|---|---|---|
| 适合场景 | 个人试用、临时演示 | 长期使用、团队办公 |
| 前置要求 | 无需额外软件,解压即用 | 需先安装 Docker |
| 数据位置 | 保存在解压目录 | 集中在 ./data,备份迁移只拷一个目录 |
| 运行方式 | 需保持窗口开启 | 支持开机自启、异常自动重启 |
方式一:Docker 部署(推荐)
主服务固定监听 9009 端口,全部数据集中在 /app/data,备份迁移只需拷贝一个目录。
镜像地址
| 区域 | 镜像 |
|---|---|
| 国内 | swr.cn-east-3.myhuaweicloud.com/jisiyu/jisiyu:latest |
| 国际 | zhuchengji1990/jisiyu:latest |
国内镜像与源镜像内容完全一致,标签通用。国内主机把 image 换成国内镜像即可,拉取更快。
部署包文件
| 文件 | 必装 | 说明 |
|---|---|---|
docker-compose.yaml | 是 | 主服务,默认使用 host 网络 |
turn-docker.yaml | 否 | 通用主机上的 TURN/STUN 中继(coturn) |
turn-fnnas.yaml | 否 | 飞牛 NAS(fnOS)专用的 TURN/STUN 中继 |
etc/im-api.docker.yaml | 是 | 服务端配置,只读挂载进容器 |
启动主服务
docker-compose.yaml 默认使用 host 网络(推荐,便于配合可选的中继):
services:
im-server:
image: swr.cn-east-3.myhuaweicloud.com/jisiyu/jisiyu:latest
pull_policy: always
container_name: jisiyu-server
restart: unless-stopped
network_mode: host
environment:
- TZ=Asia/Shanghai
volumes:
- ./etc/im-api.docker.yaml:/app/etc/im-api.yaml:ro
- ./data:/app/data
- ./data/logs:/app/logs
- /etc/machine-id:/etc/machine-id:ro
docker compose -f docker-compose.yaml up -d # 启动
docker compose -f docker-compose.yaml down # 停止
改用端口映射(可选)
只部署主服务、不需要 TURN 中继,且希望容器网络隔离 / 避免占用宿主机端口 / 端口冲突 / 交给反向代理统一入口时,可改成端口映射:注释掉 network_mode: host 并取消 ports 注释(二者互斥,不可同时使用):
# network_mode: host
ports:
- "${SERVER_PORT:-9009}:9009"
用 docker run
docker run -d \
--name jisiyu-server \
--restart unless-stopped \
--network host \
-e TZ=Asia/Shanghai \
-v "$(pwd)/etc/im-api.docker.yaml:/app/etc/im-api.yaml:ro" \
-v "$(pwd)/data:/app/data" \
-v "$(pwd)/data/logs:/app/logs" \
-v "/etc/machine-id:/etc/machine-id:ro" \
swr.cn-east-3.myhuaweicloud.com/jisiyu/jisiyu:latest
docker stop jisiyu-server # 停止
host网络下无需-p端口映射,对外端口由etc/im-api.docker.yaml的Port决定(默认9009)。
升级与卸载(中继同理,把文件名换成对应的 compose)
docker compose -f docker-compose.yaml pull && docker compose -f docker-compose.yaml up -d # 升级
docker compose -f docker-compose.yaml down # 卸载(保留数据)
方式二:电脑直接运行(临时演示,不建议长期使用)
-
按系统下载对应压缩包,解压到当前文件夹
- Windows →
jisiyu-server-windows-x64.zip - Linux →
jisiyu-server-linux-x64.zip - Mac(M 系列)→
jisiyu-server-mac-arm.zip - Mac(Intel)→
jisiyu-server-mac-x64.zip
- Windows →
-
双击运行
jisiyu-server-windows-x64.exe(Linux / Mac 运行解压出的同名可执行文件) -
记下窗口中的 服务器地址 和 本机机器码,注册客户端时要用:
服务器地址: 192.168.3.20:9009 本机机器码: FFFF-EEEE-AAAA-BBBB
⚠️ 服务端窗口不能关闭,关闭即停止服务。
部署参数说明
| 项目 | 值 | 说明 |
|---|---|---|
| 容器名 | jisiyu-server | 主服务;中继容器为 jisiyu-coturn |
| 网络模式 | host(默认) | 可用端口映射替代,二者互斥 |
| 端口 | 9009 | host 下由配置文件 Port 决定,可改 |
| 时区 | TZ=Asia/Shanghai | 影响日志时间 |
| 配置文件 | ./etc/im-api.docker.yaml → /app/etc/im-api.yaml | 只读 |
| 数据目录 | ./data → /app/data | 唯一必须备份的目录 |
| 日志目录 | ./data/logs → /app/logs | 排查问题时查看 |
| 机器标识 | /etc/machine-id | 只读,用于设备绑定 |
| TURN 中继 | 3478、49152-51199/udp | 可选,跨网络通话/传文件用,见下文 |
访问
浏览器打开 **http://宿主机IP:9009**。
- host 网络下:改
etc/im-api.docker.yaml里的Port即可换端口,改完重启主服务(docker compose -f docker-compose.yaml up -d --force-recreate)。 - 端口映射下:只改左侧,如
8080:9009,或设置SERVER_PORT=8080;容器内的9009保持不变。
TURN 中继(跨网络通话/传文件)
同一局域网内一般无需中继;若客户端不在同一网络,或处于公司、校园、酒店这类只放行少数端口的严格网络下,语音视频或文件传输连不上,就需要部署 TURN 中继。
部署包自带独立的中继 Compose 文件,在主服务之外再叠加启动即可(中继与主服务是两个文件,各起一个容器):
docker compose -f turn-docker.yaml up -d # 通用主机
飞牛 NAS(fnOS)上主服务通过应用商店(fpk)安装,无需
docker-compose.yaml;需要中继时只需额外执行docker compose -f turn-fnnas.yaml up -d。主服务与中继容器都使用 host 网络:中继必须监听宿主机端口、并对外宣告客户端可达的地址,bridge 网络下客户端只能拿到容器内网 IP,会连不上。中继容器始终使用 host,即使主服务改用了端口映射也不要跟着改。
需要放行的端口(宿主机防火墙 / 安全组)
| 端口 | 协议 | 用途 |
|---|---|---|
3478 | TCP、UDP | TURN / STUN 主端口 |
49152-51199 | UDP | 媒体中继端口段 |
443 | TCP | 回退端口,仅启用时(供只放行 443 的严格网络使用) |
启用:无需手工修改任何配置文件,也无需自己编造密钥。登录管理后台 →「系统设置」→「TURN 中继」,打开开关并保存即可(其余项已自动填好):
- TURN 地址:已按你访问管理后台的地址自动填好,一般无需修改;若客户端从别的网络访问,改填客户端能访问到的地址 —— 局域网填内网 IP,跨公网填公网 IP 或域名。
- REST 密钥:临时凭证密钥(推荐),已自动生成,一般无需修改。
- 服务器位于路由器 / 云主机 NAT 之后时,需在「高级设置 → 对外宣告地址」填公网 IP(或
公网IP/内网IP),否则中继不生效。
端口等其余参数都在「高级设置」里,保持默认即可(监听 3478、中继段 49152-51199)。保存后服务端会把配置渲染成 ./data/turn/turnserver.conf,中继容器读取后自动启动、配置有变自动重启;关闭开关后该文件被删除,coturn 随之停止(避免变成人人可用的开放中继)。
保存后若不确定是否生效,可在同一页面点「连通性自检」确认中继端口可达;也可在「系统 → 系统健康」查看「TURN 中继」一项的状态(能发现「开关开了但 coturn 没起来」这类问题)。
查看中继日志:
docker logs -f jisiyu-coturn
后台未启用前,coturn 容器不会监听任何端口,可以放心让它常驻。
第二步 · 安装客户端
- 手机:应用市场搜索「极私语」,或者从官网 https://www.open-cs.cn 下载
- 电脑:官网 https://www.open-cs.cn 下载
- 网页版:浏览器直接访问第一步记下的服务器地址
第三步 · 注册与加好友
注册
打开 App → 点「没有账号?去注册」→ 填昵称、手机号、邮箱、密码 → 服务器地址填第一步记下的地址 → 同意协议 → 注册
⚠️ 服务器地址必须完整填写,包含
:9009端口,这是最容易填错的一项。
加好友
点右上角「+」→ 添加好友 → 输入对方手机号或邮箱 → 添加到通讯录
接受请求
通讯录 → 新的朋友 → 接受 → 开始聊天
连不上?先查这几点
- 服务端窗口 / Docker 容器还在运行吗?
- 手机、电脑和服务器在同一个局域网(同一 Wi-Fi)吗?
- 服务器地址填对了吗?必须完整、含
:9009端口。 - 服务器防火墙是否放行了 9009 端口?
- 改过对外端口的话,客户端地址里的端口同步改了吗?
- 跨网络(不同局域网 / 严格防火墙)通话或传文件失败:确认已用
turn-docker.yaml(飞牛 NAS 用turn-fnnas.yaml)部署了中继,并在后台「系统设置 → TURN 中继」中启用,同时放行 3478、49152-51199 等端口。
