agentic_huge_data_base / wiki
页面 Mayan EDMS · 2 快速开始·DeepWiki 中文全文译文

2 · 快速开始(Getting Started)

企业电子文档治理 · 本章是 Mayan EDMS DeepWiki 中文译文的独立章节页,保留原始链接、源码锚点、模块标签和章节层级。

项目Mayan EDMS 章节2 状态全文译文 模块安装与启动、配置治理、存储与持久化、界面与交互
源码线索
  • .gitignore
  • .tx/config
  • CONTRIBUTING.md
  • DCO
  • README.md
  • README.rst
  • contrib/scripts/copy_config_env.py
  • contrib/scripts/password_randomizer.py
  • contrib/scripts/translations_helper.py
  • contrib/settings/ldap_connection_settings.py
模块标签
  • 安装与启动
  • 配置治理
  • 存储与持久化
  • 界面与交互
  • 认证、权限与安全

中文译文

快速开始(中文译文)

原始 DeepWiki 页面:https://deepwiki.com/mayan-edms/Mayan-EDMS/2-getting-started
翻译时间:2026-05-27T08:44:24.149Z
翻译模型:deepseek-chat
原文字符数:11338
项目:Mayan EDMS (mayan-edms)

---

快速入门

相关源文件

以下文件被用作生成此 Wiki 页面的上下文:

  • .gitignore
  • .tx/config
  • CONTRIBUTING.md
  • DCO
  • README.md
  • README.rst
  • contrib/scripts/copy_config_env.py
  • contrib/scripts/password_randomizer.py
  • contrib/scripts/translations_helper.py
  • contrib/settings/ldap_connection_settings.py
  • docker/.env
  • docker/docker-compose.yml
  • docker/stack.yml
  • docs/__init__.py
  • docs/_static/book_cover.jpg
  • docs/_templates/message_area.html
  • docs/callbacks.py
  • docs/patches.py
  • docs/utils.py
  • mayan/apps/authentication/dependencies.py
  • mayan/apps/cabinets/migrations/0001_initial.py
  • mayan/apps/common/management/base.py
  • mayan/apps/common/tests/test_management_commands.py
  • mayan/apps/mailer/locale/en/LC_MESSAGES/django.po
  • mayan/apps/platform/management/commands/platform_template.py

本文档提供了部署和配置 Mayan EDMS 的分步说明,涵盖系统要求、基于 Docker 的部署、环境配置以及启动一个功能完备的文档管理系统的初始设置流程。

有关详细的安装步骤和其他部署方式,请参阅安装与部署。有关高级配置选项和智能设置系统,请参阅配置管理

系统要求

Mayan EDMS 对硬件和软件有特定要求,以确保最佳性能:

硬件要求
  • 内存:最低 2 GB(若禁用 OCR,则为 1 GB)
  • CPU:多核 64 位处理器,建议主频高于 1 GHz
  • 存储:充足的磁盘空间,用于存储文档和系统文件
软件要求
  • Docker:推荐部署方式所需
  • Docker Compose:用于编排多个服务

来源:README.md:73-74, README.rst:39-40

部署架构总览

Mayan EDMS 采用微服务架构,通过 Docker Compose 部署,不同系统组件运行在独立的容器中:

graph TB
    subgraph "Docker Compose 堆栈"
        APP["app<br/>mayanedms/mayanedms"]
        FRONTEND["frontend<br/>run_frontend"]
        WORKER_A["worker_a<br/>run_worker"]
        WORKER_B["worker_b<br/>run_worker"]
        CELERY_BEAT["celery_beat<br/>run_celery beat"]
    end

    subgraph "基础设施服务"
        POSTGRESQL["postgresql<br/>postgres:12.10-alpine"]
        REDIS["redis<br/>redis:6.2-alpine"]
        RABBITMQ["rabbitmq<br/>rabbitmq:3.10-management"]
        ELASTICSEARCH["elasticsearch<br/>docker.elastic.co/elasticsearch/elasticsearch:7.16.0"]
    end

    subgraph "存储卷"
        APP_VOL["app 卷<br/>/var/lib/mayan"]
        POSTGRES_VOL["postgres 卷<br/>/var/lib/postgresql/data"]
        REDIS_VOL["redis 卷<br/>/data"]
        RABBITMQ_VOL["rabbitmq 卷<br/>/var/lib/rabbitmq"]
        ELASTICSEARCH_VOL["elasticsearch 卷<br/>/usr/share/elasticsearch/data"]
    end

    APP --> POSTGRESQL
    APP --> REDIS
    APP --> RABBITMQ
    FRONTEND --> POSTGRESQL
    WORKER_A --> POSTGRESQL
    WORKER_A --> REDIS
    WORKER_A --> RABBITMQ
    CELERY_BEAT --> REDIS
    CELERY_BEAT --> RABBITMQ

    APP --> APP_VOL
    POSTGRESQL --> POSTGRES_VOL
    REDIS --> REDIS_VOL
    RABBITMQ --> RABBITMQ_VOL
    ELASTICSEARCH --> ELASTICSEARCH_VOL

来源:docker/docker-compose.yml:1-290

环境配置

Docker 部署使用环境变量和 Docker Compose 配置文件来配置服务。主要配置通过 .env 文件处理:

Docker Compose 配置文件
配置文件描述包含的服务
all_in_one单容器部署app
postgresql数据库服务postgresql
redis缓存和锁管理器redis
rabbitmq消息代理rabbitmq
elasticsearch搜索后端elasticsearch
extra_frontend额外的前端容器frontend
extra_worker_*独立的工作容器worker_a, worker_b, worker_c, worker_d
核心环境变量
graph LR
    subgraph "数据库配置"
        DB_NAME["MAYAN_DATABASE_NAME<br/>默认值: mayan"]
        DB_USER["MAYAN_DATABASE_USER<br/>默认值: mayan"]
        DB_PASSWORD["MAYAN_DATABASE_PASSWORD<br/>默认值: mayandbpass"]
        DB_HOST["MAYAN_DATABASE_HOST<br/>默认值: postgresql"]
    end

    subgraph "消息代理"
        RABBITMQ_USER["MAYAN_RABBITMQ_USER<br/>默认值: mayan"]
        RABBITMQ_PASSWORD["MAYAN_RABBITMQ_PASSWORD<br/>默认值: mayanrabbitpass"]
        RABBITMQ_VHOST["MAYAN_RABBITMQ_VHOST<br/>默认值: mayan"]
    end

    subgraph "缓存与锁管理器"
        REDIS_PASSWORD["MAYAN_REDIS_PASSWORD<br/>默认值: mayanredispassword"]
    end

    subgraph "应用"
        CELERY_BROKER["MAYAN_CELERY_BROKER_URL"]
        CELERY_RESULT["MAYAN_CELERY_RESULT_BACKEND"]
        LOCK_MANAGER["MAYAN_LOCK_MANAGER_BACKEND"]
    end

    DB_NAME --> CELERY_BROKER
    RABBITMQ_USER --> CELERY_BROKER
    RABBITMQ_PASSWORD --> CELERY_BROKER
    REDIS_PASSWORD --> CELERY_RESULT
    REDIS_PASSWORD --> LOCK_MANAGER

来源:docker/.env:1-83, docker/docker-compose.yml:6-12

快速启动部署

步骤 1:下载 Docker Compose 文件

创建工作目录并下载必要文件:

mkdir mayan-edms && cd mayan-edms
# 下载 docker-compose.yml 和 .env 文件
步骤 2:配置环境

编辑 .env 文件以设置安全的密码:

变量用途默认值安全说明
MAYAN_DATABASE_PASSWORDPostgreSQL 密码mayandbpass首次运行前必须修改
MAYAN_REDIS_PASSWORDRedis 密码mayanredispassword首次运行前必须修改
MAYAN_RABBITMQ_PASSWORDRabbitMQ 密码mayanrabbitpass首次运行前必须修改
MAYAN_ELASTICSEARCH_PASSWORDElasticsearch 密码mayanespassword首次运行前必须修改
步骤 3:部署服务

部署包含 PostgreSQL、Redis 和 RabbitMQ 的基础堆栈:

# 设置激活的配置文件
export COMPOSE_PROFILES=all_in_one,postgresql,rabbitmq,redis

# 启动服务
docker-compose up -d

来源:docker/.env:11-12, docker/.env:22-34

初始设置流程

初始设置会创建必要的系统文件夹、生成安全密钥并配置数据库:

flowchart TD
    START["容器启动"] --> WAIT["Docker 等待<br/>MAYAN_DOCKER_WAIT"]
    WAIT --> CHECK_STORAGE["检查存储<br/>COMMON_DISABLE_LOCAL_STORAGE"]

    CHECK_STORAGE -->|本地存储已启用| CREATE_MEDIA["创建媒体文件夹<br/>MEDIA_ROOT"]
    CHECK_STORAGE -->|存储已禁用| CHECK_SECRET["检查 SECRET_KEY"]

    CREATE_MEDIA --> CREATE_SYSTEM["创建系统文件夹<br/>media/system"]
    CREATE_SYSTEM --> GENERATE_SECRET["生成密钥<br/>media/system/secret_key"]
    GENERATE_SECRET --> CREATE_USER_SETTINGS["创建用户设置<br/>media/user_settings"]
    CREATE_USER_SETTINGS --> CHECK_SECRET

    CHECK_SECRET -->|有效密钥| SIGNAL_PRE["signal_pre_initial_setup"]
    CHECK_SECRET -->|无效密钥| ERROR["抛出 BaseCommonException"]

    SIGNAL_PRE --> INSTALL_DEPS["安装依赖<br/>dependencies_install"]
    INSTALL_DEPS --> CREATE_ADMIN["创建管理员用户<br/>autoadmin_create"]
    CREATE_ADMIN --> SAVE_SETTINGS["保存设置<br/>settings_save"]
    SAVE_SETTINGS --> SIGNAL_POST["signal_post_initial_setup"]
    SIGNAL_POST --> COMPLETE["设置完成"]

    ERROR --> FAIL["设置失败"]

设置过程由 CommonAppManagementCommand 类管理,负责以下操作:

  1. 存储初始化:创建媒体目录结构
  2. 安全设置:生成随机 SECRET_KEY
  3. 用户设置:创建包含 __init__.py 的用户设置目录
  4. 数据库设置:运行迁移并创建管理员用户
  5. 依赖安装:安装 Python 包并准备静态文件

来源:mayan/apps/common/management/base.py:19-127

服务配置

数据库连接

应用通过 Django 的数据库配置连接到 PostgreSQL:

MAYAN_DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': '${MAYAN_DATABASE_NAME:-mayan}',
        'PASSWORD': '${MAYAN_DATABASE_PASSWORD:-mayandbpass}',
        'USER': '${MAYAN_DATABASE_USER:-mayan}',
        'HOST': '${MAYAN_DATABASE_HOST:-postgresql}'
    }
}
消息代理配置

Celery 使用 RabbitMQ 进行任务分发:

MAYAN_CELERY_BROKER_URL = amqp://${MAYAN_RABBITMQ_USER}:${MAYAN_RABBITMQ_PASSWORD}@rabbitmq:5672/${MAYAN_RABBITMQ_VHOST}
缓存与锁管理器

Redis 同时作为结果后端和分布式锁管理器:

MAYAN_CELERY_RESULT_BACKEND = redis://:${MAYAN_REDIS_PASSWORD}@redis:6379/1
MAYAN_LOCK_MANAGER_BACKEND = mayan.apps.lock_manager.backends.redis_lock.RedisLock
MAYAN_LOCK_MANAGER_BACKEND_ARGUMENTS = {'redis_url': 'redis://:${MAYAN_REDIS_PASSWORD}@redis:6379/2'}

来源:docker/docker-compose.yml:7-11

访问与验证

Web 界面访问

部署成功后,通过以下地址访问 Web 界面:

  • URLhttp://localhost(或您的服务器 IP)
  • 端口:80(从容器端口 8000 映射)
默认管理员凭据

系统在初始设置期间通过 autoadmin_create 命令创建一个默认管理员用户。

服务健康检查

验证所有服务是否正常运行:

docker-compose ps

预期服务:

  • mayan_app_1(或 mayan-app-1
  • mayan_postgresql_1
  • mayan_redis_1
  • mayan_rabbitmq_1

来源:docker/docker-compose.yml:35-36, mayan/apps/common/management/base.py:81

后续步骤

基础系统运行后,可以执行以下操作:

  1. 配置文档类型:定义文档类别和元数据
  2. 设置来源:配置文档上传方式
  3. 创建用户账户:添加用户并分配权限
  4. 配置工作流:设置文档处理工作流
  5. 安装额外依赖:添加 OCR 语言或 LDAP 认证

有关详细的配置选项,请参阅配置管理。有关开发环境设置和高级部署,请参阅安装与部署

来源:README.md:68-69, README.rst:23-24