跳到主要内容

Docmost

官方网站

https://docmost.com

Docmost是一个开源的知识库和文档管理系统,它提供了类似Notion的界面和功能,支持团队协作、实时编辑和丰富的内容创建工具。适合企业内部知识共享、团队协作和文档管理。

Docker方式安装

compose文件

networks:
default:
external: true
name: ${DOCKER_MY_NETWORK}
services:
docmost:
image: docmost/docmost:latest
container_name: docmost
restart: unless-stopped
volumes:
- ${DOCKER_HOME}/docmost/data:/app/data
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
environment:
- NODE_ENV=production
- DB_TYPE=${DOCMOST_DB_TYPE}
- DB_HOST=${DOCMOST_DB_HOST}
- DB_PORT=${DOCMOST_DB_PORT}
- DB_NAME=${DOCMOST_DB_NAME}
- DB_USER=${DOCMOST_DB_USER}
- DB_PASSWORD=${DOCMOST_DB_PASSWORD}
- SECRET_KEY=${DOCMOST_SECRET_KEY}
- SITE_URL=${DOCMOST_SITE_URL}
depends_on:
- postgres
networks:
default:
ipv4_address: 172.20.0.33
deploy:
resources:
limits:
cpus: "1"
memory: 1G

env文件

DOCKER_HOME=/home/username/docker
DOCKER_MY_NETWORK=npm_default

# Docmost配置
DOCMOST_DB_TYPE=postgres
DOCMOST_DB_HOST=postgres
DOCMOST_DB_PORT=5432
DOCMOST_DB_NAME=docmost
DOCMOST_DB_USER=docmost
DOCMOST_DB_PASSWORD=your_secure_password
DOCMOST_SECRET_KEY=your_random_secret_key
DOCMOST_SITE_URL=https://docmost.your-domain.com

启动

docker compose up -d

首次启动后,访问 https://docmost.your-domain.com 进行初始设置,包括创建管理员账号。

配置文件

Docmost的主要配置通过环境变量完成,无需额外的配置文件。主要的环境变量说明:

  • DB_TYPE: 数据库类型,支持postgres、mysql等
  • DB_HOST: 数据库主机地址
  • DB_PORT: 数据库端口
  • DB_NAME: 数据库名称
  • DB_USER: 数据库用户名
  • DB_PASSWORD: 数据库密码
  • SECRET_KEY: 用于加密会话和令牌的密钥
  • SITE_URL: Docmost站点的完整URL

重新启动

docker compose restart docmost

如果修改了配置,需要重新启动容器使配置生效。

备注

  1. Docmost需要一个数据库来存储数据,推荐使用PostgreSQL。如果你已经有运行中的PostgreSQL实例,可以直接配置使用,否则需要在compose文件中添加PostgreSQL服务。

  2. 为了数据安全,建议定期备份数据目录(${DOCKER_HOME}/docmost/data)和数据库内容。

  3. 如需使用邮件功能(用户邀请、重置密码等),可以添加以下环境变量配置SMTP:

    SMTP_HOST=smtp.example.com
    SMTP_PORT=587
    SMTP_SECURE=false
    SMTP_USER=your_email@example.com
    SMTP_PASS=your_email_password
    SMTP_FROM=your_email@example.com
  4. Docmost支持S3兼容的对象存储服务,用于存储附件和媒体文件,可以通过以下环境变量配置:

    STORAGE_TYPE=s3
    S3_ENDPOINT=your-s3-endpoint
    S3_ACCESS_KEY=your-access-key
    S3_SECRET_KEY=your-secret-key
    S3_BUCKET=your-bucket-name
    S3_REGION=your-region