ImageFlow

环境变量说明

通过创建和编辑位于 ImageFlow 项目根目录下的 .env 文件来配置系统。如果您还没有 .env 文件,请先将 .env.example 复制为 .env

cp .env.example .env

以下是主要的配置项说明:

.env
 
# === API 密钥配置 ===
# 设置一个强壮且唯一的 API 密钥,用于保护上传和管理接口。
API_KEY=your_api_key_here
 
# === 存储配置 ===
# 选择用于存储图片的后端。
# 可选项: 'local' (本地存储) 或 's3' (S3 兼容存储,如 AWS S3, R2)
STORAGE_TYPE=local
 
# --- 本地存储设置 (当 STORAGE_TYPE=local 时) ---
# 相对于应用程序根目录的图片存储路径。
LOCAL_STORAGE_PATH=static/images
 
# --- S3 存储设置 (当 STORAGE_TYPE=s3 时) ---
# 当 STORAGE_TYPE 为 's3' 时需要填写。
S3_ENDPOINT=            # S3 兼容存储的端点 URL (例如:s3.amazonaws.com )
S3_REGION=              # S3 存储桶所在的区域 (例如:us-east-1)
S3_ACCESS_KEY=          # S3 访问密钥 ID
S3_SECRET_KEY=          # S3 访问密钥密文
S3_BUCKET=              # 要使用的 S3 存储桶名称
S3_USE_SSL=true         # S3 连接是否使用 SSL/TLS (true/false)
CUSTOM_DOMAIN=          # S3 自定义的存储桶域名
 
# === Redis 配置 (可选) ===
# 启用 Redis 以提高存储元数据和标签的性能。
# 如果为 false,元数据将作为 JSON 文件存储在图片旁边。
# 未来支持其他
METADATA_STORE_TYPE=redis
 
# --- Redis 连接设置 (当 REDIS_ENABLED=true 时) ---
REDIS_HOST=localhost      # Redis 服务器主机名或 IP 地址
REDIS_PORT=6379           # Redis 服务器端口
REDIS_PASSWORD=           # Redis 密码 (如果没有则留空)
REDIS_DB=0                # Redis 数据库编号
REDIS_TLS_ENABLED=false   # Redis 连接是否启用 TLS/SSL (true/false)
 
# === 图像处理配置 ===
# 单个上传请求中允许的最大图片数量。
# WebP/AVIF 转换的质量设置 (1-100, 越高表示质量越好,文件越大)。
# 用于处理的并行工作线程数
# 范围:0-8 0-8,0=最慢/最高质量,8=最快/最低质量
# 用于并发图像处理的工作线池大小
MAX_UPLOAD_COUNT=20
IMAGE_QUALITY=75
WORKER_THREADS=4
SPEED=5
WORKER_POOL_SIZE=4
 
# 只有前后端分离才需要的参数
# 前端配置
# 如果您只想导出静态网站,可以将以下内容设置为空(分离必须填写)
NEXT_PUBLIC_API_URL=https://backend:8686
 
# Next.js 图片组件的远程模式(逗号分隔)
# 示例:
# 单域名:example.com
# 多域名:example.com,cdn.example.com
# 协议:https://example.com,http://cdn.example.com
# 一般填写后端域名地址和S3的自定义域名地址
NEXT_PUBLIC_REMOTE_PATTERNS=https://backend:8686,https://CUSTOM_DOMAIN