mkdir -p /opt/mteam-keepalive && cd /opt/mteam-keepalive
cat > .env << 'EOF'
# ==================== 账号信息(必填) ====================
USERNAME=your_mteam_username
PASSWORD=your_mteam_password
# ==================== 邮箱验证码(必填) ====================
[email protected]
EMAIL_SERVER=imap.example.com
EMAIL_AUTH_CODE=your_email_auth_code
# ==================== 代理设置(可选) ====================
SOCK5_PROXY=
USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36
# ==================== 企业微信通知(可选) ====================
WXWORK_WEBHOOK=
# ==================== 邮件提醒(可选) ====================
NOTIFY_EMAIL=
NOTIFY_EMAIL_PASSWORD=
NOTIFY_SMTP_SERVER=
NOTIFY_SMTP_PORT=587
NOTIFY_TO_EMAIL=
# ==================== Web 管理界面(推荐设置) ====================
WEB_USERNAME=admin
WEB_PASSWORD=your_web_password
# ==================== 调度参数 ====================
MIN_DAYS=5
MAX_DAYS=10
JOB_TIMEOUT_SECONDS=1800
RUN_ON_START=1
# ==================== 时区 ====================
TZ=Asia/Shanghai
EOF
⚠️ 请将
your_mteam_username、your_mteam_password、[email protected]等占位符替换为你的真实信息。
cat > docker-compose.yml << 'EOF'
version: "3.9"
services:
keeper:
image: 73tong/mt-login-sendmail:latest
container_name: mteam-keepalive
restart: unless-stopped
ports:
- "5500:8080"
env_file:
- .env
environment:
TZ: Asia/Shanghai
volumes:
- ./data:/app/data
- /etc/localtime:/etc/localtime:ro
- /usr/share/zoneinfo:/usr/share/zoneinfo:ro
deploy:
resources:
limits:
memory: 1g
reservations:
memory: 512m
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/api/state"]
interval: 1m
timeout: 10s
retries: 3
start_period: 30s
EOF
docker compose up -d
浏览器打开 http://<服务器IP>:5500,使用 .env 中设置的 WEB_USERNAME / WEB_PASSWORD 登录。
# 查看运行状态
docker compose ps
# 查看实时日志
docker compose logs -f
# 重启服务
docker compose restart
# 更新到最新镜像
docker compose pull && docker compose up -d
# 停止并删除容器
docker compose down
| 变量 | 说明 |
|---|---|
USERNAME | M-Team 账号 |
PASSWORD | M-Team 密码 |
EMAIL | 接收验证码的邮箱 |
EMAIL_SERVER | IMAP 服务器地址 |
EMAIL_AUTH_CODE | 邮箱授权码 |
| 变量 | 说明 | 默认值 |
|---|---|---|
SOCK5_PROXY | SOCKS5 代理(host:port) | 空 |
USER_AGENT | 浏览器 UA | Chrome 144 |
WXWORK_WEBHOOK | 企业微信机器人 Webhook | 空 |
NOTIFY_EMAIL | 邮件提醒发件邮箱 | 空 |
NOTIFY_EMAIL_PASSWORD | 发件邮箱授权码 | 空 |
NOTIFY_SMTP_SERVER | SMTP 服务器 | 空 |
NOTIFY_SMTP_PORT | SMTP 端口 | 587 |
NOTIFY_TO_EMAIL | 收件邮箱(逗号分隔) | 空 |
WEB_USERNAME | Web 界面用户名 | 空(无需认证) |
WEB_PASSWORD | Web 界面密码 | 空(无需认证) |
MIN_DAYS | 最小间隔天数 | 5 |
MAX_DAYS | 最大间隔天数 | 10 |
JOB_TIMEOUT_SECONDS | 任务超时秒数 | 1800 |
RUN_ON_START | 启动即执行(1/0) | 1 |
TZ | 时区 | Asia/Shanghai |
./data 目录保存了运行时状态,容器重建后不会丢失:
schedule_state.json — 调度状态(下次运行时间、上次执行结果)config.json — Web 界面修改的配置/etc/localtime 和 /usr/share/zoneinfo,确保容器内时间与宿主机一致。如果宿主机没有这些文件,可去掉挂载,仅依赖 TZ 环境变量(需镜像包含 tzdata)。5500 → 容器 8080,按需修改 docker-compose.yml 中的 ports。WEB_USERNAME 和 WEB_PASSWORD。Content type
Image
Digest
sha256:5c6a65373…
Size
923.9 MB
Last updated
5 months ago
docker pull 73tong/mt-login-sendmail