支持多端APP访问的开源档案管理系统从零部署实操全指南
前置准备清单
提前准备以下资源,避免部署过程中断:
- 硬件:2核4G及以上配置的云服务器/本地主机,操作系统固定为Ubuntu 22.04 LTS
- 网络:服务器开放8000端口(APP访问用),有公网IP可实现跨网访问
- 设备:安卓/苹果手机各1台,用于测试APP对接效果
第一步:系统环境初始化
所有命令直接复制执行即可,无需修改参数:
1. 更新系统源:
sudo apt update && sudo apt upgrade -y
2. 安装Docker依赖包:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
3. 添加Docker官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
4. 添加Docker软件源:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5. 安装Docker与Docker Compose:
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
6. 验证安装结果,依次执行以下2条命令,输出版本号即表示环境配置成功:
docker --version
docker compose version
第二步:档案管理系统部署配置
本次使用开源成熟方案Mayan EDMS,自带官方移动端APP,支持档案上传、分类、检索、权限管理全功能:
1. 创建部署目录并进入:
sudo mkdir -p /opt/mayan-edms && cd /opt/mayan-edms
2. 新建docker-compose.yml配置文件,以下内容可直接复制使用,首次部署前务必修改POSTGRES_PASSWORD和MAYAN_DATABASE_PASSWORD为自定义强密码,避免数据泄露:
```yaml version: '3.9' services: db: image: postgres:14-alpine environment: POSTGRES_USER: mayan POSTGRES_PASSWORD: mayan123456 修改为自定义密码 POSTGRES_DB: mayan volumes: - ./postgres:/var/lib/postgresql/data restart: unless-stopped redis: image: redis:7-alpine volumes: - ./redis:/data restart: unless-stopped app: image: mayanedms/mayanedms:4.4 environment: MAYAN_DATABASE_HOST: db MAYAN_DATABASE_NAME: mayan MAYAN_DATABASE_PASSWORD: mayan123456 和上面密码保持一致 MAYAN_DATABASE_USER: mayan MAYAN_REDIS_HOST: redis volumes: - ./data:/var/lib/mayan ports: - "8000:8000" depends_on: - db - redis restart: unless-stopped ```
3. 启动服务:
docker compose up -d
4. 验证启动状态,执行docker compose logs -f app查看日志,出现“Application startup complete”提示即表示启动成功,首次启动需要3-5分钟初始化数据库,请勿中途终止操作。
第三步:WEB端基础配置(APP对接前置)
APP对接前必须完成以下配置,否则会出现连接失败问题:
1. 打开浏览器访问http://你的服务器IP:8000,默认账号admin,密码admin,首次登录强制修改密码,请牢记新密码。
2. 配置跨域与访问白名单:点击左侧菜单栏【系统】-【设置】-【核心】,找到ALLOWED_HOSTS配置项,填入127.0.0.1,localhost,你的服务器公网IP,逗号分隔;再找到CORS_ALLOWED_ORIGINS配置项,填入(测试环境用,生产环境可替换为你的业务域名),点击保存。
3. 重启服务使配置生效:
docker compose restart app
4. 配置档案分类:点击【档案】-【分类管理】,新增你需要的档案分类(如人事档案、项目档案、合同档案),给对应账号分配读写权限,后续APP端会同步该分类结构。
第四步:移动端APP安装与对接
官方APP与WEB端数据实时同步,支持拍照上传、离线检索、权限校验等功能:
1. 下载APP:安卓端直接下载APK安装包:https://github.com/mayan-edms/mayan-mobile/releases/download/v1.3.0/mayan-mobile-v1.3.0.apk;苹果端直接在App Store搜索【Mayan EDMS】下载即可。
2. 对接配置:打开APP后点击右上角设置图标,在【服务器地址】栏填入http://你的服务器IP:8000(不要加任何后缀),输入之前修改的admin账号和新密码,点击【保存】。
3. 验证连通性:点击【测试连接】,提示“连接成功”即可正常使用,可尝试在APP端拍照上传一份测试档案,刷新WEB端即可看到同步结果。
常见问题排查
- APP连接失败:首先检查服务器安全组/防火墙是否开放8000端口,执行sudo ufw allow 8000/tcp开放端口;再检查ALLOWED_HOSTS配置是否已经添加服务器公网IP
- 上传档案提示空间不足:编辑docker-compose.yml的volumes配置项,将./data的存储路径修改为更大磁盘分区的路径,执行docker compose up -d --force-recreate重启服务即可
- APP上传照片模糊:进入APP设置页,找到【上传质量】选项,选择“原图”即可
- 启动后页面无法访问:执行docker compose ps查看服务状态,若app服务为unhealthy,等待2分钟后再刷新页面,首次启动初始化需要一定时间
生产环境加固建议
- 修改默认8000端口,将docker-compose.yml中ports配置改为"8088:8000",避免端口被恶意扫描
- 配置Nginx反向代理,申请Let's Encrypt免费SSL证书,APP端使用HTTPS地址访问,避免数据传输泄露
- 为不同部门用户创建独立账号,仅分配对应档案分类的权限,禁止共用admin账号
- 配置定时备份任务,每日备份/opt/mayan-edms目录下的所有数据,避免数据丢失