开源文库系统moredoc

什么是 moredoc ?

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

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

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

建数据库

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

开源文库系统moredoc_第1张图片

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

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

开源文库系统moredoc_第2张图片

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

  • 数据库主机: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

开源文库系统moredoc_第3张图片

镜像比较大

在这里插入图片描述

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

开源文库系统moredoc_第4张图片

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

《音视频会议直播解决方案.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}

开源文库系统moredoc_第5张图片

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

开源文库系统moredoc_第6张图片

端口

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

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

开源文库系统moredoc_第7张图片

环境

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

开源文库系统moredoc_第8张图片

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

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 就能看到主界面

开源文库系统moredoc_第9张图片

用内置的管理员账号登录

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

开源文库系统moredoc_第10张图片

登录成功后的主界面

开源文库系统moredoc_第11张图片

进管理后台看看

开源文库系统moredoc_第12张图片

功能还挺多的

开源文库系统moredoc_第13张图片

先建个文档分类

开源文库系统moredoc_第14张图片

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

开源文库系统moredoc_第15张图片

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

开源文库系统moredoc_第16张图片

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

开源文库系统moredoc_第17张图片

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

最后来张官网的效果图

开源文库系统moredoc_第18张图片

参考文档

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

你可能感兴趣的:(群晖,docker,在线文档,电子书)