config.env.example 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. # =============================================================================
  2. # FranklinWH Toolbox 后端配置示例
  3. # 使用方式:复制为 config.env(或 .env)后按需修改,切勿把真实密钥提交到仓库。
  4. # 读取优先级:./.env -> ./config.env ;环境变量可覆盖文件内配置。
  5. #
  6. # 【填写说明】带 “# TODO:” 的行是需要你确认或填写的项。
  7. # - [必填] 必须改成真实值,否则服务无法正常工作
  8. # - [确认] 有默认值,请确认是否符合你的环境
  9. # - [可选] 用到对应功能才需要填(Plane / MQTT / 测试环境等)
  10. # =============================================================================
  11. # ---------- APP ----------
  12. # TODO: [确认] 运行环境:pro=生产 / dev=开发
  13. APP_ENV="dev"
  14. # TODO: [确认] 后端监听端口(仅 localhost)。反向代理 /fwh-toolbox/api 指向此端口。
  15. APP_PORT="8301"
  16. # TODO: [可选] 日志级别强制指定:debug/info/warn/error,留空则使用环境默认级别
  17. # (dev 默认 info,pro 默认 warn)。排查问题时可临时设为 debug。
  18. LOG_LEVEL=""
  19. # TODO: [确认] Asynqmon 任务监控面板监听端口
  20. ASYNQMON_PORT="8302"
  21. # ---------- 本地数据库 ----------
  22. # TODO: [必填] PostgreSQL 连接串——把 password=CHANGE_ME 改为 fwh_toolbox 角色的真实密码
  23. # (需与初始化数据库时设置的 PG_FWH_PASSWORD 一致)
  24. POSTGRES_DSN="host=localhost user=fwh_toolbox password=CHANGE_ME dbname=fwh_toolbox_db port=5432 sslmode=disable"
  25. # TODO: [确认] MongoDB 连接串——生产用 FwhToolboxDb,开发用 FwhToolboxDbDev
  26. MONGO_DSN="mongodb://127.0.0.1:27017/FwhToolboxDb"
  27. # TODO: [确认] Redis 地址(缓存 + Asynq 任务队列)
  28. REDIS_ADDR="localhost:6379"
  29. # TODO: [必填/可选] 远端只读 MySQL(FWH 生产库 home_energy_storage_server)。
  30. # 用到站点信息查询功能时必填:替换 USER/PASSWORD/HOST/PORT 为只读账号;不用可留空。
  31. MYSQL_DSN="USER:PASSWORD@tcp(HOST:PORT)/home_energy_storage_server?charset=utf8mb4&parseTime=True&loc=Local"
  32. # ---------- MinIO(本地对象存储)----------
  33. # TODO: [确认] MinIO S3 API 地址
  34. MINIO_ENDPOINT="localhost:9198"
  35. # TODO: [必填] MinIO Access Key(须与 MinIO 服务实际配置一致)
  36. MINIO_ACCESS_KEY="fwh-toolbox"
  37. # TODO: [必填] MinIO Secret Key
  38. MINIO_SECRET_KEY="fwh-toolbox"
  39. # TODO: [确认] 业务 bucket 名(需与 init_databases.sh 创建的 bucket 一致)
  40. MINIO_BUCKET_NAME="fwh-toolbox"
  41. # ---------- FWH API(生产)----------
  42. # TODO: [确认] FWH 生产 API 域名
  43. FWH_ENERGY="energy.franklinwh.com"
  44. FWH_OSS="oss.franklinwh.com"
  45. # TODO: [必填] FWH 生产账号
  46. FWH_USER="FMU006"
  47. # TODO: [必填] FWH 生产账号密码(此处填明文,后端提交 MD5 摘要)
  48. FWH_PASSWORD="CHANGE_ME"
  49. # 账号需要 TOTP 时填写认证器提供的 Base32 密钥;不需要时留空。
  50. FWH_TOTP_SECRET=""
  51. # 可选:设置后在独立端口启用 /fwh-totp 页面(Basic Auth 用户名固定为 fwh)。
  52. # 请使用独立强密码,勿与 FWH_TOTP_SECRET 或 FWH_PASSWORD 相同。
  53. FWH_TOTP_VIEW_PASSWORD=""
  54. # TOTP 页面独立监听地址和端口(默认仅本机访问)。
  55. FWH_TOTP_VIEW_HOST="127.0.0.1"
  56. FWH_TOTP_VIEW_PORT="8303"
  57. # ---------- FWH API(测试,可选)----------
  58. # TODO: [可选] 测试环境 FWH 账号,仅在需要连测试服时填写
  59. FWH_TEST_ENERGY="test.franklinwh.com"
  60. FWH_TEST_OSS="test.franklinwh.com"
  61. FWH_TEST_USER="SuperAdmin"
  62. FWH_TEST_PASSWORD="CHANGE_ME"
  63. # ---------- FWH MQTT(生产)----------
  64. # TODO: [确认] MQTT Broker 地址
  65. FWH_MQTT_BROKER="tls://a6f63crce3ufk-ats.iot.us-east-2.amazonaws.com:8883"
  66. # TODO: [必填] 把生产 MQTT 证书放到 server/cert/pro/ 下,并确认下面路径正确
  67. FWH_MQTT_CA="./cert/pro/AmazonRootCA1.pem"
  68. FWH_MQTT_CERT="./cert/pro/deviceCert.crt"
  69. FWH_MQTT_KEY="./cert/pro/deviceCert.key"
  70. # ---------- FWH MQTT(测试,可选)----------
  71. # TODO: [可选] 测试环境 MQTT,用到测试服才需要;证书放 server/cert/test/
  72. FWH_MQTT_TEST_BROKER="tls://a35sger20yyec4-ats.iot.us-west-2.amazonaws.com:8883"
  73. FWH_MQTT_TEST_CA="./cert/test/AmazonRootCA1.pem"
  74. FWH_MQTT_TEST_CERT="./cert/test/01.certificate.pem.crt"
  75. FWH_MQTT_TEST_KEY="./cert/test/01.private.pem.key"
  76. # ---------- Plane(项目管理,可选)----------
  77. # TODO: [可选] 仅在启用 Plane 反馈/任务同步功能时填写以下所有 Plane 相关项
  78. PLANE_HOST="http://localhost:8600"
  79. PLANE_API_KEY="CHANGE_ME"
  80. PLANE_WORKSPACE_SLUG="fwh"
  81. PLANE_PROJECT_ID="CHANGE_ME"
  82. PLANE_WEB_HOST="http://localhost:8600"
  83. PLANE_WEB_EMAIL="CHANGE_ME"
  84. PLANE_WEB_PASSWORD="CHANGE_ME"
  85. PLANE_WEB_WORKSPACE_SLUG="fwh"
  86. PLANE_WEB_PROJECT_ID="CHANGE_ME"
  87. PLANE_WEB_LABEL_BUG="CHANGE_ME"
  88. PLANE_WEB_LABEL_FEATURE="CHANGE_ME"
  89. PLANE_WEB_LABEL_FEEDBACK="CHANGE_ME"
  90. # ---------- Kiro(AI Chat 子进程降权,可选)----------
  91. # TODO: [确认] 拉起 kiro-cli 子进程时降权到的系统用户及其 HOME(改成目标机的实际用户)
  92. KIRO_RUN_AS_USER=jerry-remote
  93. KIRO_HOME=/home/jerry-remote
  94. # ---------- 新 AI 助手(AgentServer,可选)----------
  95. # 见 docs/ai-assistant-agentserver/technical-design.md §3.2;未开启时 AI 助手页面显示暂未开放、/agent/* 接口返回 403
  96. # AGENT_ENABLED=true
  97. # AGENT_SERVER_URL=http://127.0.0.1:8787
  98. # TODO: [必填] AgentServer 后台签发的平台 API Key(只放后端,勿提交真实值)
  99. # AGENT_SERVER_API_KEY="CHANGE_ME"
  100. # 默认 Profile;留空使用 API Key 的默认 Profile
  101. # AGENT_PROFILE_DEFAULT=prf_xxx
  102. # 可选:角色 → Profile,按顺序取第一个命中的
  103. # AGENT_PROFILE_BY_ROLE=ops:prf_yyy,admin:prf_zzz
  104. # 可选:允许使用的角色,逗号分隔;留空表示所有登录用户
  105. # AGENT_ALLOWED_ROLES=
  106. # ---------- SIM 卡每日流量日报(可选)----------
  107. # TODO: [可选] 钉钉自定义机器人 Webhook;留空则不统计、不发送日报。
  108. # 不要把真实 access_token 或加签密钥提交到仓库。
  109. SIM_CARD_DINGTALK_WEBHOOK=""
  110. # TODO: [可选] 机器人启用“加签”安全设置时填写 SEC 开头的密钥。
  111. SIM_CARD_DINGTALK_SECRET=""