# 复制本文件为 .env 后按需修改(.env 勿提交到 Git) # 与 app.py 同目录;程序启动时自动加载。 # 必填(长期运行):随机字符串,用于会话与 CSRF。生成见下方「密钥」说明。 # NAV_SECRET_KEY= # 首次启动且库中没有任何用户时:创建首个管理员(并建默认分组) # NAV_ADMIN_USERNAME=admin # NAV_ADMIN_PASSWORD=请改成强密码 # 若库中已有用户(例如曾创建过 admin),仅改 .env 不会改旧账号密码。 # 下面两项在「每次启动」时生效: # - 若 NAV_ADMIN_USERNAME 在库中尚不存在:自动创建该用户(密码取 NAV_ADMIN_PASSWORD)。 # - 若该用户已存在且设置 NAV_ADMIN_UPDATE_PASSWORD=1:用 NAV_ADMIN_PASSWORD 覆盖其密码(改完请删去或置 0,避免每次启动重置)。 # NAV_ADMIN_UPDATE_PASSWORD=1 # 数据库(默认 SQLite 文件在当前工作目录;生产建议放 instance/ 且勿提交 Git) # NAV_DATABASE_URL=sqlite:///nav_local.db # NAV_DATABASE_URL=sqlite:///instance/nav_local.db # 仅 python app.py 直连启动时生效 # NAV_HOST=0.0.0.0 # NAV_PORT=5070 # 调试:1 开启,勿在生产长期开启 # NAV_DEBUG=0 # 在 Nginx/Caddy 等反向代理后部署时:信任 X-Forwarded-*,以便 Cookie、CSRF 与 HTTPS 判断正确 # NAV_TRUST_PROXY=1 # 会话 Cookie 的 Secure 标志(与浏览器地址栏是否 https 一致才有效): # - 内网用 http://IP:端口:不要写 NAV_SESSION_COOKIE_SECURE=1;或保留 1 时另加 NAV_COOKIES_INSECURE_HTTP=1 强制关闭 Secure # - 纯 https 对外:NAV_SESSION_COOKIE_SECURE=1 # - 反代后同时有 http/https:可试 NAV_SESSION_COOKIE_SECURE=auto(并配合 NAV_TRUST_PROXY=1) # NAV_COOKIES_INSECURE_HTTP=1 # NAV_SESSION_COOKIE_SECURE=auto # CSRF 校验仍失败时,可填前端访问的完整 Origin,多个用英文逗号分隔,例如: # NAV_CSRF_TRUSTED_ORIGINS=https://nav.example.com # ---------- 云端复盘中控 iframe 嵌入(与 manual_trading_hub 配合)---------- # 本地导航代登录中控(服务端请求云端 /api/auth/login,再打开 /embed-auth) # NAV_HUB_USERNAME=admin # NAV_HUB_PASSWORD=你的中控密码 # 打开标记为「复盘中控」的服务时自动代登录(1=开启) # NAV_HUB_AUTO_LOGIN=1 # ---------- gate_scout_order(Gate 扫单,多在云服务器)---------- # 本机 LocalNav 内嵌打开云上扫描端 / 执行器(须 Nginx 反代 + 允许 iframe,见 gate_scout 部署说明 §13) # NAV_SEED_GATE_SCOUT=1 # NAV_GATE_SCOUT_UPDATE=1 # 方式 A:同一域名不同端口(防火墙已放行 8088/8090) # NAV_GATE_SCOUT_SCHEME=https # NAV_GATE_SCOUT_HOST=你的云服务器域名或IP # NAV_GATE_SCOUT_PORT=8088 # NAV_GATE_EXECUTOR_PORT=8090 # 方式 B:两个子域名反代到 8088 / 8090(推荐,端口填 443) # NAV_GATE_SCOUT_SCHEME=https # NAV_GATE_SCOUT_SCOUT_HOST=scout.你的域名 # NAV_GATE_EXECUTOR_HOST=exec.你的域名 # NAV_GATE_SCOUT_PORT=443 # NAV_GATE_EXECUTOR_PORT=443