前置准备(必做,2分钟)
本次用Windows/macOS通用Docker Desktop和开源轻量Mayan EDMS档案系统,后者是中小制造业、教育培训机构、社区居委会的低成本选择,市场需求缺口大。
- 安装Docker Desktop:直接访问 https://www.docker.com/get-started/ ,下载对应系统的免费安装包,一路点击“Next/继续”“同意条款”,安装完成后重启电脑,启动Docker Desktop等待底部状态栏鲸鱼图标变绿。
- 准备本地档案存储文件夹:新建名为mayan_storage的文件夹,路径不能有中文字符,比如Windows放在D盘根目录D:\mayan_storage,macOS放在桌面以外的根目录~/mayan_storage。
第一步:用Docker Compose一键部署Mayan(5分钟)
Docker Compose是快速配置多个容器的工具,Mayan官方已经写好完整配置,不用手动敲容器命令。
1.1 新建配置文件
打开mayan_storage文件夹,新建一个纯文本文件,重命名为docker-compose.yml(注意后缀是.yml不是.txt),用记事本(Windows)或TextEdit(macOS,先在设置里把格式改为纯文本)打开,复制粘贴以下完整内容:
```yaml
version: '3.8'
services:
mayan:
image: mayanedms/mayanedms:4.4.18
restart: always
ports:
- "80:8000"
volumes:
- mayan_app:/var/lib/mayan
- ./local_import:/import
environment:
- MAYAN_CELERY_BROKER_URL=redis://redis:6379/0
- MAYAN_CELERY_RESULT_BACKEND=redis://redis:6379/0
- MAYAN_DATABASES="{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','USER':'mayan','PASSWORD':'mayan123','HOST':'postgresql','PORT':'5432'}}"
- MAYAN_DOCKER_WAIT=postgresql:5432 redis:6379
depends_on:
- postgresql
- redis
postgresql:
image: postgres:13.15-alpine
restart: always
volumes:
- postgresql_data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=mayan
- POSTGRES_USER=mayan
- POSTGRES_PASSWORD=mayan123
redis:
image: redis:7.0.15-alpine
restart: always
volumes:
- redis_data:/data
volumes:
mayan_app:
postgresql_data:
redis_data:
```
1.2 启动Mayan系统
Windows用户按Win+R输入cmd回车,macOS用户按Command+空格搜索Terminal回车,然后输入以下3条必输命令(注意macOS如果是M1/M2芯片,需在启动命令前加arch -x86_64,比如arch -x86_64 docker-compose up -d):
- 进入mayan_storage文件夹:Windows输入d:回车(如果在D盘),再输入cd mayan_storage回车;macOS输入cd ~/mayan_storage回车(如果在根目录)
- 拉取并启动容器:输入docker-compose up -d回车,等待5-10分钟(首次拉取镜像需联网下载约1.5G内容)
- 查看启动状态:输入docker-compose logs -f回车,看到“Starting Gunicorn server”“Mayan EDMS is ready”的提示后,按Ctrl+C退出日志查看
1.3 登录系统
打开浏览器(Chrome/Edge/Firefox均可),输入地址http://localhost ,默认账号密码都是admin,首次登录后按提示修改密码(这一步也是后续获客时的优化点之一)。
第二步:3个技术优化直接落地提中小客户市场

中小客户选档案管理软件的核心需求是低成本、易上手、有免费试用、定制空间小但够用,以下3个优化都是0成本,修改完配置即可向客户演示试用:
2.1 优化1:设置14天免费试用自动锁定(防白嫖提转化)
修改docker-compose.yml中的环境变量,加入试用时长设置,具体步骤:
- 打开mayan_storage文件夹的docker-compose.yml,找到mayan服务下的environment模块,在最后一行(MAYAN_DOCKER_WAIT那行)下面添加一行:- MAYAN_AUTO_USER_GROUP=试用用户
- 在postgresql服务下的volumes模块下面添加一个新的service,命名为locker(自定义试用期锁定服务,用Python实现,代码简单):
```yaml
locker:
image: python:3.11-alpine
restart: always
volumes:
- ./locker_script:/app
depends_on:
- postgresql
command: sh -c "pip install psycopg2-binary && python /app/locker.py"
```
- 在mayan_storage文件夹下新建locker_script文件夹,再在里面新建纯文本文件,重命名为locker.py,复制粘贴以下完整代码:
```python
import psycopg2
import time
from datetime import datetime, timedelta
DB_HOST = "postgresql"
DB_PORT = "5432"
DB_NAME = "mayan"
DB_USER = "mayan"
DB_PASS = "mayan123"
TRIAL_DAYS = 14
while True:
try:
conn = psycopg2.connect(
host=DB_HOST,
port=DB_PORT,
dbname=DB_NAME,
user=DB_USER,
password=DB_PASS
)
cur = conn.cursor()
查询试用用户组的ID
cur.execute("SELECT id FROM auth_group WHERE name='试用用户';")
group_id = cur.fetchone()[0]
查询试用用户组下的用户,超过14天的禁用
cur.execute("""
UPDATE auth_user
SET is_active = False
WHERE id IN (
SELECT user_id FROM auth_user_groups
WHERE group_id = %s
)
AND date_joined < %s;
""", (group_id, datetime.now() - timedelta(days=TRIAL_DAYS)))
conn.commit()
cur.close()
conn.close()
print(f"锁定检查完成,下次检查1小时后")
time.sleep(3600)
except Exception as e:
print(f"锁定服务出错:{e}")
time.sleep(60)
```
- 重启所有容器生效:在cmd/Terminal输入docker-compose down回车,再输入docker-compose up -d回车
2.2 优化2:开启OCR文字识别+批量上传(提升核心竞争力)
Mayan自带免费Tesseract OCR,默认没开启,开启后中小客户上传图片/PDF后可直接搜索文字,具体步骤:
- 登录Mayan后台(默认admin账号),点击左侧菜单栏系统→设置→OCR→OCR设置
- 找到OCR后端下拉框,选择tesseract,点击保存→应用更改→重启Celery队列(等待约1分钟)
- 批量上传设置:点击左侧菜单栏文档→批量导入,勾选启用批量导入,点击保存→应用更改
2.3 优化3:配置局域网/公网免费访问(方便上门演示和客户远程试用)
局域网访问:让连接同一WiFi的客户设备访问http://你的电脑IP:80 ,电脑IP查询方式:Windows输入ipconfig回车,找到“IPv4地址”;macOS输入ifconfig回车,找到“inet”开头的地址(除了127.0.0.1)
公网免费临时访问(演示用):无需备案域名,用ngrok实现,具体步骤:
- 访问 https://ngrok.com/download 下载对应系统的免费版本,解压后双击ngrok.exe(Windows)或ngrok(macOS)
- 注册ngrok账号(免费),登录后复制“Your Authtoken”
- 在ngrok窗口输入ngrok config add-authtoken 你的Authtoken回车
- 输入ngrok http 80回车,复制窗口显示的“Forwarding”开头的https链接,发给远程客户即可免费访问7天
最后一步:获客演示话术+操作步骤速查
获客演示时严格按照“痛点→展示功能→引导试用”的顺序,痛点可以提“纸质档案找不到、电子档案搜不到内容、免费试用后不好锁定转化”,展示功能对应上面的3个优化,速查步骤可以打印成小卡片:
- 痛点展示1:拿几张纸质发票,说“比如这张去年的发票,纸质丢了找不到,上传后用OCR直接搜金额就能找到”
- 痛点展示2:拿手机拍一段混乱的电子文件夹,说“批量上传后自动分类到‘采购’‘销售’‘财务’,不用手动整理”
- 引导试用:现场帮客户注册一个试用账号,设置密码,发公网链接,提醒试用14天