Screego 是一个用于实时协作的在线会议工具,基于 WebRTC 技术,能够轻松地进行视频会议和屏幕共享。在本教程中,我们将学习如何使用 Docker 来部署 Screego 服务器,并确保用户的密码哈希安全地存储在 user.txt 文件中。

前提条件

在开始之前,请确保你已经具备以下条件:

  1. 安装 Docker: 请确保你的服务器上已经安装了 Docker。如果尚未安装,可以参考 Docker 官方文档 进行安装。

  2. 创建一个工作目录: 在你的服务器上创建一个目录用于存放配置文件和用户文件。

mkdir screego
cd screego

步骤 1:创建用户文件

首先,我们需要创建一个 user.txt 文件来存储用户的密码哈希。你可以在本地创建这个文件,也可以在容器内创建。

touch user.txt  # 创建一个空的 user.txt 文件

确保该文件的权限是可写的。

步骤 2:运行 Screego 容器

接下来,我们将运行 Screego 容器,并在启动前执行用户哈希命令。使用以下命令启动 Docker 容器:

docker run -it \
--name screego \
-e SCREEGO_AUTH_MODE=all \
-e SCREEGO_TURN_PORT_RANGE=50000:50200 \
-e SCREEGO_USERS_FILE=/user.txt \
-p 5050:5050 \  # HTTP 服务端口
-p 3478:3478 \   # TURN 服务端口
-p 50000-50200:50000-50200/udp \  # TURN 数据中继端口
-v ./user.txt:/user.txt \  # 挂载用户文件
--restart always \
--entrypoint /bin/bash \
ghcr.io/screego/server:latest -c "./screego hash --name 'imlala' --pass 'password' >> /user.txt && exec ./screego"

命令详解

  • --name screego: 指定容器名称为 screego

  • -e SCREEGO_AUTH_MODE=all: 设置身份验证模式为 all,要求用户登录。

  • -e SCREEGO_USERS_FILE=/user.txt: 指定用户文件的位置。

  • -p: 映射主机的端口到容器中,以便外部访问。

  • -v ./user.txt:/user.txt: 将本地的 user.txt 文件挂载到容器内。

  • --entrypoint /bin/bash: 使用 Bash 作为入口点,以便执行多个命令。

  • -c: 在容器内执行的命令,这里我们首先生成用户哈希,并将其写入 user.txt,然后启动 Screego 服务器。

步骤 3:访问 Screego

一旦容器启动成功,你就可以通过浏览器访问 Screego 服务器,访问地址为:

http://<你的服务器IP>:5050

在这里,替换 <你的服务器IP> 为你的实际服务器 IP 地址。

步骤 4:添加更多用户

如果你需要添加更多用户,只需运行以下命令以生成新的用户哈希并追加到 user.txt 中:

docker exec -it screego ./screego hash --name 'new_user' --pass 'new_password' >> /user.txt

注意事项

  • 确保 user.txt 文件的权限设置为可写,以避免写入失败。

  • 如果在运行容器时 user.txt 文件不存在,Docker 会创建一个空文件;请确保在文件中预先添加了一些内容或根据需要调整。

  • 为了保护用户信息,请确保选择强密码,并定期更新。

结论

通过以上步骤,你已经成功在 Docker 中部署了 Screego 服务器,并能够安全地管理用户凭证。你可以根据需要扩展和修改配置,以满足具体的需求。

如果你有任何问题或建议,欢迎在评论区留言讨论!