企业培训私有化解决方案PlayEdu

本文应网友 林枫 的要求而折腾;

什么是 PlayEdu

PlayEdu 是一款适用于搭建内部培训平台的开源系统,旨在为企业/机构打造自己品牌的内部培训平台。PlayEdu 基于 Java + MySQL 开发;采用前后端分离模式;前端采用 React18 为核心框架,后端采用 SpringBoot3 为核心框架。提供部门管理、学员管理、在线视频学习、学员进度追踪、视频私有化存储等培训主要功能。

PlayEdu 分为 开源版企业版,企业版本在开源功能的基础上提供了包括视频云端存储、视频加密、音频学习、文档(PDF|WORD|PPT)在线学习、在线考试、学习计划培训等功能。

安装

在群晖上以 Docker 方式安装。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
version: "3.5"

services:
playedu:
image: registry.cn-hangzhou.aliyuncs.com/playedu/light:1.5.2
container_name: playedu-web
restart: always
ports:
- "9805:80"
- "9806:9800"
- "9807:9801"
- "9808:9900"
volumes:
- ./nginx:/var/log/nginx
environment:
- DB_HOST=mysql
- DB_PORT=3306
- DB_NAME=playedu
- DB_USER=root
- DB_PASS=playeduxyz
- REDIS_HOST=redis
- REDIS_PASS=playeduxyz
- REDIS_PORT=6379
- REDIS_DB=2
- SA_TOKEN_IS_CONCURRENT=false
- SA_TOKEN_JWT_SECRET_KEY=playeduxyz
depends_on:
- mysql
- redis
- minio

redis:
image: redis
container_name: playedu-redis
restart: always
volumes:
- ./redis:/data

mysql:
image: mysql:5.7
container_name: playedu-mysql
restart: always
volumes:
- ./mysql:/var/lib/mysql
environment:
- MYSQL_DATABASE=playedu
- MYSQL_ROOT_PASSWORD=playeduxyz
- TZ=UTC

minio:
image: bitnami/minio:latest
container_name: playedu-minio
restart: always
ports:
- "9809:9000"
- "9810:9001"
volumes:
- ./minio:/bitnami/minio/data
environment:
- MINIO_ROOT_USER=username
- MINIO_ROOT_PASSWORD=password
- MINIO_DEFAULT_BUCKETS=playedu:public

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 playedu 和 子目录
mkdir -p /volume1/docker/playedu/{minio,mysql,nginx,redis}

# 进入 playedu 目录
cd /volume1/docker/playedu

# 修改 minio 目录权限
chmod a+rwx minio

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

# 一键启动
docker-compose up -d

运行

PlayEdu 有多个应用入口

平台 地址 默认账号 密码
API 服务 http://群晖IP:9805 - -
PC 学员端口 http://群晖IP:9806 - -
H5 学员端口 http://群晖IP:9807 - -
后台管理端口 http://群晖IP:9808 admin@playedu.xyz playedu
MinIO 管理端口 http://群晖IP:9810 username password

API 服务

在浏览器中输入 http://群晖IP:9805 只能看到 系统正在运行中...,因为这个端口提供的是 API 服务,而不是 Web 服务

后台管理

在浏览器中输入 http://群晖IP:9808 就能看登录界面

默认的管理员账号:admin@playedu.xyz,密码:playedu

进入 系统设置 –> 系统配置 –> MinIO存储 设置存储

配置项 需要配置的值
AccessKey username
SecretKey password
Bucket playedu
Endpoint http://群晖IP:9809
Domain http://群晖IP:9809

设置完成后,可以上传资源进行验证,如果 资源管理 中上传显示 系统错误,说明 minio 设置还存在问题

通过 学员管理添加学员,为学员设置部门、账号、密码等信息

需要先创建 部门

不过我想应该不会有人这样一个一个的添加,应该会使用 批量导入学员 才对

PC 学员端

在浏览器中输入 http://群晖IP:9806 就能看登录界面

用学员账号登录

H5 学员端

H5 页面适合移动端,在手机浏览器中输入 http://群晖IP:9807 就能看登录界面

MinIO 管理端

这个主要用于调试,公网使用的话不建议对外暴露

参考文档

PlayEdu/PlayEdu: PlayEdu 是一款适用于搭建内部培训平台的开源系统,旨在为企业/机构打造自己品牌的内部培训平台。
地址:https://github.com/PlayEdu/PlayEdu

compose: PlayEdu docker-compose 运行方案
地址:https://gitee.com/playeduxyz/compose

PlayEdu开源企业内部|机构学员|培训系统 - 白书科技
地址:https://www.playedu.xyz/