# ============================================================================= # FranklinWH Toolbox 后端配置示例 # 使用方式:复制为 config.env(或 .env)后按需修改,切勿把真实密钥提交到仓库。 # 读取优先级:./.env -> ./config.env ;环境变量可覆盖文件内配置。 # # 【填写说明】带 “# TODO:” 的行是需要你确认或填写的项。 # - [必填] 必须改成真实值,否则服务无法正常工作 # - [确认] 有默认值,请确认是否符合你的环境 # - [可选] 用到对应功能才需要填(Plane / MQTT / 测试环境等) # ============================================================================= # ---------- APP ---------- # TODO: [确认] 运行环境:pro=生产 / dev=开发 APP_ENV="dev" # TODO: [确认] 后端监听端口(仅 localhost)。反向代理 /fwh-toolbox/api 指向此端口。 APP_PORT="8301" # TODO: [可选] 日志级别强制指定:debug/info/warn/error,留空则使用环境默认级别 # (dev 默认 info,pro 默认 warn)。排查问题时可临时设为 debug。 LOG_LEVEL="" # TODO: [确认] Asynqmon 任务监控面板监听端口 ASYNQMON_PORT="8302" # ---------- 本地数据库 ---------- # TODO: [必填] PostgreSQL 连接串——把 password=CHANGE_ME 改为 fwh_toolbox 角色的真实密码 # (需与初始化数据库时设置的 PG_FWH_PASSWORD 一致) POSTGRES_DSN="host=localhost user=fwh_toolbox password=CHANGE_ME dbname=fwh_toolbox_db port=5432 sslmode=disable" # TODO: [确认] MongoDB 连接串——生产用 FwhToolboxDb,开发用 FwhToolboxDbDev MONGO_DSN="mongodb://127.0.0.1:27017/FwhToolboxDb" # TODO: [确认] Redis 地址(缓存 + Asynq 任务队列) REDIS_ADDR="localhost:6379" # TODO: [必填/可选] 远端只读 MySQL(FWH 生产库 home_energy_storage_server)。 # 用到站点信息查询功能时必填:替换 USER/PASSWORD/HOST/PORT 为只读账号;不用可留空。 MYSQL_DSN="USER:PASSWORD@tcp(HOST:PORT)/home_energy_storage_server?charset=utf8mb4&parseTime=True&loc=Local" # ---------- MinIO(本地对象存储)---------- # TODO: [确认] MinIO S3 API 地址 MINIO_ENDPOINT="localhost:9198" # TODO: [必填] MinIO Access Key(须与 MinIO 服务实际配置一致) MINIO_ACCESS_KEY="fwh-toolbox" # TODO: [必填] MinIO Secret Key MINIO_SECRET_KEY="fwh-toolbox" # TODO: [确认] 业务 bucket 名(需与 init_databases.sh 创建的 bucket 一致) MINIO_BUCKET_NAME="fwh-toolbox" # ---------- FWH API(生产)---------- # TODO: [确认] FWH 生产 API 域名 FWH_ENERGY="energy.franklinwh.com" FWH_OSS="oss.franklinwh.com" # TODO: [必填] FWH 生产账号 FWH_USER="FMU006" # TODO: [必填] FWH 生产账号密码(此处填明文,后端提交 MD5 摘要) FWH_PASSWORD="CHANGE_ME" # 账号需要 TOTP 时填写认证器提供的 Base32 密钥;不需要时留空。 FWH_TOTP_SECRET="" # 可选:设置后在独立端口启用 /fwh-totp 页面(Basic Auth 用户名固定为 fwh)。 # 请使用独立强密码,勿与 FWH_TOTP_SECRET 或 FWH_PASSWORD 相同。 FWH_TOTP_VIEW_PASSWORD="" # TOTP 页面独立监听地址和端口(默认仅本机访问)。 FWH_TOTP_VIEW_HOST="127.0.0.1" FWH_TOTP_VIEW_PORT="8303" # ---------- FWH API(测试,可选)---------- # TODO: [可选] 测试环境 FWH 账号,仅在需要连测试服时填写 FWH_TEST_ENERGY="test.franklinwh.com" FWH_TEST_OSS="test.franklinwh.com" FWH_TEST_USER="SuperAdmin" FWH_TEST_PASSWORD="CHANGE_ME" # ---------- FWH MQTT(生产)---------- # TODO: [确认] MQTT Broker 地址 FWH_MQTT_BROKER="tls://a6f63crce3ufk-ats.iot.us-east-2.amazonaws.com:8883" # TODO: [必填] 把生产 MQTT 证书放到 server/cert/pro/ 下,并确认下面路径正确 FWH_MQTT_CA="./cert/pro/AmazonRootCA1.pem" FWH_MQTT_CERT="./cert/pro/deviceCert.crt" FWH_MQTT_KEY="./cert/pro/deviceCert.key" # ---------- FWH MQTT(测试,可选)---------- # TODO: [可选] 测试环境 MQTT,用到测试服才需要;证书放 server/cert/test/ FWH_TEST_MQTT_BROKER="tls://a35sger20yyec4-ats.iot.us-west-2.amazonaws.com:8883" FWH_TEST_MQTT_CA="./cert/test/AmazonRootCA1.pem" FWH_TEST_MQTT_CERT="./cert/test/01.certificate.pem.crt" FWH_TEST_MQTT_KEY="./cert/test/01.private.pem.key" # ---------- Plane(项目管理,可选)---------- # TODO: [可选] 仅在启用 Plane 反馈/任务同步功能时填写以下所有 Plane 相关项 PLANE_HOST="http://localhost:8600" PLANE_API_KEY="CHANGE_ME" PLANE_WORKSPACE_SLUG="fwh" PLANE_PROJECT_ID="CHANGE_ME" PLANE_WEB_HOST="http://localhost:8600" PLANE_WEB_EMAIL="CHANGE_ME" PLANE_WEB_PASSWORD="CHANGE_ME" PLANE_WEB_WORKSPACE_SLUG="fwh" PLANE_WEB_PROJECT_ID="CHANGE_ME" PLANE_WEB_LABEL_BUG="CHANGE_ME" PLANE_WEB_LABEL_FEATURE="CHANGE_ME" PLANE_WEB_LABEL_FEEDBACK="CHANGE_ME" # ---------- Kiro(AI Chat 子进程降权,可选)---------- # TODO: [确认] 拉起 kiro-cli 子进程时降权到的系统用户及其 HOME(改成目标机的实际用户) KIRO_RUN_AS_USER=jerry-remote KIRO_HOME=/home/jerry-remote # ---------- SIM 卡每日流量日报(可选)---------- # TODO: [可选] 钉钉自定义机器人 Webhook;留空则不统计、不发送日报。 # 不要把真实 access_token 或加签密钥提交到仓库。 SIM_CARD_DINGTALK_WEBHOOK="" # TODO: [可选] 机器人启用“加签”安全设置时填写 SEC 开头的密钥。 SIM_CARD_DINGTALK_SECRET=""