# =========================================== # 环境变量配置说明 # =========================================== # .env - 默认开发配置,提交到仓库 # .env.local - 本地覆盖配置,不提交(敏感信息放这里) # =========================================== # ----- 数据库配置 ----- # PostgreSQL 连接字符串 # 格式: postgresql://用户名:密码@主机:端口/数据库名 # 本地开发使用 docker compose 启动: docker compose -f deploy/docker-compose.yml up -d DATABASE_URL="postgresql://dev:dev@localhost:5432/seclusion" # ----- Redis 配置 ----- # Redis 连接字符串 # 格式: redis://[用户名:密码@]主机:端口[/数据库号] # 本地开发使用 docker compose 启动: docker compose -f deploy/docker-compose.yml up -d REDIS_URL="redis://localhost:6379" # ----- JWT 配置 ----- # JWT 签名密钥(生产环境必须修改为强随机字符串) JWT_SECRET="your-super-secret-key-change-in-production" # JWT 过期时间(支持格式: 60, "2 days", "10h", "7d") JWT_EXPIRES_IN="7d" # ----- 应用配置 ----- # 服务端口 PORT=4000 # 运行环境: development | production | test NODE_ENV=development # 前端 URL(用于 OIDC 交互重定向) FRONTEND_URL=http://localhost:3000 # ----- 加密配置 ----- # 是否启用通信加密 (true/false) ENABLE_ENCRYPTION=false # AES-256-GCM 加密密钥 (32 字节 Base64 编码) # 生成方式: openssl rand -base64 32 # 注意: 生产环境必须使用强随机密钥,且前后端保持一致 ENCRYPTION_KEY= # ----- SMTP 邮件配置 ----- # SMTP 服务器地址 SMTP_HOST=smtp.example.com # SMTP 端口(通常 587 或 465) SMTP_PORT=587 # 是否使用 SSL/TLS(端口 465 时通常为 true) SMTP_SECURE=false # SMTP 用户名 SMTP_USER=your-email@example.com # SMTP 密码或应用专用密码 SMTP_PASS=your-password # 发件人地址 SMTP_FROM=noreply@example.com # ----- MinIO 对象存储配置 ----- # MinIO 服务地址 MINIO_ENDPOINT=localhost # MinIO 端口 MINIO_PORT=9000 # 是否使用 SSL MINIO_USE_SSL=false # MinIO 访问密钥 MINIO_ACCESS_KEY=minioadmin # MinIO 密钥 MINIO_SECRET_KEY=minioadmin # 存储桶名称 MINIO_BUCKET=seclusion # 公开访问 URL(可选,用于 CDN 或 Nginx 代理) # 如果设置,将使用此 URL 作为文件访问地址前缀 # 示例: https://cdn.example.com 或 https://example.com/storage MINIO_PUBLIC_URL= # ----- OIDC Provider 配置 ----- # OIDC 签发者 URL(必须是可公开访问的 URL,包含 /oidc 路径) OIDC_ISSUER=http://localhost:4000/oidc # OIDC Cookie 签名密钥(生产环境必须修改) OIDC_COOKIE_SECRET=oidc-cookie-secret-change-in-production # OIDC JWKS 私钥(RS256,PEM 格式,Base64 编码) # 生成方式: openssl genrsa 2048 | base64 -w 0 # 注意: 生产环境必须配置,开发环境可留空使用临时密钥 OIDC_JWKS_PRIVATE_KEY=