因为朋友的项目需要一款效率工具,在网上发现了这个开源项目,似乎能成为Notion的替代品。

前提条件

官方文档给出的前提条件是需要安装docker

安装步骤

1.设置docker compose文件

为docmost创建一个目录并把docker compose文件下载到这个目录

mkdir docmost
cd docmost
curl -O https://raw.githubusercontent.com/docmost/docmost/main/docker-compose.yml

如果是Debian系的系统的话要注意在当前用户家目录以外的地方要sudo,不然什么操作都会失败

之后就需要编辑这个文件

vim docker-compose.yml

此时打开的文件应该有类似于下面模板的结构并且还带着默认的环境变量

APP_URL是可选的,但是配置上正确的电子邮箱很有用

version: "3"

services:
  docmost:
    image: docmost/docmost:latest
    depends_on:
      - db
      - redis
    environment:
      APP_URL: "http://localhost:3000"
      APP_SECRET: "REPLACE_WITH_LONG_SECRET"
      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:

访问YOUR_URL/api/health可以获得健康检查相关的信息

修改docker compose文件

  • APP_URL后面应该替换成你想要的域名,如https://example.com 或者 https://docmost.example.com.

  • APP_SECRET的值必须被替换成最少32个字符长度的随机字符串,你可以通过openssl rand -x 32来生成secert,如果留默认值的话,应用会启动失败

  • 用强密码替换POSTGRES_PASSWORD 中的STRONG_DB_PASSWORD.

  • 用你刚才设置的Postgres密码替换掉DATABASE_URL 默认的 STRONG_DB_PASSWORD .

如果不使用S3存储的话只用本地存储就行。

启动服务

运行:

docker compose up -d

在服务启动完成之后访问主机的3000端口

配置docmost

在启动成功之后访问3000端口可创建管理员账户,在workspace setting->preferences中可调整语言至中文

一个还在寻找自己的三流开发者