使用 Docker 部署企业培训系统 PlayEdu

1)PlayEdu 介绍

官网:https://www.playedu.xyz/
GitHub:https://github.com/PlayEdu/PlayEdu

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

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

image.png

2)Docker 安装

在 Linux 服务器上以 Docker 方式安装。

// 1) 低版本 Docker 安装
yum install docker -y

----
// < '推荐' >
// 2) 高版本 Docker 安装
curl -fsSL https://get.docker.com/ | sh

----
// 关闭防火墙
systemctl disable --now firewalld
setenforce 0

// 启用 Docker
systemctl enable --now docker

----
// 3) 安装 Docker-Compose
curl -L https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose -v

image.png

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

vim 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 /data/docker/playedu/{minio,mysql,nginx,redis}

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

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

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

# 一键启动
docker-compose up -d

image.png

# 验证容器
docker ps -a

# 验证端口
netstat -nltp

image.png
image.png

3)PlayEdu 运行

PlayEdu 有多个应用入口

平台地址默认账号密码
API 服务http://你的服务器IP:9700--
PC 学员端口http://你的服务器IP:9800--
H5 学员端口http://你的服务器IP:9801--
后台管理端口http://你的服务器IP:9900admin@playedu.xyzplayedu
MinIO 管理端口http://你的服务器IP:50002usernamepassword

3.1)API 服务

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

企业微信截图_17031507949388.png

3.2)后台管理

在浏览器中输入 http://你的服务器IP:9808 就能看登录界面

image.png

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

image.png

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

配置项需要配置的值
AccessKeyusername
SecretKeypassword
Bucketplayedu
Endpointhttp://你的服务器IP:9809
Domainhttp://你的服务器IP:9809

image.png

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

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

需要先 创建部门

image.png

不过我想应该不会有人这样一个一个的添加,应该会使用 批量导入学员 才对
( 或者基于 LDAP 认证配置 )

image.png

3.3)PC 学员端

在浏览器中输入 http://你的服务器IP:9806 就能看登录界面

image.png

使用学员账号登录

image.png

3.4)H5 学员端

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

( **注意:**H5 页面的端口号为 9807

09b1b5fcd7736d6dca3427c6e1a27b0.jpg
ebff35f3549384d09b9c7e52e294166.jpg

3.5)个性化配置

image.png

3.6)MinIO 管理端

MinlO 管理后台:http://10.0.59.114:9810/login

这个主要用于调试,公网使用的话不建议对外暴露
**账户:**username
**密码:**password

image.png
image.png

4)新手入门

此文档为 PlayEdu 开源版使用手册,以下是 PlayEdu 开源版基础操作步骤:

步骤一:创建分类

功能:分类贯穿资源素材、线上课程,便于归纳以及快速筛选,分类支持无限级拓展。
操作:进入后台管理,点击左侧菜单栏栏中的「分类管理」,点击「新建分类」按钮。如需创建一级分类,所属上级默认为“作为一级分类”,如需创建二级分类,所属上级字段选择已创建过的一级分类。

步骤二:上传资源

功能:支持视频、图片、附件资源,用来组成课程相关内容。
操作:进入后台管理,点击左侧菜单栏中的「资源管理」,点击相应的资源类型上传支持的格式文件。如需将资源上传时直接分类,可选择已创建的分类之后,再上传文件。

步骤三:创建部门

功能:创建企业中部门架构,以便进行课程的批量指派,支持无限级分类拓展。(注意:在开源版本的课程的指派中,父级部门和子部门是相互独立的,指派父级部门并不会自动包含子部门。如果需要全部指派,请同时选择相关的父级部门和子部门)
操作:进入后台管理,点击左侧菜单栏栏中的「学员管理」,展开点击「部门」,点击「新建部门」按钮。如需创建一级部门,所属上级默认为“作为一级部门”,如需创建子部门,所属上级字段选择已创建过的一级部门。

步骤四:添加学员

功能:学员账号在后台手动创建,或者下载学员模板批量导入。
操作:进入后台管理,点击左侧菜单栏栏中的「学员管理,展开点击「学员」,点击「添加学员」,填写学员信息完成账号创建(其中学员所属部门支持多选),学员在学员端登录账号学习。

步骤五:新建课程

功能:创建并指派课程给学习部门后,该部门的学员将在学员端看到该课程,并可以进行学习。
操作:进入后台管理,点击左侧菜单栏栏中的「课程中心,展开点击「线上课」,点击「新建课程」,填写课程信息-指派学习部门-添加课程内容-完成课程创建(其中指派部门支持多选)。

步骤六:学员学习

以上步骤完成后,学员便可以登录学员端开始学习所属指派范围内的课程了,后台课程详情中会实时跟踪学员的学习数据。

4)参考文档

地址:https://www.playedu.xyz/
地址:https://www.playedu.xyz/book
地址:https://github.com/PlayEdu/PlayEdu
地址:https://gitee.com/playeduxyz/compose

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ctfshow sql 195-200

195 堆叠注入 十六进制 if(preg_match(/ |\*|\x09|\x0a|\x0b|\x0c|\x0d|\xa0|\x00|\#|\x23|\|\"|select|union|or|and|\x26|\x7c|file|into/i, $username)){$ret[msg]用户名非法;die(json_encode($ret));}可以看到没被过滤&#xff0c;select 空格 被过滤了&#xff0c;可…

KylinV10 安装 MySQL 教程(可防踩雷)

KylinV10 安装 MySQL 教程&#xff08;可防踩雷&#xff09; 1、直接用 apt 快捷安装 MySQL $ sudo apt-get update #更新软件源 $ sudo apt-get install mysql-server #安装mysql然后你会发现&#xff0c;KylinV10 安装畅通无阻&#xff0c;并没有设置密码的场景&#xff0c…

SQLiteStudio安装指南

本博文源于笔者想要打开sqlite3的db文件&#xff0c;于是下载了SQLiteStudio&#xff0c;下载了它&#xff0c;sqlite3的文件随便查看&#xff0c;这里从零开始安装 文章目录 1、搜索官网网址2、开始下载3、开始安装4、开始使用5、总结 1、搜索官网网址 官网地址&#xff1a;…

【Vue中给输入框加入js验证_blur失去焦点进行校验】

【Vue中给输入框加入js验证_blur失去焦点进行校验】 通俗一点就是给输入框加个光标离开当前文本输入框时&#xff0c;然后对当前文本框内容进行校验判断 具体如下&#xff1a; 1.先给文本框加属性 blur“validatePhoneNumber” <el-input v-model“entity.telephone” blur…

挑选办公网盘指南:2023年值得推荐的办公网盘品牌

企业团队在选择办公网盘时&#xff0c;可以通过什么维度进行工具好坏的评判&#xff1f;如何判断网盘的优劣&#xff1f;2023年国内又有哪些值得推荐的网盘品牌呢&#xff1f; 首先是如何选择网盘&#xff1f; 在网盘选择时&#xff0c;我们可以从以下四个方面进行评测&#x…

liunx下用C++使用freetype库在opencv上打中文字

1、/visualizer.cpp:11:10: fatal error: ft2build.h: 没有那个文件或目录 11 | #include <ft2build.h> freetype安装问题&#xff0c;要把文件拉到根目录&#xff0c;不然找不到文件 2、编译失败找不到定义 /usr/bin/ld: CMakeFiles/interactive_face_detection_de…

爬虫快速入门

爬虫基础入门 爬虫原理1. HTTP协议与WEB开发1.简介2.请求协议与响应协议3.请求方式: get与post请求区分1区分2 环境准备1.安装python环境2.安装requests库安装方式验证安装成功 三种反爬机制1.UA反爬2.referer反爬3.cookie反爬 请求参数get请求以及查询参数post请求以及请求体参…

【终极教程】cocos2dx-js 分批次混淆压缩js文件

​ 说明: 1> 由于我们当前游戏框架的结构是平台形式的就是一个大厅里面有若干个子游戏,所以在发布的时候得区分子游戏和大厅了解了一下 project.json 里面有一个 jsList 可以把所有放进去的js文件压缩混淆成一个大的文件但是我们游戏的子游戏非常多 这样子弄显然不合适&…

sql_lab靶场搭建以及存在的一些问题

sql_lab靶场搭建问题 首先检查小皮版本 把小皮改到5.3.29版本如果没有可以直接点击更多版本进行选择安装 当版本不对时则会暴出这种错误 SETTING UP THE DATABASE SCHEMA AND POPULATING DATA IN TABLES: Fatal error: Uncaught Error: Call to undefined function mysql_co…

如何把大容量10G的文件分享给别人?三个方法收藏备用!

如果文件过大&#xff0c;比如10G的文件发送起来简直问题重重&#xff0c;不仅费时费流量而且还很可能在发送的中途失败&#xff0c;这时候就需要借助一些压缩软件对文件进行压缩&#xff0c;下面就向大家介绍3个好用的压缩软件~ 方法一&#xff1a;使用嗨格式压缩大师压缩后发…

安全、效率、成本:混合云数据库管理的三重挑战!

随着业务需求的不断演变&#xff0c;数据在多云平台之间流动&#xff0c;给数据库管控带来了新的层次和复杂性。这给数据库管控带来了前所未有的挑战。企业可能面临着一系列问题&#xff0c;包括安全性挑战、管理复杂性、性能与效率问题、成本控制难题、缺乏统一的管理视图以及…

【hcie-cloud】【9】华为云Stack_Deploy部署工具介绍

文章目录 前言华为云Stack Deploy简介华为云Stack Deploy工具简介华为云Stack Deploy工具部署范围华为云Stack Deploy工具节点网络要求华为云Stack Deploy工具部署流程 华为云Stack Deploy功能介绍部署工具工程场景部署流程介绍创建工程 - 基本信息填写创建工程 - 基本参数选择…

jvm相关命令操作

查看jvm使用情况 jmap -heap PID 查看线程使用情况 jstack pid 查看当前线程数 jstack 21294 |grep -E (#[0-9]) -o -c 查看系统线程数 top -H top -Hp pid #查看具体的进程中的线程信息 使用 jps 命令查看配置了JVM的服务 查看某个进程JVM的GC使用情况 jstat -gc 进程…

钢销,到2027年复合年增长率为2.7%

钢铁是建筑、汽车和制造业等各个行业广泛使用的材料。由于对钢铁产品的需求不断增加&#xff0c;钢铁销售市场在过去几年出现了显着增长。在本次分析中&#xff0c;我们将审视全球钢材销售市场和中国钢材销售市场的发展趋势。全球钢材销售市场分析&#xff1a; 全球钢铁市场预计…

【EI会议征稿】2024年生成式人工智能与信息安全国际学术会议(GAIIS 2024)

2024年生成式人工智能与信息安全国际学术会议&#xff08;GAIIS 2024&#xff09; 2024 International Conference on Generative Artificial Intelligence and Information Security 2024年生成式人工智能与信息安全国际学术会议&#xff08;GAIIS 2024&#xff09;将于 202…

LeetCode:162. 寻找峰值、1901. 寻找峰值 II(二分 C++)

目录 162. 寻找峰值 题目描述&#xff1a; 实现代码与解析&#xff1a; 二分 原理思路&#xff1a; 1901. 寻找峰值 II 题目描述&#xff1a; 实现代码与解析&#xff1a; 二分 原理思路&#xff1a; 162. 寻找峰值 题目描述&#xff1a; 峰值元素是指其值严格大于左…

sqlserver同步-日志传送

文章目录 先决条件安全性配置日志传送删除日志传送 (SQL Server)显示服务器实例上的事务日志传送状态报告监视日志传送 (Transact-SQL)故障转移到日志传送辅助服务器 (SQL Server)为受控故障转移做准备故障转移检查备份的日志文件是否都传送到辅助库把辅助库的日志文件还原到辅…

如何写好接口自动化测试脚本

谈到接口测试&#xff0c;大家关注更多的是哪个工具更优秀&#xff0c;更好用。但是很少人关注到接口测试用例的设计问题&#xff0c;也很少人会去写接口用例&#xff0c;都代码化了嘛&#xff0c;还写什么用例&#xff0c;是吧&#xff1f; 这样真的对么&#xff1f;我们是不…

京东2023年度各行业数据报告-2023全年度冰箱十大热门品牌销量榜单

今年&#xff0c;受家电市场整体大盘下滑的影响&#xff0c;冰箱市场的总体产销量较上年有降幅。 根据鲸参谋电商数据分析平台的相关数据显示&#xff0c;2023年京东平台上冰箱市场的全年销量为1300万&#xff0c;同比降低约9%&#xff1b;销售额将近320亿&#xff0c;同比降低…

UNet医学图像分割网络

UNet网络结构 对于医学图像的分割任务&#xff0c;这里使用UNet网络实现CT影响的病灶区域分割任务。记一篇学习笔记。 1、UNet网络结构 原始图片大小为(512, 512), 根据CT数据像素值分布的特征&#xff0c;对于image保留[-1024, 1024]范围内的像素&#xff0c;并归一 化处理到…