diff --git a/docker/livekit.yml b/docker/livekit.yml
index e6fe104d041..da36cd61799 100644
--- a/docker/livekit.yml
+++ b/docker/livekit.yml
@@ -1,7 +1,7 @@
version: "3.3"
services:
- # 后台应用
+ # livekit webhook receiver
tailchat-livekit-webhook-receiver:
build:
context: ../
diff --git a/website/docs/meeting/_category_.json b/website/docs/meeting/_category_.json
index b9131bf411c..d05496d7480 100644
--- a/website/docs/meeting/_category_.json
+++ b/website/docs/meeting/_category_.json
@@ -1,4 +1,4 @@
{
"label": "Video Conference",
- "position": 60
+ "position": 35
}
diff --git a/website/docs/meeting/deployment.md b/website/docs/meeting/deployment.md
index 39621ef92d1..a6e551e9107 100644
--- a/website/docs/meeting/deployment.md
+++ b/website/docs/meeting/deployment.md
@@ -3,6 +3,10 @@ sidebar_position: 2
title: Deploy Tailchat Meeting
---
+:::info
+The `Tailchat Meeting` solution is currently not integrated with `Tailchat`, if you want to use the video conferencing solution in Tailchat, please choose `agora` or `livekit` solution
+:::
+
The video conferencing service `Tailchat Meeting` can exist as an independent application. In this section, we will describe how to deploy `Tailchat Meeting` independently
The following content is based on the `docker` environment, please ensure that the server has the most basic `docker` environment.
diff --git a/website/docs/meeting/design.md b/website/docs/meeting/design.md
deleted file mode 100644
index 69b430e5f29..00000000000
--- a/website/docs/meeting/design.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-sidebar_position: 99
-title: SDK design document
-draft: true
----
-
-## base path
-
-The user's basic operation path is: join the room - monitor changes/push local media streams - leave the complete life cycle of the room.
diff --git a/website/docs/meeting/intro.md b/website/docs/meeting/intro.md
index 4e92163fcac..db27ae7d52c 100644
--- a/website/docs/meeting/intro.md
+++ b/website/docs/meeting/intro.md
@@ -2,34 +2,46 @@
sidebar_position: 1
title: Summary
---
-`Tailchat` provides two solutions for video and voice calls, you can choose according to the actual situation:
-- `tailchat-meeting` self-deploying video conferencing (WIP)
+
+:::info
+Video Conference solutions require SSL support, so only websites that support https will work properly
+:::
+
+`Tailchat` provides those solutions for video and voice calls, you can choose according to the actual situation:
+- ~~`tailchat-meeting` self-deploying video conferencing (WIP)~~
- `agora` Acoustic Network integration, for details, see: [Acoustic Network Plug-in Deployment Guide](./agora.md)
+- `livekit` Allow self-host solution: [Livekit Plugin Deployment Guide](./livekit.md)
-## Tailchat Meeting
-The video conferencing module is an important part of the suite of `Tailchat` series. Capabilities are provided as follows:
-- Voice communication
-- Video session
-- screen sharing
-- virtual background
-- file transfer
-- chat record
+
+ Collapsed content is outdated
+
+ ## Tailchat Meeting
-At the same time, `tailchat-meeting` can also exist as an independent product, and you can quickly initiate/join meetings without logging in
+ The video conferencing module is an important part of the suite of `Tailchat` series. Capabilities are provided as follows:
+ - Voice communication
+ - Video session
+ - screen sharing
+ - virtual background
+ - file transfer
+ - chat record
-### Project repository
+ At the same time, `tailchat-meeting` can also exist as an independent product, and you can quickly initiate/join meetings without logging in
-- Open source address: [https://github.com/msgbyte/tailchat-meeting](https://github.com/msgbyte/tailchat-meeting)
-- Open source agreement: Apache 2.0
+ ### Project repository
-:::info Open source statement
-This project is based on secondary development of [edumeet](https://github.com/edumeet/edumeet) and [mediasoup](https://github.com/versatica/mediasoup).
+ - Open source address: [https://github.com/msgbyte/tailchat-meeting](https://github.com/msgbyte/tailchat-meeting)
+ - Open source agreement: Apache 2.0
+
+ :::info Open source statement
+ This project is based on secondary development of [edumeet](https://github.com/edumeet/edumeet) and [mediasoup](https://github.com/versatica/mediasoup).
+
+ On this basis, function addition, SDK implementation and code optimization were carried out. If you want to find a looser implementation of the open source protocol (MIT + ISC protocol), you can take a look at these two projects
+ :::
-On this basis, function addition, SDK implementation and code optimization were carried out. If you want to find a looser implementation of the open source protocol (MIT + ISC protocol), you can take a look at these two projects
-:::
+ ### Project Architecture
-### Project Architecture
+ ![](/img/architecture/meeting.excalidraw.svg)
-![](/img/architecture/meeting.excalidraw.svg)
+
diff --git a/website/docs/meeting/livekit.md b/website/docs/meeting/livekit.md
new file mode 100644
index 00000000000..ed857cc0577
--- /dev/null
+++ b/website/docs/meeting/livekit.md
@@ -0,0 +1,73 @@
+---
+sidebar_position: 20
+title: Livekit Plugin Deployment Guide
+---
+
+`Livekit` is an open source video conferencing solution based on the `Apache-2.0` open source protocol, allowing self-host, supporting video conferencing, live streaming, recording and other scenarios
+
+You can use his cloud service or self-host. Below I will introduce how to integrate `Livekit` into `Tailchat`:
+
+## Cloud Services
+
+First enter the Livekit cloud platform: [https://cloud.livekit.io/](https://cloud.livekit.io/), in the first time you enter, you need to create a project:
+
+It will ask some questions, just answer them according to the situation.
+
+![](/img/advanced-usage/livekit/1.png)
+
+After completion, we will enter the console main dashboard:
+
+![](/img/advanced-usage/livekit/2.png)
+
+### Get the required environment variables
+
+For the plugin to work, we need the following environment variables:
+
+- `LIVEKIT_URL`
+- `LIVEKIT_API_KEY`
+- `LIVEKIT_API_SECRET`
+
+Among them, `LIVEKIT_URL` can be obtained directly from the console, in the form of `wss://********.livekit.cloud`
+
+In the `Settings` menu on the left, we need to create a pair of secret keys by ourselves
+
+![](/img/advanced-usage/livekit/3.png)
+
+![](/img/advanced-usage/livekit/4.png)
+
+![](/img/advanced-usage/livekit/5.png)
+
+Here we can get `LIVEKIT_API_KEY` and `LIVEKIT_API_SECRET`.
+
+Record and fill in the environment variables and start `Tailchat`.
+
+### Start the webhook
+
+![](/img/advanced-usage/livekit/6.png)
+
+If you need the above-mentioned channel online prompts to be updated immediately, you need to start a `webhook-receiver` separately to accept pushes from `livekit` and forward the received events to `Tailchat`, so that `Tailchat` can update all groups Display of group membership.
+
+The official `docker-compose` configuration has been prepared for you with one click, just like `admin`:
+
+```bash
+wget https://raw.githubusercontent.com/msgbyte/tailchat/master/docker/livekit.yml
+docker compose -f docker-compose.yml -f livekit.yml up -d
+```
+
+At this point you can see a `tailchat-livekit-webhook-receiver` service in the docker running container.
+
+Then we switch to the `livekit` console and add our address in the `webhook`.
+
+![](/img/advanced-usage/livekit/7.png)
+
+Generally `https:///livekit/webhook`, remember to choose the same key pair as the service
+
+![](/img/advanced-usage/livekit/8.png)
+
+> PS: There may be some delays in cloud applications.
+
+## Self-host
+
+See the official documentation for self-host: [https://docs.livekit.io/oss/deployment/](https://docs.livekit.io/oss/deployment/)
+
+In addition to the different deployment methods and configuration first, others are the same as using cloud services
diff --git a/website/docs/meeting/plugin.md b/website/docs/meeting/plugin.md
deleted file mode 100644
index 1a1cfc2188f..00000000000
--- a/website/docs/meeting/plugin.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-sidebar_position: 3
-title: Plugin deployment
----
-
-TODO
diff --git a/website/docs/meeting/sdk.md b/website/docs/meeting/sdk.md
deleted file mode 100644
index 1a69daeaae9..00000000000
--- a/website/docs/meeting/sdk.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-sidebar_position: 4
-title: SDK
----
-
-TODO
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/_category_.json b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/_category_.json
deleted file mode 100644
index a209ff856e7..00000000000
--- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "视频会议",
- "position": 60
-}
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/deployment.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/deployment.md
index b627ce84635..423c12c01f7 100644
--- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/deployment.md
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/deployment.md
@@ -3,6 +3,10 @@ sidebar_position: 2
title: 部署视频会议
---
+:::info
+`Tailchat Meeting` 方案目前没有与 `Tailchat` 做集成,如果你期望在Tailchat中使用视频会议方案请选择 `agora` 或 `livekit` 解决方案
+:::
+
视频会议服务 `Tailchat Meeting` 可以作为一个独立应用单品存在。在本节中将会讲述如何独立部署 `Tailchat Meeting`
以下内容均基于`docker`环境,请确保服务端有 `docker` 最基本程度的环境。
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/design.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/design.md
deleted file mode 100644
index 7c3690d657d..00000000000
--- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/design.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-sidebar_position: 99
-title: SDK设计文档
-draft: true
----
-
-## 基本路径
-
-用户基本操作路径是: 加入房间 —— 监听变更/推送本地媒体流 —— 离开房间这样完整的生命周期。
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/intro.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/intro.md
index 67a93e78381..f2b96245ed9 100644
--- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/intro.md
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/intro.md
@@ -3,34 +3,42 @@ sidebar_position: 1
title: 概述
---
-`Tailchat` 提供两套方案用于视频语音通话,可以根据实际情况自行选择:
-- `tailchat-meeting` 自部署视频会议(WIP)
+:::info
+音视频解决方案需要SSL支持,因此只有支持https的网站才能正常使用
+:::
+
+`Tailchat` 提供以下方案用于视频语音通话,可以根据实际情况自行选择:
+- ~~`tailchat-meeting` 自研视频会议(WIP)~~
- `agora` 声网集成, 详细说明见: [声网插件部署指南](./agora.md)
+- `livekit` 可自部署的解决方案: [Livekit 插件部署指南](./livekit.md)
-## Tailchat Meeting
-视频会议模块是 `Tailchat` 系列的一套重要组成部分。提供能力如下:
-- 语音通信
-- 视频会话
-- 屏幕共享
-- 虚拟背景
-- 文件传输
-- 聊天记录
+
+ 折叠内容已过时
+
+ 视频会议模块是 `Tailchat` 系列的一套重要组成部分。提供能力如下:
+ - 语音通信
+ - 视频会话
+ - 屏幕共享
+ - 虚拟背景
+ - 文件传输
+ - 聊天记录
-同时 `tailchat-meeting` 还可以作为独立单品存在,无需登录即可快速发起/加入会议
+ 同时 `tailchat-meeting` 还可以作为独立单品存在,无需登录即可快速发起/加入会议
-### 项目仓库
+ ### 项目仓库
-- 开源地址: [https://github.com/msgbyte/tailchat-meeting](https://github.com/msgbyte/tailchat-meeting)
-- 开源协议: GPL-3.0
+ - 开源地址: [https://github.com/msgbyte/tailchat-meeting](https://github.com/msgbyte/tailchat-meeting)
+ - 开源协议: GPL-3.0
-:::info 开源声明
-本项目基于 [edumeet](https://github.com/edumeet/edumeet) 和 [mediasoup](https://github.com/versatica/mediasoup) 进行二次开发而来。
+ :::info 开源声明
+ 本项目基于 [edumeet](https://github.com/edumeet/edumeet) 和 [mediasoup](https://github.com/versatica/mediasoup) 进行二次开发而来。
-在此基础上进行了功能追加与SDK实现以及代码优化。如果想要找到开源协议更加宽松(MIT + ISC 协议)的实现可以看一下这两个项目
-:::
+ 在此基础上进行了功能追加与SDK实现以及代码优化。如果想要找到开源协议更加宽松(MIT + ISC 协议)的实现可以看一下这两个项目
+ :::
-### 项目架构
+ ### 项目架构
-![](/img/architecture/meeting.excalidraw.svg)
+ ![](/img/architecture/meeting.excalidraw.svg)
+
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/livekit.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/livekit.md
new file mode 100644
index 00000000000..e4153c2eda2
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/livekit.md
@@ -0,0 +1,73 @@
+---
+sidebar_position: 20
+title: Livekit 插件部署指南
+---
+
+`Livekit` 是一款基于 `Apache-2.0` 开源协议的,允许自部署的开源视频会议解决方案,支持视频会议、视频直播、录制等场景
+
+你可以使用他的云端服务或者自部署。以下我会介绍怎么将 `Livekit` 集成到 `Tailchat` 中:
+
+## 云端服务
+
+首先进入Livekit云平台: [https://cloud.livekit.io/](https://cloud.livekit.io/), 首次进入要创建一下项目:
+
+此时会问一些问题,按照情况随便回答一下就行
+
+![](/img/advanced-usage/livekit/1.png)
+
+完成后我们会进入控制台主界面:
+
+![](/img/advanced-usage/livekit/2.png)
+
+### 获取需要的环境变量
+
+为使插件工作,我们需要以下环境变量:
+
+- `LIVEKIT_URL`
+- `LIVEKIT_API_KEY`
+- `LIVEKIT_API_SECRET`
+
+其中 `LIVEKIT_URL` 我们可以直接从控制台上获取,形如 `wss://********.livekit.cloud`
+
+在左边 `Settings` 菜单中,我们需要自行创建一对秘钥
+
+![](/img/advanced-usage/livekit/3.png)
+
+![](/img/advanced-usage/livekit/4.png)
+
+![](/img/advanced-usage/livekit/5.png)
+
+在这里我们可以获取到 `LIVEKIT_API_KEY` 和 `LIVEKIT_API_SECRET`.
+
+记录下来填入环境变量后启动 `Tailchat` 即可.
+
+### 启动 webhook
+
+![](/img/advanced-usage/livekit/6.png)
+
+如果你需要上述的频道在线提示能够即时更新,则需要单独启动一个 `webhook-receiver` 来接受来自 `livekit` 的推送并将接收到的事件转发给 `Tailchat`,让 `Tailchat` 来更新所有群组成员的显示。
+
+官方已为您准备好了一键启动的`docker-compose`配置, 就像 `admin` 一样:
+
+```bash
+wget https://raw.githubusercontent.com/msgbyte/tailchat/master/docker/livekit.yml
+docker compose -f docker-compose.yml -f livekit.yml up -d
+```
+
+此时你可以在docker运行的容器中看到一个 `tailchat-livekit-webhook-receiver` 服务.
+
+然后我们切换到 `livekit` 控制台,在 `webhook` 中添加我们的地址。
+
+![](/img/advanced-usage/livekit/7.png)
+
+一般为 `https:///livekit/webhook`, 记得选择与服务一致的密钥对
+
+![](/img/advanced-usage/livekit/8.png)
+
+> PS: 在云端应用可能会有一些延时。
+
+## 自部署
+
+自部署可见官方文档: [https://docs.livekit.io/oss/deployment/](https://docs.livekit.io/oss/deployment/)
+
+除了部署方式不一样与配置为先,其他的与使用云端服务一样
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/plugin.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/plugin.md
deleted file mode 100644
index 25e931ec6e2..00000000000
--- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/plugin.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-sidebar_position: 3
-title: 插件部署
----
-
-TODO
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/sdk.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/sdk.md
deleted file mode 100644
index 1a69daeaae9..00000000000
--- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/meeting/sdk.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-sidebar_position: 4
-title: SDK
----
-
-TODO
diff --git a/website/static/img/advanced-usage/livekit/1.png b/website/static/img/advanced-usage/livekit/1.png
new file mode 100644
index 00000000000..5ac527a31b8
Binary files /dev/null and b/website/static/img/advanced-usage/livekit/1.png differ
diff --git a/website/static/img/advanced-usage/livekit/2.png b/website/static/img/advanced-usage/livekit/2.png
new file mode 100644
index 00000000000..482880ba20e
Binary files /dev/null and b/website/static/img/advanced-usage/livekit/2.png differ
diff --git a/website/static/img/advanced-usage/livekit/3.png b/website/static/img/advanced-usage/livekit/3.png
new file mode 100644
index 00000000000..13e62328cea
Binary files /dev/null and b/website/static/img/advanced-usage/livekit/3.png differ
diff --git a/website/static/img/advanced-usage/livekit/4.png b/website/static/img/advanced-usage/livekit/4.png
new file mode 100644
index 00000000000..c31f96ec08a
Binary files /dev/null and b/website/static/img/advanced-usage/livekit/4.png differ
diff --git a/website/static/img/advanced-usage/livekit/5.png b/website/static/img/advanced-usage/livekit/5.png
new file mode 100644
index 00000000000..f6d8def6d73
Binary files /dev/null and b/website/static/img/advanced-usage/livekit/5.png differ
diff --git a/website/static/img/advanced-usage/livekit/6.png b/website/static/img/advanced-usage/livekit/6.png
new file mode 100644
index 00000000000..d8e75e380ab
Binary files /dev/null and b/website/static/img/advanced-usage/livekit/6.png differ
diff --git a/website/static/img/advanced-usage/livekit/7.png b/website/static/img/advanced-usage/livekit/7.png
new file mode 100644
index 00000000000..b1f05eb2776
Binary files /dev/null and b/website/static/img/advanced-usage/livekit/7.png differ
diff --git a/website/static/img/advanced-usage/livekit/8.png b/website/static/img/advanced-usage/livekit/8.png
new file mode 100644
index 00000000000..c26cff2a2e3
Binary files /dev/null and b/website/static/img/advanced-usage/livekit/8.png differ