开放式远程教学平台Edrys


【突发状况】:主站 vercel 部署失败,看来根源应该还是在 github 上,所以今天的文章只有 https://laosu.ga 上才能看到,不想再装 Vercel CLI,等恢复吧


什么是 Edrys ?

Edrys 是一款开源应用程序,可帮助您进行远程教学。

功能特点:

  • 直播教室:点击学生与他们交谈,或创建房间并将学生拖入和拖出
  • 远程实验室:允许学生远程和异步地与您的真实实验室设备进行交互
  • 模块化:通过组合模块构建您的 Class 或使用简单的实时 API 制作您自己的 Class
  • 易于启动:下载并运行即可启动,无需设置数据库或任何其他依赖项
  • 隐私友好:存储最少学生 PII 的无密码身份验证
  • 快速和现代:基于 DenoVue,代码库特意变小
  • 永远免费和开源:没有付费功能或锁定

准备域名

因为需要 https 协议的支持,所以先要做反代,实际访问地址为 :https://ed.laosu.ml:444

域名 局域网地址 备注
ed.laosu.ml http://192.168.0.197:8355 Edrys 的访问地址

Nginx Proxy Manager 做反代处理,其中:

  • 192.168.0.197 为群晖的 IP
  • 8355 是准备分配给 edrys 的端口

协议没问题的话就都勾上了

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 edrys ,选择第一个 edrys,版本选择 latest

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8355 8000

环境变量

如果你设置了邮件相关的变量

注册时,会从邮件中收到验证码

否则的话,只能到日志中找验证码了

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
# 运行容器
docker run -d \
--restart unless-stopped \
--name edrys \
-p 8355:8000 \
edrys/edrys

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
version: '3'

services:
edrys:
image: edrys/edrys
container_name: edrys
restart: unless-stopped
ports:
- 8355:8000

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 edrys 和 子目录
mkdir -p /volume2/docker/edrys

# 进入 edrys 目录
cd /volume2/docker/edrys

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 https://ed.laosu.ml:444 就能看到主界面

老苏的域名没有备案,所以实际访问时是需要带上端口的

填完邮件后,会显示需要输入验证码

验证码可以在日志中找到

验证通过之后

输入你的名字

最后必须要有一个空格,不然无法点 coninue

不是长度的问题,强行回车也可以;

接下来创建班级

class name 不能使用中文

可以添加教师和学生

模块

模块有点像插件,可以通过导入方式,为 edrys 增加视频、白板等功能,更多模块可以访问:https://github.com/topics/edrys-module

视频会议模块的地址:https://edrys-org.github.io/module-video-chat/

一定别忘记了后面 /,不然会显示 TypeError

再加个白板

会议

进入教室,首先会看到基于 Excalidraw 的白板

滚动鼠标滚轮向上,是基于 jitsi 的视频会议

不要纠结图像的质量,N 年前的 USB摄像头

有时候会连不上,毕竟 jitsi 服务器不是你自己搭建的

最上面是房间的信息

把链接分享给学生,学生就可以连上来上课了

参考文档

edrys-org/edrys: Edrys is an open and modular remote teaching platform (and the first live LMS)
地址:https://github.com/edrys-org/edrys

edrys/Deployment.md at main · edrys-org/edrys
地址:https://github.com/edrys-org/edrys/blob/main/docs/Deployment.md