什么是 moredoc ?
moredoc
中文名魔豆文库
,是基于golang
开发的类似百度文库、新浪爱问文库的开源文库系统,支持TXT
、EPUB
、MOBI
、Office
等格式文档的在线预览与管理,为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
,并在其中建三个子文件夹 cache
、document
和 uploads
要修改目录的所有者,否则上传文件时,会出现类似下面👇的报错
《音视频会议直播解决方案.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 端口号
本地端口 | 容器端口 |
---|---|
18880 | 8880 |
环境
可变 | 值 |
---|---|
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