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方式部署时遇到了上述问题,希望未来版本开发者能够改进和升级。

相关推荐
ai产品老杨5 分钟前
解耦异构安防:基于 Docker 与边缘计算的 AI 视频管理平台,如何实现 GB28181/RTSP 统一接入与全源码交付
人工智能·docker·边缘计算
X54先生(人文科技)1 小时前
《元创力》纪实录·卷宗2.2署名权、龙标悖论与社会人格的剥夺
人工智能·开源·ai写作·零知识证明
金融RPA机器人丨实在智能1 小时前
跨境库存Agent测评:开源产品无法动态备货?实在Agent以ISSUT技术重塑跨境电商供需链
人工智能·ai·开源
IvorySQL1 小时前
PostgreSQL 全球对话:开源链接世界,共建共治共享
数据库·postgresql·开源
极客先躯1 小时前
高级java每日一道面试题-2026年02月09日-实战篇[Docker]-Docker 容器有哪些安全风险?如何缓解?
java·运维·网络·安全·docker·容器
yuanzhengme1 小时前
Ollama【部署 07】搭建本地智能体的简单说明(局域网离线部署Ollama+模型迁移+Docker部署AnythingLLM)
运维·docker·容器·大模型·ollama·本地智能体
想要成为计算机高手1 小时前
用meta quest 3 遥操宇树机器人-xr_teleoperate 复现(含docker安装与配置方式)
人工智能·docker·机器人·xr·g1·具身智能
来让爷抱一个2 小时前
MonkeyCode免费策略深度解读:AI编程工具如何做到永久免费
开源·ai编程·monkeycode
BullSmall2 小时前
如何尽可能使用开源免费的软件构建软件行业的测试智能体
人工智能·开源·软件构建
RuoyiOffice2 小时前
从 0 到 1 搭建 RuoyiOffice:30 分钟跑通后端+前端+移动端
前端·spring boot·uni-app·开源·oa·ruoyioffice·hrm