
<details> <summary>📂 serv00部署教程</summary>
注册地址 :point_right: https://livekit.io/ ,右上角点击 Try LiveKit
输入 APP NAME 并 CONTINUE 创建项目(进入后一些选项自己看着选)
点击 :gear:Setting ,选择 KEY 点击 Personal Keys下唯一的一项,弹出 Key generated 并点击 REVEAL SECRET
将这三项WEBSOCKET URL 、API KEY 、SECRET KEY全部复制保存下来。
后面用于环境变量的修改。
开启应用权限
开放随机端口
在Port list中可以看到端口已创建
进入创建域名的public_html文件夹,点击Send→From computer上传文件
(因为serv00使用yarn时会缺失很多构建的文件,我也不知道少哪些,并且在serv00上使用yarn命令也会占用将近1G内存。所以将原项目整体用Debian进行yarn构建打包了,感兴趣的也可以自己打包一下)~Release下载地址📥
解压文件
#进入创建域名的`public_html` 文件下
cd domains/这里创建.域名绑定端口.com/public_html
#解压文件
unzip anonymous-chat-room.zip
进入anonymous-chat-room文件夹,右击 .env.local 选择 View/Eidt→Choose other… →Source Eidtor 打开文件
将刚才复制保存的三个密钥 一 一 对应修改环境变量并保存
依然在anonymous-chat-room文件夹下,创建名为 start.sh 的启动(运行)脚本,并粘贴以下文本
#!/bin/bash
# 加载用户环境变量
source ~/.bashrc
# 进入项目目录
cd /usr/home/你的serv00名字/domains/这里创建.域名保绑定端口.com/public_html/anonymous-chat-room
# 设置环境变量
export LIVEKIT_API_KEY=这里填入API KEY
export LIVEKIT_API_SECRET=这里填入SECRET KEY
export LIVEKIT_URL=这里填入WEBSOCKET URL
export NEXT_PUBLIC_LK_TOKEN_ENDPOINT=/api/token
# 启动前验证变量
echo "验证环境变量:"
echo "LIVEKIT_API_KEY: $LIVEKIT_API_KEY"
echo "LIVEKIT_API_SECRET: $LIVEKIT_API_SECRET"
echo "LIVEKIT_URL: $LIVEKIT_URL"
echo "NEXT_PUBLIC_LK_TOKEN_ENDPOINT: $NEXT_PUBLIC_LK_TOKEN_ENDPOINT"
# 启动服务(使用绝对路径)
/usr/local/bin/yarn start -p 刚开的端口
# 进入项目目录
cd domains/这里创建.域名保绑定端口.com/public_html/anonymous-chat-room
# 赋权
chmod +x start.sh
# 进入项目目录
cd domains/这里创建.域名保绑定端口.com/public_html/anonymous-chat-room
#启动运行脚本 start.sh
./start.sh
可以看到项目启动了开始监听了,这个时候已经可以访问域名了,但是退出SSH会挂断监听。
# 进入项目目录
cd domains/这里创建.域名保绑定端口.com/public_html/anonymous-chat-room
#挂起运行脚本
nohup ./start.sh > /dev/null 2>&1 &
这个时候便不需要SSH面板监听即可正常访问域名了,但是保险起见再创建一个Cron Jobs(不使用nohup命令,直接创建Cron Job也是可以的,稍等片刻即可访问域名)
/usr/home/你的serv00名字/domains/这里创建.域名保绑定端口.com/public_html/anonymous-chat-room/start.sh
至此部署完成,可以愉快的和基友开黑了。 项目上说LiveKit一个月50G流量,用完后会自动关闭,应该也够用了,不够的话只需要去多注册几个账号,然后修改 .env.local和start.sh中的三个Key就行,修改完成后关闭进程重启即可。 这里建议大家有空的可以自行修改好 .env.local 文件的环境变量打包,这样进入房间的速率会更快些,性能表现更好一点。
<details>
<summary>项目展示图</summary>
</details>
</details>