# 环境配置模板 # 复制此文件为 .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 # =========================================== # 管理员后台配置(开发环境推荐配置) # =========================================== # 管理员Token签名密钥(至少16字符,生产环境务必使用强随机值) ADMIN_TOKEN_SECRET=dev_admin_token_secret_change_me_32chars # 管理员Token有效期(秒),默认8小时 ADMIN_TOKEN_TTL_SECONDS=28800 # 启动引导创建管理员账号(仅当 enabled=true 时生效) ADMIN_BOOTSTRAP_ENABLED=false # 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.gmail.com # EMAIL_PORT=587 # EMAIL_SECURE=false # EMAIL_USER=your_email@gmail.com # EMAIL_PASS=your_app_password # EMAIL_FROM="Whale Town Game" # 生产环境设置(生产环境取消注释) # NODE_ENV=production # LOG_LEVEL=info # =========================================== # Zulip 集成配置 # =========================================== # Zulip 服务器配置 ZULIP_SERVER_URL=https://zulip.xinghangee.icu/ ZULIP_BOT_EMAIL=cbot-bot@zulip.xinghangee.icu 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