首页 > 其他分享 >showdoc文档管理平台部署

showdoc文档管理平台部署

时间:2023-03-13 23:23:31浏览次数:47  
标签:opt 部署 root data html 文档 docker showdoc

【工具相关】showdoc文档管理平台部署

 

一、前言

1、需求来由#

  • 内部资料归档混乱,内部归档地址不一,不利于资料查找及工作交接
  • 更新不及时,本地文档更新完,未同步上传到ftp服务器
  • 归档文档多为word或pdf格式,不易于编辑维护
  • 搭配wss任务管理系统使用,每一任务原则上都要求有输出件,以便于对任务做质量管控及绩效考核打分

综合以上实际存在的痛点,故决定统一部门内部文档管理,搭建文档管理平台,用于管理开发、测试各项任务输出归档。

2、showdoc说明#

官方说明文档

showdoc是国内一款开源的文档管理系统,可用于编写API文档、数据字典、说明文档。

  • 采用markdown编辑器,编辑及查阅体验较佳
  • 支持版本历史功能,便于文档回滚恢复
  • 支持回收站功能,删除超过30天以上的文件自动被删除
  • 可按照大项分类,创建目录树状结构,支持全项目文档搜索
  • 支持项目成员权限管控

二、部署安装#

1、docker安装#

1.1、下载docker离线包,解压缩拷贝到/usr/bin目录下

wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz --no-proxy
tar -zxvf docker-19.03.9.tgz
cp docker/* /usr/bin/

1.2、注册编辑docker服务,添加以下配置信息到/etc/systemd/system/docker.service配置文件内

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
  
[Install]
WantedBy=multi-user.target

1.3、赋予/etc/systemd/system/docker.service配置文件执行权限,重新加载配置文件

chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload

1.4、启动docker服务,设置开机自启动

systemctl start docker
systemctl enable docker

2、showdoc安装#

2.1、关闭selinux

注:启动容器需要写/proc/self/attr/keycreate配置,启用selinux会导致没有写入权限写入失败,导致启用容器出现write /proc/self/attr/keycreate: permission denied错误

  • 临时关闭selinux
setenforce 0
  • 永久关闭selinux
    修改/etc/selinux/config配置文件,修改配置为SELINUX=disabled

2.2、拉取showdoc官方镜像,重命名镜像名为star7th/showdoc:latest

docker pull registry.cn-shenzhen.aliyuncs.com/star7th/showdoc
docker tag  registry.cn-shenzhen.aliyuncs.com/star7th/showdoc star7th/showdoc

2.3、创建数据存储目录/opt/showdoc_data/html,赋予存储目录最高权限,启动showdoc容器

mkdir -p /opt/showdoc_data/html
chmod  -R 777 /opt/showdoc_data
docker run -d --name showdoc --user=root --privileged=true -p 4999:80 -v /opt/showdoc_data/html:/var/www/html/ star7th/showdoc

2.4、此时web访问http://ip:4999登录showdoc平台

3、设置开机自启#

查看当前容器ID,设置自动启动

  • 方法一
docker update --restart=always `docker ps -a -q`
  • 方法二
echo "sleep 3" >> /etc/rc.local 
echo "docker start `docker ps -a`" >> /etc/rc.local 

三、数据备份

1、docker镜像备份

备份当前docker镜像

[root@node226 ~]# docker images
REPOSITORY                                          TAG                 IMAGE ID            CREATED             SIZE
star7th/showdoc                                     latest              29bb506bad96        28 hours ago        392MB
registry.cn-shenzhen.aliyuncs.com/star7th/showdoc   latest              29bb506bad96        28 hours ago        392MB
[root@node226 ~]# docker save star7th/showdoc -o showdoc.tar

2、showdoc数据备份#

2.1、编写备份脚本/opt/backup.sh如下

[root@node227 ~]# cat /opt/backup.sh 
#!/bin/bash
#定义备份路径
path="/mnt/backup"
#定义数据保存天数
day=7
#备份文件
zip -r $path/showdoc-`date +%Y%m%d%H%M`.zip /showdoc_data/html/
#定期删除文件
find $path -type f -mtime +$day -exec rm -f {} \;

2.2、设置crontab定时任务,每天凌晨三点定时执行脚本

[root@node227 ~]# crontab -l
0 3 * * * /bin/bash /opt/backup.sh

四、数据恢复#

1、docker镜像恢复#

1.1、参照二、部署安装完成docker环境部署

1.2、关闭selinux
修改/etc/selinux/config配置文件,修改配置为SELINUX=disabled

[root@node134 ~]# setenforce 0

[root@node134 ~]# cat /etc/selinux/config | grep SELINUX=
SELINUX=disabled

1.3、将docker镜像导入到目标服务器内

[root@node134 ~]# docker load < showdoc.tar 

[root@node134 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
star7th/showdoc     latest              29bb506bad96        30 hours ago        392MB

1.4、运行容器

[root@node134 ~]# mkdir -p /opt/showdoc_data/html
[root@node134 ~]# chmod  -R 777 /opt/showdoc_data
[root@node134 ~]# docker run -d --name showdoc --restart=always --user=root --privileged=true -p 4999:80 -v /opt/showdoc_data/html:/var/www/html/ star7th/showdoc

2、showdoc数据恢复#

恢复数据库数据Sqlite/showdoc.db.php和附件数据Public/Uploads/.后,重新访问showdoc平台即可

[root@node134 ~]# unzip showdoc-202011171546.zip
[root@node134 ~]# \cp -r showdoc_data/html/Sqlite/showdoc.db.php /opt/showdoc_data/html/Sqlite/
[root@node134 ~]# \cp -r showdoc_data/html/Public/Uploads/. /opt/showdoc_data/html/Public/Uploads/

标签:opt,部署,root,data,html,文档,docker,showdoc
From: https://www.cnblogs.com/Lqdream/p/17213347.html

相关文章

  • 基于Kubernetes(k8s)部署Dubbo+Nacos服务
    一、说明本文介绍基于Kubernetes(k8s)环境集成阿里云私有镜像仓库来部署一套Dubbo+Nacos的微服务系统,并使用KubernetesDNS以及port-forward的方式来打通网络......
  • linux部署jenkins
    linux部署jenkins参考:https://blog.csdn.net/liu_chen_yang/article/details/127202910参考:https://blog.csdn.net/zy10151/article/details/126875108相关依赖......
  • docker部署
    docker部署第一步:设置yum源为docker  yum源cd/etc/yum.repos.d/rm-rf*.repowget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyumcleana......
  • vue 处理后端返回的文档流
    xiazai(){this.$_api.kanbanApi.Get({responseType:'blob',url:'KanbanItemData/exportExcel'//`${this.selectComponents.config.da......
  • 如何通过C#/VB.NET从PowerPoint文档中提取图片
    PowerPoint是用于制作幻灯片(演示文稿)的应用软件,每张幻灯片中都可以包含文字、图形、图形、表格、声音和影像等多种信息。有时候我们发现在PPT里面有一些精美的图片,或者其他......
  • photo-sphere-viewer 3D浏览插件中文文档
    安装photo-sphere-viewer运行终端命令npminstallphoto-sphere-viewer安装后在页面内引入//主体import{Viewer}from"photo-sphere-viewer";import"phot......
  • ckeditor粘贴word文档图片的技术
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑......
  • kafka安装部署
    kafka安装部署 1、安装jdk(1)创建安装目录mkdir/usr/local/java(2)解压缩包到安装的目录下tar-zxvfjdk-8u51-linux-x64.tar.gz-C/usr/local/java/(3)修改环境变量v......
  • Jenkins插件管理(Manager Plugins)【快速提升项目构建和部署实施的工作效率】
    Jenkins是一个很棒的开源自动化平台。它有一些开箱即用的强大功能。然而,在我看来,让它脱颖而出的是它的社区和它开发的插件。有超过一千个插件可用于支持几乎所有用于构......
  • win10win11右键---新建文本文档消失的解决方案
    1.按下win+R打开运行,键入:regedit打开注册表编辑器,展开HKEY_CLASSES_ROOT,找到.txt,选中.txt,查看右侧“默认值”是不是txtfile,如果不是,就双击修改成txtfile。win10到此恢复......