# 环境变量模板:复制为 .env 后填写实际值。不要提交 .env 或 .env.local。 # 优先级:系统环境变量 > .env.local > .env。 # ==================== 运行模式 ==================== # APP_ENV:production(生产)/ development(开发)。 APP_ENV=production # 是否开启 Flask 调试与热重载。生产必须为 false。 DEBUG=false # ==================== 会话与基础安全 ==================== # SECRET_KEY:会话加密密钥。执行 python -c "import secrets; print(secrets.token_hex(32))" 生成。 SECRET_KEY=replace-with-a-long-random-secret # ==================== 管理员初始化 ==================== # 首次启动时创建管理员;之后不会用这些值覆盖管理员密码。 ADMIN_USERNAME=admin ADMIN_PASSWORD=replace-with-a-strong-password ADMIN_EMAIL=admin@waternetwork.cn # ==================== 数据与文件 ==================== # DATABASE_URL:数据库连接。默认使用项目 data 目录中的 SQLite 文件。 DATABASE_URL=sqlite:////app/data/pipe_survival.db # 页面展示的时区。 APP_TIMEZONE=Asia/Shanghai # 单个上传文件最大字节数,16 MiB = 16777216。 MAX_UPLOAD_BYTES=16777216 # 模型核心目录。 FUSION_MODEL_CORE_DIR=/app/model_core # ==================== 注册与邮件服务 ==================== # ALLOW_REGISTRATION:是否允许公开自助注册。 ALLOW_REGISTRATION=false # Resend 邮件服务。发件地址必须已在 Resend 验证。 RESEND_API_KEY=re_xxxxxxxxx RESEND_FROM_EMAIL=no-reply@waternetwork.cn # ==================== 登录认证与会话期限 ==================== # 邮件验证码:有效期(分钟)、重发间隔(秒)、最大尝试次数。 EMAIL_CODE_MINUTES=10 EMAIL_CODE_RESEND_SECONDS=60 EMAIL_CODE_MAX_ATTEMPTS=5 # 邮箱验证码通过后,用于改密和找回密码的短时授权(分钟)。 FRESH_AUTH_MINUTES=5 # 受信设备的有效期(天)。 TRUSTED_DEVICE_DAYS=30 # SESSION_COOKIE_SECURE:HTTPS 下必须为 true;本地 HTTP 开发环境设为 false。 SESSION_COOKIE_SECURE=true