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

news2024/9/26 5:20:30

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

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

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

相关文章

C语言--直接插入排序【排序算法|图文详解】

一.直接插入排序介绍&#x1f357; 直接插入排序又叫简单插入排序&#xff0c;是一种简单直观的排序算法&#xff0c;它通过构建有序序列&#xff0c;对于未排序的数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。 算法描述&#xff1a; 假设要排序…

Golang实现JAVA虚拟机-运行时数据区

一、运行时数据区概述 JVM学习&#xff1a; JVM-运行时数据区 运行时数据区可以分为两类&#xff1a;一类是多线程共享的&#xff0c;另一类则是线程私有的。 多线程共享的运行时数据区需要在Java虚拟机启动时创建好&#xff0c;在Java虚拟机退出时销毁。对象实例存储在堆区类信…

2023.12.22 关于 Redis 数据类型 String 常用命令

目录 引言 String 类型基本概念 SET & GET SET 命令 GET 命令 MSET & MGET MSET 命令 MGET 命令 SETNX & SETEX & PSETEX SETNX 命令 SETEX 命令 PSETEX 命令 计数命令 INCR 命令 INCRBY 命令 DECR 命令 DECRBY 命令 INCRBYFLOAT 命令 总结…

【GoLang】Go语言几种标准库介绍(一)

你见过哪些令你膛目结舌的代码技巧&#xff1f; 文章目录 你见过哪些令你膛目结舌的代码技巧&#xff1f;前言几种库bufio&#xff08;带缓冲的 I/O 操作&#xff09;特性示例 bytes (实现字节操作)特性示例 总结专栏集锦写在最后 前言 随着计算机科学的迅猛发展&#xff0c;编…

复试情报准备

英语自我介绍&#xff0c;介绍完老师会根据你的回答用英语问你问题&#xff0c;比如介绍一下你的本科学校&#xff0c;或者家乡什么的。计网过一遍&#xff0c;会问两道题。接下来是重点&#xff0c;我当时是根据我成绩单&#xff0c;问了我本科学过的科目&#xff0c;比如pyth…

【Docker容器精解篇 】深入探索Docker技术的概念与容器思想

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《docker容器精解篇》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言一、Docker 的介绍1.1 Docker 的由来1.1.1 环境不一致1.1.2 隔离性1.1.3 弹性伸缩1.1.4 学习成本 1.2 Doc…

推荐五个免费的网络安全工具

导读&#xff1a; 在一个完美的世界里&#xff0c;信息安全从业人员有无限的安全预算去做排除故障和修复安全漏洞的工作。但是&#xff0c;正如你将要学到的那样&#xff0c;你不需要无限的预算取得到高质量的产品。这里有SearchSecurity.com网站专家Michael Cobb推荐的五个免费…

网站检测有哪些好用的监测工具

目前网站监测工具良莠不齐&#xff0c;网站监控工具有很多&#xff0c;选择合适功能强大的网站监控工具&#xff0c;对我们的业务安全有非常大的帮助。目前市场上好用的一些网站监测工具如德迅云眼、观测云等&#xff0c;它们都提供了网站性能监测、安全防护、故障预警等功能&a…

天呐,我找到财务报表开发的通关密码了!

要问我们IT最不愿做的报表开发有哪些&#xff0c;首当其冲的一定是财务分析。我对开发财务报表这事就一个态度&#xff1a;只要不谈开发财务报表&#xff0c;我们就还是好朋友&#xff0c;谈了会怎样&#xff1f;不好意思&#xff0c;我会破大防。 1、财务的分析逻辑和需求&am…

Azure Machine Learning - 如何使用 GPT-4 Turbo with Vision

介绍如何在Azure中使用GPT-4 Turbo with Vision 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕&#xff0c;复旦机器人智能实验室成员&#xff0c;阿里云认证的资深架构师&#xff0c;项目管理…

加速计算,为何会成为 AI 时代的计算力“新宠”

随着科技的发展&#xff0c;处理大量数据和进行复杂计算的需求越来越高&#xff0c;人工智能、大数据和物联网等领域更是如此&#xff0c;传统的计算方式已经无法满足这些需求。因此&#xff0c;加速计算作为一种现代计算方式&#xff0c;成了必要的手段。加速计算具有前所未有…

项目应用多级缓存示例

前不久做的一个项目&#xff0c;需要在前端实时展示硬件设备的数据。设备很多&#xff0c;并且每个设备的数据也很多&#xff0c;总之就是数据很多。同时&#xff0c;设备的刷新频率很快&#xff0c;需要每2秒读取一遍数据。 问题来了&#xff0c;我们如何读取数据&#xff0c…

AutoBookmark Adobe Acrobat快速自动批量添加书签/目录

前言 解决问题&#xff1a;Adobe Acrobat快速自动批量添加书签/目录, 彻底告别手动添加书签的烦恼 AutoBookmark 前言1 功能简介2 实现步骤2.1 下载插件2.2 将插件复制到Acrobat文件夹下2.3 自动生成书签 1 功能简介 我们在查看PDF版本的论文或者其他文件的时候, 虽然相比较于…

傻瓜式教学Docker 使用docker compose部署 php nginx mysql

首先你可以准备这个三个服务,也可以在docker compose 文件中 直接拉去指定镜像,这里演示的是镜像服务已经在本地安装好了,提供如下: PHP # 设置基础镜像 FROM php:8.2-fpm# install dependencies RUN apt-get update && apt-get install -y \vim \libzip-dev \libpng…

goland错误:该版本的1%与您运行的windows版本不兼容

创建第一个go语言的hello world后&#xff0c;报错。 需要将 package gotest1 改为 package main main是主程序的入口

【leetcode100-020】【矩阵】旋转图像

【题干】 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 【思路】 怎么还整上小学奥数题了&#xff08;不是对角翻转水平/垂…

第11章 GUI Page436 使用缓冲DC, wxBufferedPaintDC

所谓“缓冲DC”&#xff0c;是指将所有图元都先划到一个人眼看不到的“设备上下文”之上&#xff0c;最后再一次性复制到真正的屏幕DC之上&#xff0c;这样我们就看不到中间画的过程了&#xff0c;也就不会感到闪烁了。 注意&#xff0c;这时不能解除ScrolledWindow1的背景擦除…

代码签名的功能实现原理

代码签名是一种用来确保软件或程序来源和完整性的技术&#xff0c;它通过对程序文件进行数字签名和验证来保证软件未被篡改过。下面我将为您介绍代码签名的功能实现原理。 1. 数字证书颁发机构&#xff08;CA&#xff09;&#xff1a; 代码签名的实现依赖于权威的数字证书颁发…

JS 现代化的深克隆

前端手写深拷贝/深克隆是一道回头率超高的笔试题&#xff0c;但笔试版一般不适用于生产环境&#xff0c;JSON 的奇技淫巧和 Lodash 的工具函数也各有缺点。 您知道吗&#xff0c;JS 现在有一种原生方法可以深层复制对象&#xff1f; structuredClone 函数内置在 JS 运行时中&a…

极智芯 | 解读最新全球半导体设计厂商排名 英伟达一骑绝尘 中国韦尔半导体上榜

欢迎关注我,获取我的更多技术分享 大家好,我是极智视界,本文分享一下 最新全球芯片设计厂商排名 英伟达一骑绝尘 中国韦尔半导体上榜。 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 最近,TrendForc…