开源协作wiki和文档软件Docmost

什么是 Docmost ?

Docmost 是一款开源协作 wiki 和文档软件。它是 ConfluenceNotion 等软件的开源替代品。使用 Docmost 可以无缝创建、协作和共享知识。非常适合管理您的 wiki、知识库、文档等。目前 Docmost 处于测试阶段。

软件的主要特点

安装

在群晖上以 Docker 方式安装。

因为涉及多个容器,采用了 docker-compose 方式安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3'

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

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

  redis:
    image: redis:7.2-alpine
    container_name: docmost-redis
    restart: unless-stopped
    volumes:
      - ./redis:/data
  • 容器 docmost-app
可变 说明
APP_URL http://192.168.0.197:3140 Docmost 的访问地址,可以是 IP地址或者域名,其中 IP 为主机的 IP ,端口为本地端口,而不是容器端口
APP_SECRET 用于应用程序安全性的随机密钥
DATABASE_URL 根据后面的数据库,生成的 PostgreSQL 数据库的连接 URL,如果改了数据库设置,这里要跟着变
REDIS_URL redis://redis:6379 Redis 服务的连接 URL,默认的就可以

官方给的示例中 APP_SECRETREPLACE_WITH_LONG_SECRET,如果不修改会导致容器不断重启,日志显示如下:

log 复制代码
docmost-app | The Environment variables has failed the following validations:
docmost-app | {"isNotIn":"APP_SECRET should not be one of the following values: REPLACE_WITH_LONG_SECRET"}
docmost-app | Please fix the environment variables and try again. Exiting program...
docmost-app | /app/apps/server:
docmost-app |  ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  server@0.2.1 start:prod: `cross-env NODE_ENV=production node dist/main`
docmost-app | Exit status 1
docmost-app |  ELIFECYCLE  Command failed with exit code 1.
docmost-app exited with code 1
  • 容器 docmost-db
可变 说明
POSTGRES_DB docmost 数据库库名
POSTGRES_USER docmost 数据库用户名
POSTGRES_PASSWORD STRONG_DB_PASSWORD 数据库用户对应的密码

以上只是基本设置,Docmost 还支持 S3 及兼容存储,可以发送邮件。

更多环境变量:https://docmost.com/docs/self-hosting/environment-variables

然后执行下面的命令

bash 复制代码
# 新建文件夹 docmost 和 子目录
mkdir -p /volume1/docker/docmost/{data,db,redis}

# 进入 docmost 目录
cd /volume1/docker/docmost

# 修改目录权限,否则上传图片会失败
chmod a+rw data

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3140 就能看到注册界面

  • Workspace Name:工作区名称
  • Your Name:用户名
  • Your Email:邮件地址
  • Password:密码,不能少于 8 个字符

注册成功后的主界面

写作

进入工作区

新建 New page

Notion 一样采用了块操作模式,输入 / 可创建代码块、todo list

基于 Docmost 写下了本文

回到 Home 能看到刚刚更新的文档

右上角是 Docmost 的相关设置

比如我想给创建的空间 General 改个名

修改 Name 就可以

保存之后

再回到 Home,名字已经改过来了

按个人习惯又增加了几个

协作

像工作相关的部分,我们可以邀请成员进行协作

当然前提是我们在安装时,设置了邮件相关的环境变量才行

需要给容器 docmost-app 增加下面这些内容

bash 复制代码
      MAIL_DRIVER: 'smtp'
      SMTP_HOST: 'smtp.88.com'
      SMTP_PORT: '465'
      SMTP_USERNAME: 'wbsu2003@88.com'
      SMTP_PASSWORD: '<第三方邮件客户端密码>'
      MAIL_FROM_ADDRESS: 'wbsu2003@88.com'
      MAIL_FROM_NAME: 'Docmost'

发个邀请

如果邮件设置没问题,应该很快就会收到邀请邮件

Accept Invite 接受邀请,会跳转到注册界面

默认可能还什么都看不到

回到主账号,添加组,这是为了方便后面授权

填写组名并添加成员

创建完成

然后到空间里授权

默认权限分为三种

另一个账号刷新一下就可以了

参考文档

docmost/docmost: Docmost is an open source collaborative documentation and wiki software. It is an open-source alternative to the likes of Confluence and Notion.

地址:https://github.com/docmost/docmost
Open-source collaborative wiki and documentation software | Docmost

地址:https://docmost.com/
Introduction | Docmost - Documentation

地址:https://docmost.com/docs/
Docmost: Open-source collaborative wiki and documentation software : r/selfhosted

地址:https://www.reddit.com/r/selfhosted/comments/1drd01d/docmost_opensource_collaborative_wiki_and/

相关推荐
意疏4 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
墨鸦_Cormorant4 小时前
使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
redis·nginx·docker
Code_Artist4 小时前
Docker镜像加速解决方案:配置HTTP代理,让Docker学会科学上网!
docker·云原生·容器
wanmei0025 小时前
Dockerfile复制目录进入镜像里
docker
inter_peng5 小时前
[Docker-显示所有容器IP] 显示docker-compose.yml中所有容器IP的方法
tcp/ip·docker·eureka
Linux运维日记6 小时前
k8s1.31版本最新版本集群使用容器镜像仓库Harbor
linux·docker·云原生·容器·kubernetes
一名路过的小码农7 小时前
ceph 18.2.4二次开发,docker镜像制作
ceph·docker·容器
xiangshangdemayi10 小时前
Windows环境GeoServer打包Docker极速入门
windows·docker·容器·geoserver·打包·数据挂载
程序员JerrySUN11 小时前
熟悉的 Docker,陌生的 Podman
linux·docker·容器·系统架构·podman
gobeyye11 小时前
Docker 用法详解
运维·docker·容器