轻量级文档管理新方案:Docmost 容器化部署实践

简介: 轻量级文档管理新方案:Docmost 容器化部署实践

一、Docmost介绍

1.1 Docmost 简介

Docmost是一款开源的协作维基和文档管理软件,它旨在为团队提供一个集中化、高效且易于使用的平台来创建、共享以及管理信息。作为 Confluence 和 Notion 的开源替代品,Docmost 提供了强大的功能集以满足现代企业和组织对于知识管理和协同工作的需求。

1.2 Docmost特点

  • 实时协作:允许多名用户同时编辑同一个文档或页面,极大提高了工作效率。
  • 图表支持:集成Draw.io, Excalidraw 以及 Mermaid等工具,方便用户创建流程图、架构图等各类图表。
  • 空间管理:根据项目或者部门划分不同的工作区(Space),便于内容组织与访问控制。
  • 权限管理:细粒度的权限设置,可以精确到每个页面甚至是特定部分,确保信息安全。
  • 团体协作:支持团队内成员间的无缝沟通与合作,促进信息流通。
  • 评论系统:允许用户在文档上直接添加注释或反馈,促进了讨论和想法交流。
  • 版本历史:自动保存所有更改记录,并允许恢复至任意历史版本,保证了数据安全。
  • 全文搜索:强大的搜索引擎能够快速定位所需信息,提高检索效率。
  • 文件附件:支持多种格式文件上传作为附件,丰富了文档内容的表现形式。

1.3 主要使用场景

  • 企业内部知识库:建立公司政策、操作手册等重要资料库,方便员工查询学习。
  • 项目管理:围绕具体项目创建专门的工作区,跟踪进度、分配任务并记录会议纪要。
  • 教育领域:教师与学生之间共享课程材料、作业提交及评价反馈。
  • 非营利组织:协调志愿者活动计划、记录筹款进展等非正式但重要的信息。
  • 远程工作支持:为分布式团队提供一个中心化的交流平台,增强团队凝聚力。
  • 技术文档编写:软件开发者撰写API文档、代码示例等技术性文档时非常有用。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。

hostname IP地址 操作系统版本 Docker版本 镜像版本
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 latest

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署 Docmost文档管理工具。

三、本地环境检查

3.1 检查Docker服务状态

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

root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2024-09-09 10:43:35 CST; 3 weeks 5 days ago
       Docs: https://docs.docker.com
   Main PID: 695 (dockerd)
      Tasks: 135 (limit: 9387)
     Memory: 4.0G
        CPU: 46min 46.854s
     CGroup: /system.slice/docker.service
             ├─  695 /usr/bin/dockerd
             ├─  846 containerd --config /var/run/docker/containerd/containerd.toml

3.2 检查Docker版本

检查Docker版本

root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

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

root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、下载Docmost镜像

拉取Docmost相关镜像,如下所示:

docker pull  docmost/docmost:latest
docker pull postgres:16-alpine
docker pull redis:7.2-alpine

在这里插入图片描述

五、部署Docmost应用

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/docmost && cd /data/docmost

5.2 编辑部署文件

  • 在部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。
  • 注意环境变量中的APP_URL值为宿主机IP地址+宿主机端口,如果填写错误则会导致容器启动失败。
  • 注意环境变量中的APP_SECRET值将默认的进行修改,否则Docmost会启动失败,容器日志会提示报错。

version: '3'

services:
  docmost:
    image: docmost/docmost:latest
    depends_on:
      - db
      - redis
    environment:
      APP_URL: 'http://192.168.3.88:3000'
      APP_SECRET: 'K8dCmZnXa3LQbPfRtGjW'
      DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public'
      REDIS_URL: 'redis://redis:6379'
    ports:
      - "3000:3000"
    restart: unless-stopped
    volumes:
      - docmost:/app/data/storage

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: docmost
      POSTGRES_USER: docmost
      POSTGRES_PASSWORD: STRONG_DB_PASSWORD
    restart: unless-stopped
    volumes:
      - db_data:/var/lib/postgresql/data

  redis:
    image: redis:7.2-alpine
    restart: unless-stopped
    volumes:
      - redis_data:/data

volumes:
  docmost:
  db_data:
  redis_data:

5.3 创建Docmost容器

执行以下命令,创建Docmost容器。

root@jeven01:/data/docmost# docker compose up -d
[+] Running 7/7
 ✔ Network docmost_default      Created                                                                                                                  0.1s
 ✔ Volume "docmost_redis_data"  Created                                                                                                                  0.0s
 ✔ Volume "docmost_docmost"     Created                                                                                                                  0.0s
 ✔ Volume "docmost_db_data"     Created                                                                                                                  0.0s
 ✔ Container docmost-db-1       Started                                                                                                                  0.4s
 ✔ Container docmost-redis-1    Started                                                                                                                  0.5s
 ✔ Container docmost-docmost-1  Started                                                                                                                  0.7s

5.4 查看Docmost容器状态

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

root@jeven01:/data/docmost# docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED         STATUS         PORTS                                       NAMES
d14e3b4ec4bc   docmost/docmost:latest   "docker-entrypoint.s…"   3 seconds ago   Up 2 seconds   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp   docmost-docmost-1
9319a36cd212   redis:7.2-alpine         "docker-entrypoint.s…"   3 seconds ago   Up 2 seconds   6379/tcp                                    docmost-redis-1
5bf3b742be5e   postgres:16-alpine       "docker-entrypoint.s…"   3 seconds ago   Up 2 seconds   5432/tcp                                    docmost-db-1

5.5 查看Docmost容器日志

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

 docker compose logs

在这里插入图片描述

六、访问Docmost服务

6.1 访问Docmost初始页

访问地址:http://192.168.3.88:3000,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。

在这里插入图片描述

6.2 注册账号

在Docmost初始页,自定义设置账号密码信息。

在这里插入图片描述

在这里插入图片描述

七、上传文档

7.1 进入工作空间

点击“General”,进入名称为General的工作空间。
在这里插入图片描述

7.2 新建页面

点击Pages旁边的“+”号,我们新建一个空白页面。

在这里插入图片描述

编辑文章内容,如下所示:

在这里插入图片描述

回到home首页,可以看到刚刚编辑的文章。

在这里插入图片描述

八、总结

通过Docker Compose部署Docmost文档管理工具,我们能够一键启动和管理多个相关联的容器,简化了服务的配置和维护。使用docker-compose.yml文件定义了所有必要的服务、网络和卷,确保了环境的一致性和可复现性。这种部署方式不仅提高了开发和测试效率,还使得生产环境的部署变得更加简单和可靠。最终,团队可以更专注于内容创作与协作,而无需担心底层基础设施的复杂性。

相关文章
|
8月前
|
人工智能 运维 Cloud Native
告别云原生内存黑盒:SysOM MCP助力ACK AI助手智能运维实践
云原生内存问题从"凭经验"变为"有系统、有规则、有工具"的标准化闭环能力。
|
8月前
|
人工智能 API 机器人
OpenClaw 用户部署和使用指南汇总
本文档为OpenClaw(原MoltBot)官方使用指南,涵盖一键部署(阿里云轻量服务器年仅68元)、钉钉/飞书/企微等多平台AI员工搭建、典型场景实践及高频问题FAQ。同步更新产品化修复进展,助力用户高效落地7×24小时主动执行AI助手。
30928 253
|
8月前
|
运维 Kubernetes 监控
3分钟从0到1搭建OpenClaw专属智能运维助手 ClawHub 20大运维skills库实现全流程自动化实战指南
在AIOps技术飞速发展的今天,OpenClaw凭借强大的技能扩展机制,成为运维领域的效率神器。ClawHub作为其官方技能市场,收录了数千个高质量运维相关技能,彻底改变了传统运维“手动操作多、流程繁琐、故障定位慢”的痛点。本文整理了ClawHub中20个最实用的运维技能,结合阿里云零门槛部署步骤、实战代码命令与场景化用法,帮助运维人员从0到1搭建专属智能运维助手,实现K8s管理、监控告警、数据库运维等全流程自动化。
3271 6
|
3月前
|
人工智能 监控 API
Token Plan个人版功能介绍:三档套餐定价、Credits抵扣规则与Qwen3.8限时折扣实操教程
随着大模型应用从原型验证转向常态化开发,按量计费模式带来账单不可控、高频调用成本高昂、多模态工具单独扣费等痛点,大量独立开发者、小型创作团队亟需固定包月、统一计量、覆盖全模型的订阅方案。2026年7月,百炼正式推出Token Plan个人版订阅服务,面向独立AI从业者、编程开发者、智能体搭建爱好者提供标准化包月套餐,一套订阅覆盖文本、图像、视频多模态模型,内置联网检索、数据解析等Harness增强工具,原生兼容Cursor、OpenClaw、Hermes、Qoder等主流AI开发框架,依托统一Credits计量单位统一抵扣全部调用消耗,固定月费无隐形超额账单。同步上线2.4万亿参数Qwen3.
863 0
|
5月前
|
人工智能 自然语言处理 API
阿里云百炼Token Plan团队版产品与收费标准介绍:标准版198元、高级版698元,尊享版1398元
阿里云百炼Token Plan团队版是面向企业和开发者的多模态AI大模型订阅服务,以Credits为统一计量单位,支持文本生成与图像生成模型灵活切换,兼容主流AI编程与智能体工具。提供标准、高级、尊享三档包月套餐,多租户隔离确保高峰不排队,并承诺不使用对话数据训练模型,保障数据安全。超出套餐额度可购买共享用量包,消费可通过控制台和费用中心实时监控。适用于AI编程集成、智能体开发等场景。配合Qwen3.6发布低至4.5折优惠及先用后返最高200元活动,可助力用户灵活控制AI预算。
|
6月前
|
数据采集 监控 安全
数据抓取高效化:动态IP切换工具的核心优势与使用技巧
动态IP切换工具基于动态代理技术,是网络抓取、数据分析的核心辅助工具,能有效规避IP封禁风险,保障数据获取的流畅性。本文将全面拆解其应用场景、核心优势,重点提醒使用中的常见陷阱,分享爬虫代理IP的选购技巧与抓取效率提升方法,同时解析其在数据安全中的重要作用,为用户提供实用、可落地的参考,助力高效、安全地完成数据提取工作。
|
7月前
|
人工智能 API 网络安全
阿里云Coding Plan是什么?介绍、订阅、额度、API配置+OpenClaw 部署教程及避坑攻略
阿里云Coding Plan是阿里云百炼(Model Studio)面向AI编程场景推出的**订阅制大模型服务**,采用固定月费模式,整合通义千问、GLM、Kimi、MiniMax等主流编程大模型,兼容OpenClaw、Claude Code、Qwen Code、Cline等主流AI开发工具,可显著降低AI编程的使用成本与风险,适合个人开发者、AI智能体框架、编程辅助工具长期稳定使用。
3300 10
|
算法 安全 开发者
大模型部署指南:从个人玩转到企业级应用,这4款工具必看!
本文介绍了五款主流大语言模型部署工具,帮助用户根据需求选择合适的方案。包括适合个人使用的 Ollama 和 LM Studio、优化低配设备运行的 llama.cpp、企业级部署的 vLLM,以及 Hugging Face 推出的 TGI 框架,覆盖从本地体验到高性能服务的多种场景。
|
JavaScript 开发工具 git
工程化:Commitlint / 规范化Git提交消息格式
通过这些思维导图和分析说明表,您可以更加直观地理解Commitlint的安装、配置和使用方法,从而有效规范Git提交消息,提升团队协作效率和代码质量。
728 14
|
前端开发 开发者
基于CSS mask-image 实现炫酷图片过渡效果之星球大战
基于CSS mask-image 实现炫酷图片过渡效果之星球大战
560 0