Repository navigation
Expand file tree
/
Copy pathdocker-compose.prebuilt.yml
More file actions
68 lines (66 loc) · 2.59 KB
/
Copy pathdocker-compose.prebuilt.yml
File metadata and controls
68 lines (66 loc) · 2.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# ============================================================================
# Magicmail Docker Compose (预构建镜像版)
# 使用预构建镜像: magiccode1412/magicmail:latest
# 无需本地构建,拉取即用
#
# 用法:
# docker compose -f docker-compose.prebuilt.yml up -d # 启动服务
# docker compose -f docker-compose.prebuilt.yml down # 停止并删除容器
# docker compose -f docker-compose.prebuilt.yml logs -f # 查看日志
# docker compose -f docker-compose.prebuilt.yml restart # 重启服务
#
# 数据持久化: ./docker-data/ 目录
# =============================================================================
services:
magicmail:
image: magiccode1412/magicmail:latest
container_name: magicmail
restart: unless-stopped
ports:
- "${MAGICMAIL_PORT:-8080}:8080"
volumes:
# SQLite 数据库 + 附件缓存持久化
- ./docker-data:/app/data
environment:
# ─── 用户权限(入口脚本会自动 chown 数据目录至此用户) ──
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
# ─── 运行模式 ──────────────────────
- MAGICMAIL_ENV=production
# ─── 服务监听 ──────────────────────
- MAGICMAIL_HOST=0.0.0.0
- MAGICMAIL_PORT=${MAGICMAIL_PORT:-8080}
- MAGICMAIL_DSN=/app/data/magicmail.db
# ─── CORS(按需修改域名) ──────────
# - MAGICMAIL_CORS_ORIGINS=https://mail.example.com
# ─── IMAP 同步调优 ─────────────────
# - MAGICMAIL_POLL_INTERVAL=60
# - MAGICMAIL_IDLE_HEARTBEAT=60
# - MAGICMAIL_MAX_CONCURRENT=10
# ─── 附件缓存(混合模式) ──────────
# - MAGICMAIL_AUTO_CACHE=false
# - MAGICMAIL_CACHE_THRESHOLD=2
# - MAGICMAIL_MIN_DISK_FREE=1024
# ─── 时区 ──────────────────────────
- TZ=${TZ:-Asia/Shanghai}
healthcheck:
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://localhost:8080/"]
interval: 30s
timeout: 5s
start_period: 15s
retries: 3
# 资源限制(按需调整)
deploy:
resources:
limits:
memory: ${MAGICMAIL_MEMORY_LIMIT:-512M}
reservations:
memory: ${MAGICMAIL_MEMORY_RESERVATION:-128M}
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
default:
name: magicmail-network