目 录CONTENT

文章目录

在飞牛云NAS或VPS用Docker搭建一个开源的在线文档协作工具Docmost

yyzq
2025-02-24 / 0 评论 / 0 点赞 / 474 阅读 / 2,387 字

前言

Docmost 是一款开源协作 wiki 和文档软件。它是 Confluence 和 Notion 等软件的开源替代品。使用 Docmost 可以无缝创建、协作和共享知识。非常适合管理您的 wiki、知识库、文档等。
image-1740406669625

特征

实时协作编辑器

  • 富文本编辑器允许用户同时实时编辑页面,支持图表、表格、数学(LaTex)、嵌入等。
    1111
    image-1740407476464

图像

  • 内置编辑器支持 Mermaid,Draw.io 和 Excalidraw 绘图工具。

权限系统

  • 通过强大的权限系统控制谁可以查看、编辑和管理内容,确保信息安全并可供合适的人员访问。

image-1740407391797

空间

  • 将您的内容组织到专用于不同团队、项目或部门的不同空间,为协作提供结构化、集中化的环境。

image-1740407365312

群组

  • 创建和管理用户组以授予统一的权限,通过集体分配角色和权限可以轻松控制访问。

image-1740407436664

评论系统

  • 利用集成的内嵌评论功能直接在您的页面上参与有意义的讨论。

页面历史

  • 查看每个页面更改的历史记录,让您可以跟踪一段时间内的编辑并在需要时恢复到以前的版本。

image-1740407342828

image-1740407414283

嵌套页面

  • Docmost 支持任意层级的页面嵌套。您可以通过侧边栏的简单拖放操作重新排序和管理页面。

搜索

  • 搜索工具 PostgreSQL 全文搜索支持搜索,可以在所有字段中搜索到相关内容。

image-1740407318041

附件

  • 只需从剪贴板中选择或粘贴,即可轻松将图像和文件附加到您的页面。Docmost 支持 S3 和本地存储驱动程序。

准备条件

1)一台服务器或者NAS
我们使用飞牛云NAS和VPS来演示

需要vps的可以看以下信息

香港VPS

香港Colo数据中心,3C直连,平均延时30+ms,免备案

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
香港BGP 标配版 1C 1G 30G 3Mbps 无限 22 元/月 点我购买
香港BGP 限量款 2C 4G 30G 3Mbps 无限 25 元/月 点我购买
香港BGP(弹性) 2 – 16C 4 – 32G 30 – 400G 3 – 20Mbps 无限 22 元/月起 点我购买

香港Mega Two数据中心,三网CN2 GIA优化,实现全国超低延迟。

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
香港CN2 GIA 标配版 1C 1G 20G 3Mbps 无限 30 元/月 点我购买
香港CN2 GIA(弹性) 2 – 32C 2 – 128G 40 – 700G 3 – 30Mbps 无限 48 元/月起 点我购买

日本VPS

日本服务器介绍
电信去程163,回程CN2,移动联通双程骨干直连,宽带质量优秀。

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
日本CN2(弹性) 1 – 16C 1 – 16G 20-200G 5 – 20Mbps 不限流量 46 元/月起 点我购买
日本CN2大带宽(弹性) 1 – 16C 1 – 16G 20-200G 20 – 50Mbps 500G/月 55 元/月起 点我购买

韩国VPS

韩国服务器介绍
韩国CN2优化线路,大陆访问快速响应,电信CN2
线路,带宽质量优秀

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
韩国CN2(弹性) 1 – 32C 1 – 128G 20 – 100G 3 – 20Mbps 看需求 ¥ 35.00 起/ 月 点我购买
韩国CN2大带宽(弹性) 1 – 32C 1 – 128G 20 – 100G 20 – 50Mbps 300G/月起 38 元/月起 点我购买

美国VPS

美国T级防御云服务器介绍
去程普通线路,回程CN2/9929线路,大陆防御值为200G,超过峰值解封快。

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
美国T级防御(弹性) 1 – 16C 1 – 16G 20 – 100G 20 – 300Mbps 不限流 40 元/月起 点我购买
美国高防(弹性) 1 – 16C 1 – 16G 20 – 200G 10 – 30Mbps 不限流 58 元/月起 点我购买
美国高防大带宽(弹性) 1 – 16G 1 – 16G 20 – 200G 20 – 50Mbps 500G/月 56 元/月起 点我购买

2)本项目使用到的github

https://github.com/docmost/docmost

3)域名(可选)
最好是绑定下域名

①《飞牛NAS上搭建》

直接在docker新增一个compose项目即可
新建项目:

docmost

compose配置如下:

services:
  docmost:
    image: docmost/docmost:latest  # 使用最新版本的 docmost 镜像
    container_name: docmost-app  # 设置容器的名称为 docmost-app
    depends_on:
      - db  # 依赖数据库服务
      - redis  # 依赖 Redis 服务
    environment:
      APP_URL: 'http://100.90.173.2:3040'  # 设置应用的 URL 本机IP
      APP_SECRET: 'G6phrmJxWvAVU2JRStChasfaQSRrmJxwwe'  # 设置应用的密钥至少32位
      DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public'  # 配置 PostgreSQL 数据库连接 URL
      REDIS_URL: 'redis://redis:6379'  # 配置 Redis 连接 URL
    ports:
      - "3040:3000"  # 将容器内的 3000 端口映射到主机的 3040 端口
    restart: always  # 容器崩溃后总是重启
    volumes:
      - ./data:/app/data/storage  # 将主机的 ./data 目录挂载到容器的 /app/data/storage 目录

  db:
    image: postgres:16-alpine  # 使用 PostgreSQL 16 版本的 Alpine 镜像
    container_name: docmost-db  # 设置容器的名称为 docmost-db
    environment:
      POSTGRES_DB: docmost  # 设置数据库名称为 docmost
      POSTGRES_USER: docmost  # 设置数据库用户为 docmost
      POSTGRES_PASSWORD: STRONG_DB_PASSWORD  # 设置数据库密码
    restart: always  # 容器崩溃后总是重启
    volumes:
      - ./db:/var/lib/postgresql/data  # 将主机的 ./db 目录挂载到容器的 /var/lib/postgresql/data 目录,保存数据库数据

  redis:
    image: redis:7.2-alpine  # 使用 Redis 7.2 版本的 Alpine 镜像
    container_name: docmost-redis  # 设置容器的名称为 docmost-redis
    restart: always  # 容器崩溃后总是重启
    volumes:
      - ./redis:/data  # 将主机的 ./redis 目录挂载到容器的 /data 目录,保存 Redis 数据

启动即可
image-1740407702448

正常启动

image-1740407739803

可以看下后台日志是否初始化成功
Snipaste_2025-02-25_19-34-31

补充docker可用的镜像仓库

https://proxy.1panel.live/
https://docker.1panel.top/
https://mirror.azure.cn/
https://hub.rat.dev/
https://docker.1ms.run

②《vps上搭建》

一、Docker环境部署

在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04

推荐直接用一键脚本

docker安装脚本

bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

docker-compose安装脚本

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

二、创建docker-compose.yml文件

mkdir docmost;cd docmost #创建一个目录,并进入此目录
vim docker-compose.yml
services:
  docmost:
    image: docmost/docmost:latest  # 使用最新版本的 docmost 镜像
    container_name: docmost-app  # 设置容器的名称为 docmost-app
    depends_on:
      - db  # 依赖数据库服务
      - redis  # 依赖 Redis 服务
    environment:
      APP_URL: 'http://100.90.173.2:3040'  # 设置应用的 URL 本机IP
      APP_SECRET: 'G6phrmJxWvAVU2JRStChasfaQSRrmJxwwe'  # 设置应用的密钥至少32位
      DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public'  # 配置 PostgreSQL 数据库连接 URL
      REDIS_URL: 'redis://redis:6379'  # 配置 Redis 连接 URL
    ports:
      - "3040:3000"  # 将容器内的 3000 端口映射到主机的 3040 端口
    restart: always  # 容器崩溃后总是重启
    volumes:
      - ./data:/app/data/storage  # 将主机的 ./data 目录挂载到容器的 /app/data/storage 目录

  db:
    image: postgres:16-alpine  # 使用 PostgreSQL 16 版本的 Alpine 镜像
    container_name: docmost-db  # 设置容器的名称为 docmost-db
    environment:
      POSTGRES_DB: docmost  # 设置数据库名称为 docmost
      POSTGRES_USER: docmost  # 设置数据库用户为 docmost
      POSTGRES_PASSWORD: STRONG_DB_PASSWORD  # 设置数据库密码
    restart: always  # 容器崩溃后总是重启
    volumes:
      - ./db:/var/lib/postgresql/data  # 将主机的 ./db 目录挂载到容器的 /var/lib/postgresql/data 目录,保存数据库数据

  redis:
    image: redis:7.2-alpine  # 使用 Redis 7.2 版本的 Alpine 镜像
    container_name: docmost-redis  # 设置容器的名称为 docmost-redis
    restart: always  # 容器崩溃后总是重启
    volumes:
      - ./redis:/data  # 将主机的 ./redis 目录挂载到容器的 /data 目录,保存 Redis 数据

三、执行容器运行命令

docker-compose up -d #运行容器
docker-compose ps  #查看是否开启成功

正常启动如下所示

 docker-compose ps
NAME            IMAGE                    COMMAND                  SERVICE   CREATED          STATUS          PORTS
docmost-app     docmost/docmost:latest   "docker-entrypoint.s…"   docmost   14 seconds ago   Up 13 seconds   0.0.0.0:3040->3000/tcp, [::]:3040->3000/tcp
docmost-db      postgres:16-alpine       "docker-entrypoint.s…"   db        14 seconds ago   Up 13 seconds   5432/tcp
docmost-redis   redis:7.2-alpine         "docker-entrypoint.s…"   redis     14 seconds ago   Up 13 seconds   6379/tcp

四、打开web页面使用

成功以后需要打开自己相应的端口(3040)防火墙就可以web端访问了
打开自己VPS的端口加ip进入初始化页面

http://ip:3040

初始化管理员
image-1740408093510

设置中文

image-1740408178141

五、绑定域名

绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定完域名配置好证书就可以用域名来访问了

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!
微信公众号

0

评论区