一套完整通过 IMAP 协议代理收取多个邮箱账号的邮件的邮件代收系统
6.8K
一套完整的邮件代收系统,基于 Go (Fiber + GORM + SQLite) 后端 + Vue3 PWA 前端。通过 IMAP 协议代理收取多个邮箱账号的邮件,统一存储至本地数据库,以现代化 PWA 客户端呈现。
docker run -d \
-p 8080:8080 \
-v ./docker-data:/app/data \
--name magicmail \
--restart unless-stopped \
magiccode1412/magicmail:latest
services:
magicmail:
image: magiccode1412/magicmail:latest
container_name: magicmail
restart: unless-stopped
ports:
- "${MAGICMAIL_PORT:-8080}:8080"
volumes:
# SQLite 数据库 + 附件缓存持久化
- ./docker-data:/app/data
environment:
# ─── 运行模式 ──────────────────────
- 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=300
# - 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", "--no-verbose", "--tries=1", "--spider", "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
Content type
Image
Digest
sha256:ca9161da9…
Size
11.9 MB
Last updated
1 day ago
docker pull magiccode1412/magicmail