开源文库系统moredoc

在这里插入图片描述

什么是 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/moredoccontainer_name: moredocrestart: unless-stoppedports:- 18880:8880volumes:- ./cache:/home/moredoc/workspace/cache- ./document:/home/moredoc/workspace/documents- ./uploads:/home/moredoc/workspace/uploadsenvironment:- 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.hqwc.cn/news/90874.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构(Java实现)-优先级队列(堆)

队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队 列在这种情况下,数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。 这种数据结构就…

设计模式大白话——命令模式

命令模式 一、概述二、经典举例三、代码示例(Go)四、总结 一、概述 ​ 顾名思义,命令模式其实和现实生活中直接下命令的动作类似,怎么理解这个命令是理解命令模式的关键!!!直接说结论是很不负责…

【办公类-16-01-02】2023年度上学期“机动班下午代班的排班表——跳过周三、节日和周末”(python 排班表系列)

背景需求: 2023年第一学期(2023年9-2024年1月),我又被安排为“机动班”,根据新学期的校历,手动推算本学期的机动班的带班表 排版原则 1、班级数量:共有6个班级,循环滚动 2、每周次…

Unity实现倒计时和获取系统时间

一:创建UGUI 1.创建Canvas画布组件,调节Canvas画布的分辨率等其他设置。我们可以把视图设置为2D模式下。 2.创建Text文本组件,取名为Timer计时器,我们调整Text文本组件的大小,用锚点设置Text文本组件的位置,并且设置好Text文本组件的颜色。 3.我们再创建一个Text文…

Python金币小游戏

游戏规则:移动挡板接住金币 游戏截图: 详细代码如下: import pygame.freetype import sys import randompygame.init() screen pygame.display.set_mode((600, 400)) pygame.display.set_caption(game) p 0 i1 0 s 0 t 0 f1 pygame.f…

攻防世界-What-is-this

原题 解题思路 解压后文件 没有后缀,不知道是什么文件。用notepad打开找不到flag。 尝试当成压缩包解压。 用stegsolve以打开图片1, 合成两张图片。

【SpringBoot】第二篇:RocketMq使用

背景: 本文会介绍多种案例,教大家如何使用rocketmq。 一般rocketmq使用在微服务项目中,属于分模块使用。这里使用springboot单体项目来模拟使用。 本文以windows系统来做案例。 下载rocketmq和启动: RocketMQ 在 windows 上运行…

FireFox禁用HTTP2

问题 最近需要调试接口,但是,Chrome都是强制使用h2协议,即HTTP/2协议。为了排除h2协议排除对接口调用的影响,需要强制浏览器使用HTTP1协议。 解决 FireFox 设置firefox的network.http.http2.enabled为禁用,这样就禁…

文件属性查看和修改学习

这个是链接,相当于快捷方式,指向usr/bin这个目录,链接到这个目录

Apache的简单介绍(LAMP架构+搭建Discuz论坛)

文章目录 1.Apache概述1.1什么是apache1.2 apache的功能及特性1.2.1功能1.2.2特性 1.3 MPM 工作模式1.3.1 prefork模式1.3.2 worker模式1.3.3 event模式 2.LAMP概述2.1 LAMP的组成2.2 LAMP各组件的主要作用2.3 LAMP的工作过程2.4CGI和FastCGI 3.搭建Discuz论坛所需4.编译安装Ap…

Java面试之用两个栈实现队列

文章目录 题目一、什么是队列和栈?1.1队列1.2栈 二、具体实现2.1 思路分析2.2代码实现 题目 用两个栈实现一个队列,实现在队列尾部插入节点和在队列头部删除节点的功能。 一、什么是队列和栈? 1.1队列 队列是一种特殊的线性表,…

思腾云计算

思腾合力是一家定位于为高等院校、科研院所、企业提供思腾系列硬件加速计算服务器以及软件系统集成的公司。公司的主营业务:1.以思腾合力品牌的服务器硬件,从外形服务器从1U到4U到塔式。从算力服务器单个的计算卡到最多一台机器可以支持二十块运算卡。从…