开源文库系统moredoc

news2025/1/21 1:03:37

在这里插入图片描述

什么是 moredoc ?

moredoc 中文名 魔豆文库,是基于 golang 开发的类似百度文库、新浪爱问文库的开源文库系统,支持 TXTPDFEPUBMOBIOffice 等格式文档的在线预览与管理,为 dochub 文库(github, gitee )的重构版本。

如果不想自己搭建,可以去官方搭建的演示站点体验

  • 网址:https://moredoc.mnt.ltd
  • 账号:admin
  • 密码:mnt.ltd

建数据库

老苏用了群晖自带的 MariaDB 10 数据库。

在这里插入图片描述

phpMyAdmin 中创建名为 moredoc 的空数据库。

为便于说明,假设数据库密码为 123456

在这里插入图片描述

所以根据上面的设置,最后得到的数据库相关的参数如下:

  • 数据库主机:192.168.0.197,与群晖主机 IP 一致;
  • 数据库端口:3307
  • 数据库用户:moredoc
  • 数据库密码:123456
  • 数据库库名:moredoc,因为勾选了与用户同名;

安装

在群晖上以 Docker 方式安装。

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

老苏折腾时,latest 对应版本为 Linux_ce_v1.3.0 ,本文发布时,已经是 Linux_ce_v1.4.0

在这里插入图片描述

镜像比较大

在这里插入图片描述

docker 文件夹中,创建一个新文件夹 moredoc,并在其中建三个子文件夹 cachedocumentuploads

在这里插入图片描述

要修改目录的所有者,否则上传文件时,会出现类似下面👇的报错

《音视频会议直播解决方案.pptx》open cache/uploads/2023/06/29/97e5b4e5-5c14-4b55-88d1-f7cf95cfbaf5.pptx: no such file or directory

但是这个用户 moredoc 和分组 moredoc 在群晖中并不存在,所以老苏用 SSH 客户端命令行登录到群晖,执行

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

# 设置目录权限
chown 1001:1001 {cache,document,uploads}

在这里插入图片描述

文件夹装载路径说明
docker/moredoc/cache/home/moredoc/workspace/cache缓存
docker/moredoc/document/home/moredoc/workspace/documents文档
docker/moredoc/uploads/home/moredoc/workspace/uploads上传

在这里插入图片描述

端口

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

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
188808880

在这里插入图片描述

环境

可变
MYSQL_CONNECTION数据库链接地址,默认值为 dummy

在这里插入图片描述

其中数据库链接地址的说明👇如下:

MYSQL_CONNECTION="db_user:db_password@tcp(db_host:db_port)/db_name?charset=utf8mb4&loc=Local&parseTime=true"
  • db_user:数据库用户,这里是 moredoc
  • db_password:数据库密码,这里是 123456
  • db_host:数据库主机,这里是 192.168.0.197,也就是群晖主机 IP
  • db_port:数据库端口,这里是 3307
  • db_name:数据库库名,这里是 moredoc

所以最终的数据库链接地址为

MYSQL_CONNECTION="moredoc:123456@tcp(192.168.0.197:3307)/moredoc?charset=utf8mb4&loc=Local&parseTime=true"

命令行安装

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

# 新建文件夹 moredoc 和 子目录
mkdir -p /volume1/docker/moredoc/{cache,document,uploads}

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

# 设置目录权限
chown 1001:1001 {cache,document,uploads}

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name moredoc \
   -p 18880:8880 \
   -v $(pwd)/cache:/home/moredoc/workspace/cache \
   -v $(pwd)/document:/home/moredoc/workspace/documents \
   -v $(pwd)/uploads:/home/moredoc/workspace/uploads \
   -e MYSQL_CONNECTION="moredoc:123456@tcp(192.168.0.197:3307)/moredoc?charset=utf8mb4&loc=Local&parseTime=true" \
   bluezealot/moredoc:latest

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

version: '3'

services:
  moredoc:
    image: bluezealot/moredoc
    container_name: moredoc
    restart: unless-stopped
    ports:
      - 18880:8880
    volumes:
      - ./cache:/home/moredoc/workspace/cache
      - ./document:/home/moredoc/workspace/documents
      - ./uploads:/home/moredoc/workspace/uploads
    environment:
      - MYSQL_CONNECTION=moredoc:123456@tcp(192.168.0.197:3307)/moredoc?charset=utf8mb4&loc=Local&parseTime=true

然后执行下面的命令

# 新建文件夹 moredoc 和 子目录
mkdir -p /volume1/docker/moredoc/{cache,document,uploads}

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

# 设置目录权限
chown 1001:1001 {cache,document,uploads}

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

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:18880 就能看到主界面

在这里插入图片描述

用内置的管理员账号登录

默认管理账号:admin 密码:mnt.ltd

在这里插入图片描述

登录成功后的主界面

在这里插入图片描述

进管理后台看看

在这里插入图片描述

功能还挺多的

在这里插入图片描述

先建个文档分类

在这里插入图片描述

回到个人用户界面,就可以上传文档了

在这里插入图片描述

上传成功与否,是有提示的

在这里插入图片描述

频道里会看到我们上传的文件

在这里插入图片描述

可以直接查看,也可以下载

在这里插入图片描述

最后来张官网的效果图

在这里插入图片描述

参考文档

mnt-ltd/moredoc: moredoc,魔豆文库,基于golang开发的类似百度文库的开源文库系统,dochub文库的重构版本。
地址:https://github.com/mnt-ltd/moredoc

bluezealot/moredoc - Docker Image | Docker Hub
地址:https://hub.docker.com/r/bluezealot/moredoc

MOREDOC · 魔豆文库(演示站点)
地址:https://moredoc.mnt.ltd/

魔豆文库介绍 - 《魔豆开源文库使用手册》 - 书栈网 · BookStack
地址:https://www.bookstack.cn/read/moredoc/README.md

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

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

相关文章

民族传统文化分享系统uniapp 微信小程序

管理员、用户可通过Android系统手机打开系统,注册登录后可进行管理员后端;首页、个人中心、用户管理、知识分类管理、知识资源管理、用户分享管理、意见反馈、系统管理,用户前端;首页、知识资源、用户分享、我的等。 本系统的使用…

初探修模的三维模型OBJ格式轻量化压缩的遇到常见问题与处理方法

初探修模的三维模型OBJ格式轻量化压缩的遇到常见问题与处理方法 在对经过修模的三维模型进行OBJ格式轻量化压缩处理的过程中,可能会遇到一些常见问题。以下是一些常见问题以及相应的处理方法: 1、顶点丢失和形状变形:在减小顶点数量的过程中…

自己实现 SpringMVC 底层机制 系列之-实现任务阶段 8- 完成返回 JSON 格式数据-@ResponseBody

😀前言 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 8- 完成返回 JSON 格式数据-ResponseBody 🏠个人主页:尘觉主页 🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家&#xff0…

大数据风控介绍

众所周知,金融是数据化程度最高的行业之一,也是人工智能和大数据技术重要的应用领域。随着大数据收集、存储、分析和模型技术日益成熟,大数据技术逐渐应用到金融风控的各个环节。个推作为专业的数据智能服务商,拥有海量数据资源&a…

Android项目如何上传Gitee仓库

前言 最近Android项目比较多,我都是把Android项目上传到Gitee中去,GitHub的话我用的少,可能我还是更喜欢Gitee吧,毕竟Gitee仓库用起来更加方便 一. 创建Gitee仓库 1. 先创建一个Gitee账号,然后登录上去 2. 创建Androi…

基于JSP+Servlet+mysql养老院管理系统

基于JSPServletmysql养老院管理系统 一、系统介绍二、功能展示四、其他系统实现五、获取源码 一、系统介绍 项目类型:Java web项目 项目名称:基于JSPServlet的养老院管理系统 [yanglaoyuan] 当前版本:V1.0.0版本 难度等级:✩✩点…

恒运资本分析:科技股有哪些股票?

跟着科技的不断进步,科技职业越来越遭到人们的重视。在股市中,出资科技股票已经成为人们赚取高额收益的一种方法。那么科技股有哪些值得出资的股票呢?本文将从多个角度剖析科技股。 一、美股科技股票 在美股商场中,科技股票一向以…

QIIME 2教程. 29补充资源SupplementaryResources(2023.5)

补充资源 Supplementary resources https://docs.qiime2.org/2023.5/supplementary-resources/ 教学内容 Educational content 以下资源对于了解有关微生物组分析和生物信息学的更多信息很有用: 应用生物信息学导论 An Introduction to Applied Bioinformatics http…

三维模型OBJ格式轻量化压缩处理的数据质量提升方法分析

三维模型OBJ格式轻量化压缩处理的数据质量提升方法分析 在三维模型的OBJ格式轻量化压缩处理过程中,除了减小文件大小和提高加载速度之外,我们也需要考虑如何提升数据质量。以下是几种常见的方法: 1、优化顶点数据:顶点数据是三维…

三层架构与MVC模式区别

三层架构 三层即 视图层、业务逻辑层、持久层(数据访问层) MVC模式 MVC 即 Model(模型),View(视图),Controller(控制控制器)。 --------------------------…

fastapi集成elastic-apm,实现性能监控

fastapi集成elastic-apm,实现性能监控 本文适用于 Starlette/FastAPIStarlette/FastAPI SupportInstallationSetupFastAPIUsagePerformance metricsIgnoring specific routes Supported Starlette and Python versions 具体使用示例官网的配置项介绍各语言框架集成e…

33、在SpringBoot项目添加Web组件(Servlet、Filter 和 Listener) 的三种方法

通过Spring Bean 来添加 Servlet、Filter 和 Listener ★ 添加Web组件(Servlet、Filter、Listener)的三种方式: - 使用Spring Bean添加Servlet、Filter或Listener。- 使用XxxRegistrationBean手动添加Servlet、Filter或Listener。- 使用Clas…

Spring Cloud Alibaba-Sentinel--服务容错

1 高并发带来的问题 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络 原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出…

kafka--技术文档--架构体系

架构体系 Kafka的架构体系包括以下几个部分: Producer. 消息生产者,就是向Kafka broker发送消息的客户端。Broker. 一台Kafka服务器就是一个Broker。一个集群由多个Broker组成。一个Broker可以容纳多个Topic。Topic. 可以理解为一个队列,一…

从零开始的Hadoop学习(二)| Hadoop介绍、优势、组成、HDFS架构

1. Hadoop 是什么 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。主要解决,海量数据的存储和海量数据的分析计算问题。广义上来说,Hadoop通常是指一个更广泛的概念—Hadoop生态圈。 2. Hadoop 的优势 高可靠性:Hadoop底层维护多…

js reverse实现数据的倒序

2023.8.25今天我学习了如何在数组顺序进行倒序排列,如: 原数组为: 我们只需要对数组使用reverse()方法 let demo [{id: 1, name: 一号},{id: 2, name: 二号},{id: 3, name: 三号},]demo.reverse()console.log(demo) 扩展: 当我…

SV-9032 机架式网络采播器

SV-9032 机架式网络采播器 一、描述 18123651365微信 SV-9032是我司的一款机架式网络采播器,具有10/100M以太网接口,后面板上有两路线路输入接口,可以直接连接音源输出设备,将采集音源编码后发送至网络播放终端上。同时还具有三…

Python Scrapy网络爬虫框架从入门到实战

Python Scrapy是一个强大的网络爬虫框架,它提供了丰富的功能和灵活的扩展性,使得爬取网页数据变得简单高效。本文将介绍Scrapy框架的基本概念、用法和实际案例,帮助你快速上手和应用Scrapy进行数据抓取。 Scrapy是一个基于Python的开源网络爬…

淘宝免费爬虫数据 商品详情数据 商品销售额销量API

场景:一个宽敞明亮的办公室,一位公司高管坐在办公桌前。 高管(自言自语):淘宝,这个平台上商品真是琳琅满目,应该有不少销售数据吧。我该怎么利用这些数据呢? 突然,房间…

vue 后台管理系统登录 记住密码 功能(Cookies实现)

安装插件 import Cookies from js-cookie 组件引入 import Cookies from js-cookie; 存值: Cookies.set(username, state.account, { expires: 30 }); // username 存的值的名字,state.account 存的值 expires 存储的时间,30天Cookies…