# 运行模式:api | worker IMAGEFORGE_ROLE=api # 服务配置 HOST=0.0.0.0 PORT=8080 PUBLIC_BASE_URL=http://localhost:8080 RUST_LOG=info,tower_http=info,imageforge=debug # 数据库 DATABASE_URL=postgres://imageforge:devpassword@localhost:5432/imageforge DATABASE_MAX_CONNECTIONS=10 # Redis REDIS_URL=redis://localhost:6379 # Worker 并发(每个批量任务内同时处理的文件数) WORKER_CONCURRENCY=4 # 单进程图片处理并发上限(API 与 Worker 均生效,默认等于 CPU 线程数) IMAGE_PROCESSING_CONCURRENCY=4 # 仅当后端只能由可信反向代理访问时启用,否则客户端可伪造来源 IP TRUST_PROXY_HEADERS=false # JWT(网站/管理后台) JWT_SECRET=your-super-secret-key-change-in-production JWT_EXPIRY_HOURS=168 # API Key(仅 Pro/Business 可创建) API_KEY_PEPPER=please-change-this-in-production # 本地回退与批处理临时目录;S3 端点在管理后台配置 STORAGE_PATH=./uploads # 计费(已确认:Stripe) BILLING_PROVIDER=stripe STRIPE_SECRET_KEY=sk_test_xxx STRIPE_WEBHOOK_SECRET=whsec_xxx # 邮件服务(注册验证 + 密码重置) MAIL_ENABLED=false MAIL_LOG_LINKS_WHEN_DISABLED=true MAIL_PROVIDER=qq # qq | 163 | aliyun_enterprise | tencent_enterprise | gmail | outlook | custom MAIL_FROM=noreply@example.com MAIL_PASSWORD=your-smtp-authorization-code MAIL_FROM_NAME=ImageForge # MAIL_SMTP_HOST=smtp.example.com # MAIL_SMTP_PORT=465 # MAIL_SMTP_ENCRYPTION=ssl # ssl | starttls | none # 限制(默认值;最终以套餐/用户覆盖为准) ALLOW_ANONYMOUS_UPLOAD=true ANON_MAX_FILE_SIZE_MB=5 ANON_MAX_FILES_PER_BATCH=5 ANON_DAILY_UNITS=10 MAX_IMAGE_PIXELS=40000000 IDEMPOTENCY_TTL_HOURS=24 # 结果保留(匿名默认;登录用户按套餐 retention_days) ANON_RETENTION_HOURS=24 # 管理员初始账户(首启可自动创建;ADMIN_EMAIL 可留空) ADMIN_EMAIL=admin@example.com ADMIN_USERNAME=admin ADMIN_PASSWORD=changeme123