fe7649ed6e
- feat(deploy): 前端多阶段构建 (vite build + nginx:alpine),移除 Vite 开发模式 - feat(deploy): OpenResty HTTPS 配置 (SSL + HSTS + 安全头) - fix(ws): WebSocket 路由添加 /api 前缀,修正前后端路径不匹配 - security: SSH AutoAddPolicy → WarningPolicy - security: CORS 来源环境变量化 (CORS_ORIGINS) - security: 限流器使用 X-Forwarded-For 真实客户端 IP - perf(db): 数据库连接池配置 (pool_size=20, max_overflow=40) - refactor: 移除硬编码 URL/IP (NTP、域名、微信代理),改为环境变量 - chore: 更新 .env.example 模板,补充新增配置项 - chore: 清理 .reasonix/、scripts/、guide.md 无用文件 - docs: 更新 CLAUDE.md 至 v0.10.0,补充生产架构文档 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
209 lines
4.8 KiB
Bash
209 lines
4.8 KiB
Bash
# H3C ONU设备管理系统 - 环境变量配置示例
|
|
# 复制此文件为 .env 并修改相应配置
|
|
|
|
# ============================================
|
|
# 应用基础配置
|
|
# ============================================
|
|
|
|
# 应用环境 (development, production)
|
|
APP_ENV=production
|
|
|
|
# 调试模式 (true/false)
|
|
DEBUG=false
|
|
|
|
# 应用密钥 (使用 openssl rand -hex 32 生成)
|
|
SECRET_KEY=your-secret-key-change-in-production
|
|
|
|
# 时区设置
|
|
TZ=Asia/Shanghai
|
|
|
|
# ============================================
|
|
# 数据库配置 (PostgreSQL)
|
|
# ============================================
|
|
|
|
# PostgreSQL连接字符串
|
|
# 格式: postgresql://username:password@host:port/database
|
|
DATABASE_URL=postgresql://h3c_user:your_password@postgres-host:5432/h3c_onu_ms
|
|
|
|
# 数据库连接池配置
|
|
DATABASE_POOL_SIZE=20
|
|
DATABASE_MAX_OVERFLOW=40
|
|
DATABASE_POOL_RECYCLE=3600
|
|
|
|
# ============================================
|
|
# Redis配置
|
|
# ============================================
|
|
|
|
# Redis连接URL (如果使用外部Redis,修改为外部地址)
|
|
REDIS_URL=redis://:redispass@redis:6379/0
|
|
|
|
# Redis密码 (容器内Redis使用)
|
|
REDIS_PASSWORD=redispass
|
|
|
|
# Redis连接池大小
|
|
REDIS_POOL_SIZE=10
|
|
|
|
# ============================================
|
|
# Casdoor认证配置
|
|
# ============================================
|
|
|
|
# Casdoor服务地址
|
|
CASDOOR_ENDPOINT=https://casdoor.example.com
|
|
|
|
# 应用Client ID
|
|
CASDOOR_CLIENT_ID=your_casdoor_client_id
|
|
|
|
# 应用Client Secret
|
|
CASDOOR_CLIENT_SECRET=your_casdoor_client_secret
|
|
|
|
# 应用Certificate
|
|
CASDOOR_CERTIFICATE=your_casdoor_certificate
|
|
|
|
# 组织名称
|
|
CASDOOR_ORG_NAME=your_organization
|
|
|
|
# 应用名称
|
|
CASDOOR_APP_NAME=h3c-onu-ms
|
|
|
|
# Casdoor 回调地址(部署后改为实际域名)
|
|
CASDOOR_REDIRECT_URL=
|
|
|
|
# ============================================
|
|
# SSH连接配置
|
|
# ============================================
|
|
|
|
# SSH连接超时时间(秒)
|
|
SSH_TIMEOUT=30
|
|
|
|
# 最大并发连接数
|
|
SSH_MAX_CONNECTIONS=10
|
|
|
|
# SSH重试次数
|
|
SSH_RETRY_COUNT=3
|
|
|
|
# SSH连接保持时间(秒)
|
|
SSH_KEEPALIVE=60
|
|
|
|
# ============================================
|
|
# 任务调度配置
|
|
# ============================================
|
|
|
|
# 自动检查间隔(秒) - 30分钟
|
|
CHECK_INTERVAL=1800
|
|
|
|
# 手动刷新冷却时间(秒) - 5分钟
|
|
MANUAL_COOLDOWN=300
|
|
|
|
# 历史记录保留天数
|
|
HISTORY_RETENTION=90
|
|
|
|
# 批量检查设备数量
|
|
BATCH_CHECK_SIZE=100
|
|
|
|
# ============================================
|
|
# 前端 & CORS 配置
|
|
# ============================================
|
|
|
|
# 前端访问地址
|
|
FRONTEND_URL=https://your-domain.com
|
|
|
|
# CORS允许的域名 (逗号分隔)
|
|
CORS_ORIGINS=http://localhost:8080,http://localhost:5173
|
|
|
|
# ============================================
|
|
# NTP 同步配置
|
|
# ============================================
|
|
|
|
# NTP 旧服务器 IP
|
|
NTP_OLD_SERVER=172.16.0.254
|
|
# NTP 新服务器 IP
|
|
NTP_NEW_SERVER=172.16.1.252
|
|
|
|
# ============================================
|
|
# iMC 网管 API 配置(ONU 远程重启/光功率查询)
|
|
# ============================================
|
|
|
|
IMC_API_URL=
|
|
IMC_API_USERNAME=
|
|
IMC_API_PASSWORD=
|
|
# 本地认证不需要 SSL 验证
|
|
IMC_API_VERIFY_SSL=false
|
|
IMC_CONNECT_TIMEOUT=5
|
|
IMC_READ_TIMEOUT=20
|
|
|
|
# ============================================
|
|
# 日志配置
|
|
# ============================================
|
|
|
|
# 日志级别 (DEBUG, INFO, WARNING, ERROR)
|
|
LOG_LEVEL=INFO
|
|
|
|
# 日志文件路径
|
|
LOG_FILE=/app/logs/app.log
|
|
|
|
# 日志轮转大小
|
|
LOG_ROTATION=10MB
|
|
|
|
# 日志保留天数
|
|
LOG_RETENTION=30
|
|
|
|
# ============================================
|
|
# 邮件通知配置 (可选)
|
|
# ============================================
|
|
|
|
# SMTP服务器
|
|
# SMTP_HOST=smtp.example.com
|
|
# SMTP_PORT=587
|
|
# SMTP_USER=your_email@example.com
|
|
# SMTP_PASSWORD=your_email_password
|
|
# SMTP_FROM=noreply@example.com
|
|
|
|
# ============================================
|
|
# 监控配置
|
|
# ============================================
|
|
|
|
# 健康检查端口
|
|
HEALTH_CHECK_PORT=8000
|
|
|
|
# 监控指标端口
|
|
METRICS_PORT=8000
|
|
|
|
# ============================================
|
|
# 安全配置
|
|
# ============================================
|
|
|
|
# 速率限制配置
|
|
RATE_LIMIT_PER_MINUTE=60
|
|
RATE_LIMIT_PER_HOUR=1000
|
|
|
|
# ============================================
|
|
# 备份配置
|
|
# ============================================
|
|
|
|
# 数据库备份目录
|
|
BACKUP_DIR=/app/backups
|
|
|
|
# 企业微信告警配置
|
|
WECHAT_CORPID=
|
|
WECHAT_CORPSECRET=
|
|
WECHAT_AGENTID=
|
|
WECHAT_TOKEN=
|
|
WECHAT_ENCODING_AES_KEY=
|
|
WECHAT_USE_PROXY=True
|
|
WECHAT_PROXY_API_URL=
|
|
|
|
# 备份保留天数
|
|
BACKUP_RETENTION=30
|
|
|
|
# 自动备份时间 (cron格式)
|
|
BACKUP_SCHEDULE="0 2 * * *"
|
|
|
|
# ============================================
|
|
# 开发环境覆盖配置
|
|
# ============================================
|
|
|
|
# 如果是开发环境,取消注释以下配置
|
|
# DEBUG=true
|
|
# DATABASE_URL=postgresql://h3c_user:password@localhost:5432/h3c_onu_ms_dev
|
|
# REDIS_URL=redis://localhost:6379/0
|
|
# VITE_API_BASE_URL=http://localhost:8000 |