# 环境配置模板 # 复制此文件为 .env 并根据需要修改配置 # =========================================== # 测试模式配置(开发/测试环境推荐) # =========================================== # 使用以下配置可以在没有数据库和邮件服务器的情况下进行测试 # 1. 复制此文件为 .env # 2. 保持数据库和邮件配置为注释状态 # 3. 运行 npm run dev 启动服务 # 4. 运行测试脚本:./test-api.ps1 (Windows) 或 ./test-api.sh (Linux/macOS) # 应用配置 NODE_ENV=development PORT=3000 LOG_LEVEL=debug # =========================================== # 测试用户配置 # =========================================== # 用于测试邮箱冲突逻辑的真实用户 TEST_USER_EMAIL=your_test_email@example.com TEST_USER_USERNAME=your_test_username TEST_USER_PASSWORD=your_test_password TEST_USER_NICKNAME=测试用户 # =========================================== # 管理员后台配置(开发环境推荐配置) # =========================================== # 管理员Token签名密钥(至少16字符,生产环境务必使用强随机值) ADMIN_TOKEN_SECRET=dev_admin_token_secret_change_me_32chars # 管理员Token有效期(秒),默认8小时 ADMIN_TOKEN_TTL_SECONDS=28800 # 启动引导创建管理员账号(仅当 enabled=true 时生效) ADMIN_BOOTSTRAP_ENABLED=true ADMIN_USERNAME=admin ADMIN_PASSWORD=Admin123456 ADMIN_NICKNAME=管理员 # JWT 配置 JWT_SECRET=test_jwt_secret_key_for_development_only_32chars JWT_EXPIRES_IN=7d # Redis 配置(测试模式:使用文件存储) USE_FILE_REDIS=true REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD= REDIS_DB=0 # =========================================== # 生产环境配置(取消注释并填入真实数据) # =========================================== # 数据库配置(生产环境取消注释) DB_HOST=your_mysql_host DB_PORT=3306 DB_USERNAME=your_db_username DB_PASSWORD=your_db_password DB_NAME=your_db_name # Redis 配置(生产环境取消注释并设置 USE_FILE_REDIS=false) # USE_FILE_REDIS=false # REDIS_HOST=your_redis_host # REDIS_PORT=6379 # REDIS_PASSWORD=your_redis_password # REDIS_DB=0 # 邮件服务配置(生产环境取消注释) EMAIL_HOST=smtp.163.com EMAIL_PORT=465 EMAIL_SECURE=true EMAIL_USER=your_email@163.com EMAIL_PASS=your_email_app_password EMAIL_FROM="whaletown " # 生产环境设置(生产环境取消注释) # NODE_ENV=production # LOG_LEVEL=info # =========================================== # Zulip 集成配置 # =========================================== # Zulip 配置模式 # static: 使用静态配置文件 (config/zulip/map-config.json) # dynamic: 从Zulip服务器动态获取Stream作为地图 # hybrid: 混合模式,优先动态,回退静态 (推荐) ZULIP_CONFIG_MODE=hybrid # Zulip 服务器配置 ZULIP_SERVER_URL=https://your-zulip-server.com/ ZULIP_BOT_EMAIL=your-bot@your-zulip-server.com ZULIP_BOT_API_KEY=your_bot_api_key # Zulip API Key加密密钥(生产环境必须配置,至少32字符) ZULIP_API_KEY_ENCRYPTION_KEY=your_32_character_encryption_key_here # Zulip 错误处理配置 ZULIP_DEGRADED_MODE_ENABLED=false ZULIP_AUTO_RECONNECT_ENABLED=true ZULIP_MAX_RECONNECT_ATTEMPTS=5 ZULIP_RECONNECT_BASE_DELAY=5000 ZULIP_API_TIMEOUT=30000 ZULIP_MAX_RETRIES=3 # Zulip 连接限制配置 ZULIP_MAX_CONNECTIONS=100 ZULIP_SESSION_TIMEOUT=30 ZULIP_CLEANUP_INTERVAL=5 # Zulip 消息配置 ZULIP_MESSAGE_RATE_LIMIT=10 ZULIP_MESSAGE_MAX_LENGTH=10000 ZULIP_CONTENT_FILTER_ENABLED=true # ZULIP_SENSITIVE_WORDS_PATH=config/zulip/sensitive-words.txt # Zulip 允许的Stream列表(逗号分隔,空表示允许所有) # ZULIP_ALLOWED_STREAMS=General,Novice Village,Tavern # WebSocket配置 # WEBSOCKET_PORT=3000 # WEBSOCKET_NAMESPACE=/game # WEBSOCKET_PING_INTERVAL=25000 # WEBSOCKET_PING_TIMEOUT=5000 # =========================================== # 监控配置 # =========================================== # 健康检查间隔(毫秒) MONITORING_HEALTH_CHECK_INTERVAL=60000 # 错误率阈值(0-1) MONITORING_ERROR_RATE_THRESHOLD=0.1 # API响应时间阈值(毫秒) MONITORING_RESPONSE_TIME_THRESHOLD=5000 # 内存使用阈值(0-1) MONITORING_MEMORY_THRESHOLD=0.9