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

news2025/1/10 20:59:32

在这里插入图片描述

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

什么是 PlayEdu

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

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

在这里插入图片描述

安装

在群晖上以 Docker 方式安装。

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

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

然后执行下面的命令

# 新建文件夹 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:9808admin@playedu.xyzplayedu
MinIO 管理端口http://群晖IP:9810usernamepassword

API 服务

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

在这里插入图片描述

后台管理

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

在这里插入图片描述

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

在这里插入图片描述

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

配置项需要配置的值
AccessKeyusername
SecretKeypassword
Bucketplayedu
Endpointhttp://群晖IP:9809
Domainhttp://群晖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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1282328.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在 App 设计工具的代码视图中管理代码

目录 管理组件、函数和属性 识别代码中的可编辑部分 编写 App 管理 UI 组件 管理回调 在 App 中共享数据 在多个位置运行的单一源代码 创建输入参数 为您的 App 添加帮助文本 限制您的 App 一次只运行一个实例 修复代码问题和运行时错误 个性化代码视图外观 更改颜…

SourceTree for Mac: 您的个人Git仓库管理专家

在当今的软件开发世界中,版本控制系统如Git的重要性日益凸显。它们帮助开发者在协作开发过程中保持代码的同步和有序。如果你是一位Mac用户,并且正在寻找一款简单易用的Git客户端工具,那么SourceTree for Mac可能是你的最佳选择。 SourceTre…

服务异步通讯

四、服务异步通讯 4.1初始MQ 4.1.1同步通讯和异步通讯 同步调用的优点: 时效性较强,可以立即得到结果 同步调用的问题: 耦合度高 性能和吞吐能力下降 有额外的资源消耗 有级联失败问题 异步通信的优点: 耦合度低 吞吐量提升 故障隔离 流量削峰 异步通信的缺点: …

Python更改YOLOv5、v7、v8,实现调用val.py或者test.py后生成pr.csv,然后再整合绘制到一张图上(使用matplotlib绘制)

1. 前提 效果图 不错的链接:YOLOV7训练模型分析 关于map的绘图、loss绘图,可参考:根据YOLOv5、v8、v7训练后生成的result文件用matplotlib进行绘图 v5、v8调用val.py,v7调用test.py(作用都是一样的,都是…

根据YOLOv5、v8、v7训练后生成的result文件用matplotlib进行绘图

1. 效果图 2. 认识result内容 2.1 YOLOv7的result.txt 参考链接:YOLOv7结果分析,txt文件内容 0/299 14.7G 0.07522 0.009375 0.02266 0.1073 58 640 0.0002958 0…

【开源】基于JAVA的考研专业课程管理系统

项目编号: S 035 ,文末获取源码。 \color{red}{项目编号:S035,文末获取源码。} 项目编号:S035,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 考研高校模块2.3 高…

力扣572:另一棵树的子树

力扣572:另一棵树的子树 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所…

树_路径总和

//给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 // targetSum 。如果存在,返回 true ;否则,返回 false 。 // // 叶子节点 是指…

线程池怎么用?---实例讲解

线程池使用实例 先写一个配置类 /*** 线程池配置*/ Configuration public class ThreadPoolConfig {//定义线程前缀public static final String NAME_PRE"test";/*** ExecutorService 这个对象就是线程池,可以点进去他的源码看看* Bean,将ge…

【零基础入门Python】Python If Else流程控制

✍面向读者:所有人 ✍所属专栏:零基础入门Pythonhttps://blog.csdn.net/arthas777/category_12455877.html Python if语句 Python if语句的流程图 Python if语句示例 Python If-Else Statement Python if else语句的流程图 使用Python if-else语句 …

【EI稳定检索】第三届能源利用与自动化国际学术会议(ICEUA 2024)

第三届能源利用与自动化国际学术会议(ICEUA 2024) 2024 3rd International Conference on Energy Utilization and Automation (ICEUA 2024) ICEUA 2024已成功申请JPCS - Journal of Physics: Conference Series (ISSN:1742-6596)---独立出版 2024年…

【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.5p1(亲测无问题,建议收藏)

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

模板、STL标准模板库

模板 通常 对 具有相同要求的结果或者类 提供一个模板,根据实际使用时传过来的数据类型,决定函数和类的具体实现。 模板可以让类或者函数支持一种类型,这种通用类型在实际运行的过程中可以使用任何数据类型。 这种编程方式也成为"泛型编…

uniapp自定义进度条组件

目标效果 原型设计为这样的样式&#xff0c;但是现有的进度条都无法满足需求&#xff0c;于是编写组件实现。 设计引用格式为 <zLineProgress :total"15" :val"7" title"你好吗" />定义组件 <template><view style"hei…

TikTok动态展示广告是什么?

TikTok 的动态展示广告 (DSA) 是一种定制视频广告&#xff0c;它们是根据广告模板实时创建的&#xff0c;并填充定期更新的产品目录中的产品信息。DSA 是 TikTok 版本的动态产品广告&#xff0c;是社交广告中受到卖家欢迎的一种形式&#xff0c;主要是在应用程序和社交广告平台…

【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(1)spring boot项目搭建、vue项目搭建、微信小程序项目搭建

项目笔记为项目总结笔记,若有错误欢迎指出哟~ 【项目专栏】 【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(1)项目搭建 持续更新中… java+vue+微信小程序项目】从零开始搭建——健身房管理平台 项目简介Java项目搭建(IDEA)1.新建项目2.项目类型3.项目设置4…

❀My学习Linux命令小记录(10)❀

目录 ❀My学习Linux命令小记录&#xff08;10&#xff09;❀ 36.fold指令 37.expr指令 38.iperf指令 39.telnet指令 40.ssh指令 ❀My学习Linux命令小记录&#xff08;10&#xff09;❀ 36.fold指令 功能说明&#xff1a;控制文件内容输出时所占用的屏幕宽度&#xff0c…

Android12之MediaCodec硬编解码调试手段(四十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

YOLOv8创新魔改教程(二)如何添加注意力机制

YOLOv8创新魔改教程&#xff08;二&#xff09;如何添加注意力机制 &#xff08;一&#xff09;找代码 github找各种注意力机制的代码 &#xff08;二&#xff09;融合 1.创建文件 在ultralytics/nn/attention.py创建attention.py 文件 将找到的代码粘贴进来 2.修改task…

MySQL find_in_set函数的深入解析与应用

theme: smartblue 在数据库操作中&#xff0c;我们经常会遇到需要处理以逗号分隔的字符串&#xff0c;并且需要根据这些字符串进行查询的情况。MySQL提供了一个非常实用的函数FIND_IN_SET()来处理这种特定的查询需求。本文将深入解析FIND_IN_SET()函数的使用方法&#xff0c;并…