档案软件公司排名避坑:Docker部署开源档案系统实战

环境准备与基础依赖安装

在开始部署企业级档案管理系统之前,必须确保服务器环境满足运行条件。本指南基于CentOS 7.x/8.x或Ubuntu 20.04/22.04 LTS环境进行演示。系统需具备至少2核CPU、4GB内存及20GB可用磁盘空间。我们需要安装Docker及Docker Compose工具。

安装Docker引擎

执行以下命令自动安装最新稳定版Docker。该脚本会自动检测系统版本并配置仓库:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装完成后,启动Docker服务并设置开机自启:

sudo systemctl start docker
sudo systemctl enable docker

为了方便后续操作,请将当前用户添加到docker组,避免每次使用sudo:

sudo usermod -aG docker $USER
newgrp docker

安装Docker Compose

下载Docker Compose二进制文件并赋予执行权限:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

验证安装是否成功:

docker-compose --version

系统架构与目录规划

为了实现高可用和数据持久化,我们采用Mayan EDMS作为核心档案软件,配合PostgreSQL数据库和Redis消息队列。在服务器根目录下创建项目目录结构:

sudo mkdir -p /data/mayan-edms/{media,db,redis}
cd /data/mayan-edms

目录用途说明:

  • media:存储上传的文档文件、缩略图及生成的PDF预览。
  • db:映射PostgreSQL的数据文件,确保数据库重启后数据不丢失。
  • redis:映射Redis的持久化数据,用于处理后台任务队列。

编写Docker Compose配置文件

在/data/mayan-edms目录下创建docker-compose.yml文件。该文件定义了所有服务的运行参数、网络连接及存储卷映射。请直接复制以下完整配置,切勿遗漏任何行:

version: '3.8'
services:
mayan-edms:
image: mayanedms/mayanedms:latest
container_name: mayan_edms_app
restart: unless-stopped
ports:
- "80:80"
volumes:
- ./media:/var/lib/mayan
environment:
- MAYAN_DATABASE_ENGINE=django.db.backends.postgresql
- MAYAN_DATABASE_NAME=mayan
- MAYAN_DATABASE_USER=mayan
- MAYAN_DATABASE_PASSWORD=mayan_db_pass
- MAYAN_DATABASE_HOST=mayan-edms-db
- MAYAN_DATABASE_PORT=5432
- MAYAN_CELERY_BROKER_URL=redis://:mayan_redis_pass@mayan-edms-redis:6379/0
- MAYAN_CELERY_RESULT_BACKEND=redis://:mayan_redis_pass@mayan-edms-redis:6379/1
depends_on:
- mayan-edms-db
- mayan-edms-redis
mayan-edms-db:
image: postgres:13
container_name: mayan_edms_db
restart: unless-stopped
volumes:
- ./db:/var/lib/postgresql/data
environment:
- POSTGRES_USER=mayan
- POSTGRES_PASSWORD=mayan_db_pass
- POSTGRES_DB=mayan
mayan-edms-redis:
image: redis:6
container_name: mayan_edms_redis
restart: unless-stopped
command:
- redis-server
- --requirepass
- mayan_redis_pass
volumes:
- ./redis:/data

配置重点解析:

  • 端口映射:将容器内的80端口映射到宿主机的80端口,部署后直接通过服务器IP访问。
  • 数据库凭证:默认设置了内部通信的密码,生产环境部署时请务必修改MAYAN_DATABASE_PASSWORDPOSTGRES_PASSWORD为复杂强密码。
  • 依赖关系:depends_on确保数据库和Redis先于Mayan主程序启动。

启动服务与初始化配置

启动容器栈

在配置文件所在目录执行以下命令,拉取镜像并启动所有服务:

docker-compose up -d

首次启动需要下载镜像,请耐心等待。使用docker-compose ps查看服务状态,确保所有服务的Status均为"Up"。

初始化超级管理员

服务启动后,需要进入容器内部创建第一个管理员账号。执行以下命令:

档案软件公司排名避坑:Docker部署开源档案系统实战

docker-compose exec mayan-edms mayan-edms.py createsuperuser

按照提示输入用户名、电子邮箱和密码。例如:

  • Username: admin
  • Email address: admin@company.com
  • Password: YourSecurePassword123

创建成功后,打开浏览器访问http://服务器IP地址,使用上述账号登录。

核心功能实操:OCR与文档自动化

登录系统后,默认界面为英文。我们需要进行基础设置以适应中文档案管理需求。

启用OCR文字识别

Mayan EDMS自带OCR引擎,但需要安装额外的语言包才能识别中文。进入容器安装中文语言包:

docker-compose exec mayan-edms apt-get update
docker-compose exec mayan-edms apt-get install -y tesseract-ocr-chi-sim

安装完成后,在Web界面进行配置:

  1. 点击右上角Settings(齿轮图标) -> Setup -> OCR settings
  2. OCR backend中选择Tesseract
  3. Automatically queue new documents选项中勾选Yes,确保上传的文档自动进行OCR识别。
  4. 保存设置。

配置文档自动标签

为了演示自动化流程,我们设置一个规则:当文档名包含"合同"时,自动打上"法务部"标签。

  1. 进入Settings -> Smart links
  2. 点击Create new smart link
  3. Label输入:合同文件分类
  4. Enabled选择:True
  5. Logic区域,点击Add condition
    • Type: Document filename
    • Operator: Contains
    • Value: 合同
  6. Action区域,点击Add action
    • Type: Attach tag
    • Tag: 先创建一个名为"法务部"的标签,然后在此选择。
  7. 点击Save保存规则。

此时,上传任何文件名包含"合同"的PDF或图片,系统将自动识别内容并打上"法务部"标签,无需人工干预。

数据备份与恢复策略

作为档案系统,数据安全至关重要。我们必须配置自动备份脚本。

数据库备份脚本

在宿主机创建备份目录及脚本:

mkdir -p /data/backup
vi /data/backup/backup_mayan.sh

写入以下脚本内容:

!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/data/backup"
CONTAINER_NAME="mayan_edms_db"
备份数据库
docker exec $CONTAINER_NAME pg_dump -U mayan mayan > $BACKUP_DIR/mayan_db_$DATE.sql
备份媒体文件
tar -czf $BACKUP_DIR/mayan_media_$DATE.tar.gz /data/mayan-edms/media
删除7天前的备份
find $BACKUP_DIR -name ".sql" -mtime +7 -exec rm {} \;
find $BACKUP_DIR -name ".tar.gz" -mtime +7 -exec rm {} \;

赋予执行权限并设置定时任务:

chmod +x /data/backup/backup_mayan.sh
crontab -e

添加每天凌晨2点执行备份的定时任务:

0 2    /data/backup/backup_mayan.sh >> /data/backup/backup.log 2>&1

数据恢复操作

若需恢复数据,首先停止Mayan服务,仅保留数据库运行,然后导入SQL文件:

cd /data/mayan-edms
docker-compose stop mayan-edms
docker exec -i mayan_edms_db psql -U mayan mayan < /data/backup/mayan_db_20231001_020000.sql
解压媒体文件覆盖
tar -xzf /data/backup/mayan_media_20231001_020000.tar.gz -C /
docker-compose start mayan-edms

至此,一套完整的企业级开源档案管理系统已部署完毕,具备文档上传、OCR识别、自动分类及数据备份能力。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统