Docs / Docker

Docker 部署

一套 Docker Compose 拉起 MySQL、Redis、LiveKit、Egress 和 Go 后端。生产后端宿主机端口固定为 127.0.0.1:18081,容器内部仍监听 8081。

功能说明

核心服务

Compose 包含 MySQL、Redis、LiveKit、Egress 和 Go 后端。

持久化

数据库、Redis、媒体资料、存储目录和 egress 数据都需要保留 volume 或宿主机目录。

密钥管理

生产密钥只走环境变量或 .secrets/ 目录,部署包与仓库不携带明文密钥。

部署步骤

  1. 1
    准备服务器

    安装 Docker 与 Docker Compose,准备好域名解析与 SSL 证书。

  2. 2
    上传部署包

    部署包不包含 .env 和 .secrets/,生产密钥单独配置到环境变量。

  3. 3
    启动服务

    docker compose up -d --build,首次启动会自动初始化数据库与内置套餐。

  4. 4
    健康检查

    curl 127.0.0.1:18081/healthz 与 /readyz 都返回正常后,再配置 Nginx 反代。

  5. 5
    开放媒体端口

    公网放行 80/443、7881/TCP 与 50000-50100/UDP,LiveKit 信令默认走 Nginx /rtc 反代。

端口清单

端口开放范围用途
80 / 443公网Nginx HTTP/HTTPS
7881/TCP公网LiveKit ICE/TCP 回退
50000-50100/UDP公网WebRTC 媒体
127.0.0.1:18081仅本机后端 API(容器内 8081)
127.0.0.1:3307仅本机MySQL
127.0.0.1:6380仅本机Redis
127.0.0.1:7880仅本机LiveKit 信令(走 Nginx /rtc)
不要把线上 Compose 改回 8081:8081。Nginx 必须代理到 http://127.0.0.1:18081。

示例

cd /www/wwwroot/ranhuiyi
docker compose up -d --build
docker compose ps
docker compose logs -f backend

curl http://127.0.0.1:18081/healthz
curl http://127.0.0.1:18081/readyz
curl https://meet.yi-ruan.com/healthz

常见问题

healthz 检查不通过?

不要用 curl -I(HEAD 请求),健康检查以 GET 为准;先看 docker compose logs -f backend 的报错。

为什么宿主机端口是 18081?

避免与服务器已有进程的 8081 冲突,线上约定固定为 127.0.0.1:18081,Nginx 统一反代。

准备好试试壹会畅了吗?

下载客户端快速体验,或联系团队了解会议源码、私有化部署、OEM 与渠道合作。