开源文库系统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.rhkb.cn/news/110894.html

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

相关文章

代码随想录算法训练营第四十九天 | 121. 买卖股票的最佳时机,122.买卖股票的最佳时机II

代码随想录算法训练营第四十九天 | 121. 买卖股票的最佳时机,122.买卖股票的最佳时机II 121. 买卖股票的最佳时机122.买卖股票的最佳时机II 121. 买卖股票的最佳时机 题目链接 视频讲解 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股…

英特尔开始加码封装领域 | 百能云芯

在积极推进先进制程研发的同时,英特尔正在加大先进封装领域的投入。在这个背景下,该公司正在马来西亚槟城兴建一座全新的封装厂,以加强其在2.5D/3D封装布局领域的实力。据了解,英特尔计划到2025年前,将其最先进的3D Fo…

Ubuntu安装RabbitMQ

一、安装 更新系统软件包列表: sudo apt update安装RabbitMQ的依赖组件和GPG密钥: sudo apt install -y curl gnupg curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo gpg --dearmo…

网易新财报:游戏稳、有道进、云音乐正爬坡

今年以来,AI大模型的火热程度屡屡攀升,越来越多的企业都加入到了AI大模型的赛场中,纷纷下场布局。而在众多参与者中,互联网企业的身影更是频频浮现,比如,百度、阿里巴巴、腾讯等等。值得一提的是&#xff0…

BI系统框架模型与指标库参考

主数据 :组织|岗位|人员|大区|三大主数据(客户、物料、供应商)财务主数据(科目|成本中心|利润中心|资产)|工作中心|工艺路线 业务数据 :线索|业务机会|合同|订单|采购|生产|发货|物流|财务&#xff0…

Python数据分析 | 各种图表对比总结

本期将带领大家一起对在数据可视化的过程中常用的一些图表进行下总结: 条形图 【适用场景】 适用场合是二维数据集(每个数据点包括两个值x和y),但只有一个维度需要比较,用于显示一段时间内的数据变化或显示各项之间的…

LLMs之Code:Code Llama的简介、安装、使用方法之详细攻略

LLMs之Code:Code Llama的简介、安装、使用方法之详细攻略 导读:2023年08月25日(北京时间),Meta发布了Code Llama,一个可以使用文本提示生成代码的大型语言模型(LLM)。Code Llama是最先进的公开可用的LLM代码任务,并有潜…

《开发实战》11 | 空值处理:分不清楚的null和恼人的空指针

11 | 空值处理:分不清楚的null和恼人的空指针 修复和定位恼人的空指针问题 NullPointerException 是 Java 代码中最常见的异常,最可能出现的场景归为以下5 种: 参数值是 Integer 等包装类型,使用时因为自动拆箱出现了空指针异常…

基于Jenkins自动打包并部署Tomcat环境

基于上一章创建部署 Linux下Jenkins安装 (最新)_学习新鲜事物的博客-CSDN博客 传统网站部署的流程 在运维过程中,网站部署是运维的工作之一。传统的网站部署的流程大致分为:需求分 析-->原型设计-->开发代码-->提交代码--&g…

Postman —— postman实现参数化

什么时候会用到参数化 比如:一个模块要用多组不同数据进行测试 验证业务的正确性 Login模块:正确的用户名,密码 成功;错误的用户名,正确的密码 失败 postman实现参数化 在实际的接口测试中,部分参数每…

基于LOF算法的异常值检测

目录 LOF算法简介Sklearn官网LOF算法应用实例1Sklearn官网LOF算法应用实例2基于LOF算法鸢尾花数据集异常值检测读取数据构造数据可视化,画出可疑异常点LOF算法 LOF算法简介 LOF异常检测算法是一种基于密度的异常检测算法,基于密度的异常检测算法主要思想…

java-便签

--其实最痛的。不是离别。而是离别后的那些回忆。 java length( ) javalength中文占多长 1.一个中文字符或符号 2 个字节,一个英文字符或符号 1 个字节。 System.out.println("abc你好,".getBytes("gbk").length); System.out.pr…

神经网络的工作原理

目录 神经网络的介绍 神经网络的组成 神经网络的工作原理 Numpy 实现神经元 Numpy 实现前向传播 Numpy 实现一个可学习的神经网络 神经网络的介绍 神经网络受人类大脑启发的算法。简单来说,当你睁开眼睛时,你看到的物体叫做数据,再由你…

阿里云服务器搭建FRP实现内网穿透-P2P

前言 在了解frp - p2p之前,请先了解阿里云服务器搭建FRP实现内网穿透-转发: 文章地址 1、什么是frp - p2p frp(Fast Reverse Proxy)是一个开源的反向代理工具,它提供了多种功能,包括端口映射、流量转发和内网穿透等。…

【Cesium创造属于你的地球】实现地球展示、灵活进行坐标转换、视角切换

大家好,我是AIC山鱼!👉这是我的主页 🐋作为CSDN博主和前端优质创作者✍,我致力于为大家带来新颖、脱俗且有趣的内容。 🐱我还创建了山鱼社区,这是一个独特的社区🏠,&…

无涯教程-分类算法 - 简介

分类可以定义为根据观测值或给定数据点预测类别的过程。分类的输出可以采用"黑色"或"白色"或"垃圾邮件"或"非垃圾邮件"的形式。 在数学上,分类是从输入变量(X)到输出变量(Y)近似映射函数(f)的任务,它属于有监督…

「CSS|前端开发|页面布局」03 开发网站所需要知道的CSS:如何实现你想要的页面布局

本文主要介绍如何分析页面布局,了解HTML标签元素的默认布局以及如何修改标签元素的布局方式,最终能够结合CSS框架实现任意我们看到或者想到的页面布局。 文章目录 本系列前文传送门一、场景说明二、页面布局设计逻辑三、CSS布局编写逻辑HTML元素的默认布…

论文阅读:Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

前言 要弄清MAML怎么做,为什么这么做,就要看懂这两张图。先说MAML**在做什么?**它是打着Mate-Learing的旗号干的是few-shot multi-task Learning的事情。具体而言就是想训练一个模型能够使用很少的新样本,快速适应新的任务。 定…

Mac软件删除方法?如何删除不会有残留

Mac电脑如果有太多无用的应用程序,很有可能会拖垮Mac系统的运行速度。因此,卸载电脑中无用的软件是优化Mac系统运行速度的最佳方式之一。Mac卸载应用程序的方式是和Windows有很大的区别,特别对于Mac新用户来说,如何无残留的卸载删…

Confluence使用教程(用户篇)

1、如何创建空间 可以把空间理解成一个gitlab仓库,空间之间相互独立,一般建议按照部门(小组的人太少,没必要创建空间)或者按照项目分别创建空间 2、confluence可以创建两种类型的文档:页面和博文 从内容上来…