Docker一键部署docat:打造轻量级开源文档管理系统

Docker一键部署docat:打造轻量级开源文档管理系统

  • 一、docat介绍
  • 二、本地环境介绍
    • [2.1 本地环境规划](#2.1 本地环境规划)
    • [2.2 本次实践介绍](#2.2 本次实践介绍)
  • 三、本地环境检查
    • [3.1 检查Docker服务状态](#3.1 检查Docker服务状态)
    • [3.2 检查Docker版本](#3.2 检查Docker版本)
    • [3.3 检查docker compose 版本](#3.3 检查docker compose 版本)
  • 四、下载docat镜像
  • 五、部署docat文档管理系统
    • [5.1 使用docker-cli创建docat容器](#5.1 使用docker-cli创建docat容器)
    • [5.2 创建目录](#5.2 创建目录)
    • [5.3 使用docker compose创建docat容器](#5.3 使用docker compose创建docat容器)
    • [5.4 检查docat容器状态](#5.4 检查docat容器状态)
    • [5.3 检查docat容器日志](#5.3 检查docat容器日志)
  • 六、访问docat服务
    • [6.1 访问docat首页](#6.1 访问docat首页)
    • [6.2 上传文档](#6.2 上传文档)
    • [6.3 查看文档](#6.3 查看文档)
  • 七、总结

一、docat介绍

  • docat简介

docat是一个简单开源的自托管文档管理系统,它旨在帮助团队和组织更好地管理和共享文档。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.需要提前在服务器上配置好Docker环境,确保Docker环境正常;

3.在Docker环境下部署docat文档管理系统。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

bash 复制代码
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2023-12-08 19:10:36 CST; 2 days ago
     Docs: https://docs.docker.com
 Main PID: 11729 (dockerd)
    Tasks: 38
   Memory: 1.3G
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本,当前使用版本为20.10.17。

bash 复制代码
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

bash 复制代码
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载docat镜像

从谷歌镜像仓库拉取docat镜像,版本为latest版本,如果下载过慢,可以配置国内云厂商的镜像加速,或者使用第三方的容器镜像加速服务。

bash 复制代码
[root@jeven ~]# docker pull   ghcr.io/docat-org/docat
Using default tag: latest
latest: Pulling from docat-org/docat
a378f10b3218: Already exists
c11bdfacfd25: Pull complete
64fc9a66a5d8: Pull complete
5146634606ba: Pull complete
479ce1f6823a: Pull complete
bf870de2c3ef: Pull complete
ea2d8a284c4a: Pull complete
4f4fb700ef54: Pull complete
aa6dcd230ba7: Pull complete
c74a0bc6e22f: Pull complete
0b0e8e29ac38: Pull complete
909d5fd77059: Pull complete
Digest: sha256:934b7c1cbb4faba59d6afeb629309b337f0b5f81165b97471b38bc12a8933ce5
Status: Downloaded newer image for ghcr.io/docat-org/docat:latest
ghcr.io/docat-org/docat:latest

五、部署docat文档管理系统

5.1 使用docker-cli创建docat容器

使用docker-cli快速部署docat容器

bash 复制代码
docker run -d \
  --name docat \
  --restart always \
  -v  /data/docat/data:/var/docat/ \
  -p  8200:80 \
  ghcr.io/docat-org/docat

5.2 创建目录

创建主机挂载目录

bash 复制代码
mkdir -p /data/docat/data && cd /data/docat/

设置目录权限

bash 复制代码
 chmod -R 777  /data/docat/

5.3 使用docker compose创建docat容器

使用docker compose部署docat容器

yaml 复制代码
version: '3.8'

services:
  docat:
    image: ghcr.io/docat-org/docat
    container_name: docat
    restart: always
    volumes:
      - /data/docat/data:/var/docat/
    ports:
      - "8200:80"
  • 使用docker-compose.yaml文件创建docat容器
bash 复制代码
[root@jeven docat]# docker compose up -d
[+] Running 2/2
 ⠿ Network docat_default  Created                                                                                       0.0s
 ⠿ Container docat        Started                                                                                       1.0s

5.4 检查docat容器状态

检查docat容器状态,确保容器正常启动。

bash 复制代码
[root@jeven docat]# docker compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
docat               "/usr/bin/dumb-init ..."   docat               running             0.0.0.0:8200->80/tcp, :::8200->80/tcp

5.3 检查docat容器日志

检查docat容器运行日志,确保docat服务正常运行。

bash 复制代码
[root@jeven docat]# docker compose logs
docat  | INFO:     Started server process [11]
docat  | INFO:     Waiting for application startup.
docat  | INFO:     Application startup complete.
docat  | INFO:     Uvicorn running on http://0.0.0.0:5000 (Press CTRL+C to quit)

六、访问docat服务

6.1 访问docat首页

访问地址:http://192.168.3.166:8200/,将IP更换为自己服务器的IP地址。如果无法访问,注意防火墙和安全组设置问题,如果是使用云厂商服务器,需要放行安全组的服务端口。

6.2 上传文档

在docat首页中,在右下角位置点击上传文档的图标。

填写项目名称,文档的版本,将文档压缩包进行上传后,在点击"update"进行更新。

6.3 查看文档

这个项目部署完成后,发现点击文档名称,自动跳转的链接错误,需要手动修改下链接才能打开文档。


将链接后面部分改为版本加文档名的形式,例如这里错误跳转的是http://192.168.3.166:8200/#/mydoc/latest,修改为http://192.168.3.166:8200/#/mydoc/v1.0.0/cloud.pdf

七、总结

1.这个项目适合初学者练习,但不建议在生产或个人环境中部署。

2.项目的部署过程简单且轻量,版本管理也很好。

3.项目的文档链接跳转存在问题,需要手动修改链接,不太方便。

4.在网上找到该项目的部署资料比较困难,按照项目文档使用docker方式部署时遇到了上述问题,希望未来版本开发者能够改进和升级。

相关推荐
一只大侠的侠1 小时前
【Harmonyos】Flutter开源鸿蒙跨平台训练营 Day 2 鸿蒙跨平台开发环境搭建与工程实践
flutter·开源·harmonyos
酷酷的崽7982 小时前
CANN 开源生态特别篇:通过 ONNX 实现跨框架高性能推理
开源
人鱼传说2 小时前
docker desktop是一个好东西
运维·docker·容器
小章UPUP3 小时前
Kubernetes (K8s) 与 Podman 的比较
容器·kubernetes·podman
忆~遂愿3 小时前
CANN metadef 核心解析:计算图原型定义、算子元数据抽象与异构系统互操作机制
docker·容器
晚霞的不甘3 小时前
CANN × ROS 2:为智能机器人打造实时 AI 推理底座
人工智能·神经网络·架构·机器人·开源
芷栀夏4 小时前
从 CANN 开源项目看现代爬虫架构的演进:轻量、智能与统一
人工智能·爬虫·架构·开源·cann
说实话起个名字真难啊4 小时前
用docker来安装openclaw
docker·ai·容器
恬静的小魔龙4 小时前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
芷栀夏4 小时前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann