快速开始
快速入门
相关源文件
本章引用的主要源码文件:
.gitignore.tx/configCONTRIBUTING.mdDCOREADME.mdREADME.rstcontrib/scripts/copy_config_env.pycontrib/scripts/password_randomizer.pycontrib/scripts/translations_helper.pycontrib/settings/ldap_connection_settings.pydocker/.envdocker/docker-compose.ymldocker/stack.ymldocs/__init__.pydocs/_static/book_cover.jpgdocs/_templates/message_area.htmldocs/callbacks.pydocs/patches.pydocs/utils.pymayan/apps/authentication/dependencies.pymayan/apps/cabinets/migrations/0001_initial.pymayan/apps/common/management/base.pymayan/apps/common/tests/test_management_commands.pymayan/apps/mailer/locale/en/LC_MESSAGES/django.pomayan/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 部署,不同系统组件运行在独立的容器中:
来源: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 |
核心环境变量
来源: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_PASSWORD | PostgreSQL 密码 | mayandbpass | 首次运行前必须修改 |
MAYAN_REDIS_PASSWORD | Redis 密码 | mayanredispassword | 首次运行前必须修改 |
MAYAN_RABBITMQ_PASSWORD | RabbitMQ 密码 | mayanrabbitpass | 首次运行前必须修改 |
MAYAN_ELASTICSEARCH_PASSWORD | Elasticsearch 密码 | 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
初始设置流程
初始设置会创建必要的系统文件夹、生成安全密钥并配置数据库:
设置过程由 CommonAppManagementCommand 类管理,负责以下操作:
- 存储初始化:创建媒体目录结构
- 安全设置:生成随机
SECRET_KEY - 用户设置:创建包含
__init__.py的用户设置目录 - 数据库设置:运行迁移并创建管理员用户
- 依赖安装:安装 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 界面:
- URL:
http://localhost(或您的服务器 IP) - 端口:80(从容器端口 8000 映射)
默认管理员凭据
系统在初始设置期间通过 autoadmin_create 命令创建一个默认管理员用户。
服务健康检查
验证所有服务是否正常运行:
docker-compose ps
预期服务:
mayan_app_1(或mayan-app-1)mayan_postgresql_1mayan_redis_1mayan_rabbitmq_1
来源:docker/docker-compose.yml:35-36, mayan/apps/common/management/base.py:81
后续步骤
基础系统运行后,可以执行以下操作:
- 配置文档类型:定义文档类别和元数据
- 设置来源:配置文档上传方式
- 创建用户账户:添加用户并分配权限
- 配置工作流:设置文档处理工作流
- 安装额外依赖:添加 OCR 语言或 LDAP 认证
有关详细的配置选项,请参阅配置管理。有关开发环境设置和高级部署,请参阅安装与部署。
来源:README.md:68-69, README.rst:23-24