f508f210f934d10ee219c99a8f248aadb1fd71c8
Provide navctl.py with a numbered menu, persist install path in config, and support curl bootstrap without pre-cloning the repo. Co-authored-by: Cursor <cursoragent@cursor.com>
本地导航站
Flask + SQLite 的局域网导航聚合:左侧分组与服务列表,右侧 iframe 内嵌打开 http://内网IP:端口,统一入口管理宝塔、面板、本地服务等。
代码仓库: https://git.bz121.com/dekun/LocalNav.git
完整中文说明与部署文档: 部署与使用说明.md
默认端口: 5070(可通过环境变量 NAV_PORT 修改)
一键部署(无需预先克隆)
运行安装脚本后会进入交互菜单:
==================================================
LocalNav 部署管理
==================================================
安装目录: /opt/LocalNav
服务状态: pm2 online
--------------------------------------------------
1 一键部署安装
2 一键卸载
3 更新
0 退出
--------------------------------------------------
请选择:
# Linux / macOS(推荐:一条命令,无需先 git clone)
curl -fsSL https://git.bz121.com/dekun/LocalNav/raw/main/scripts/install.sh | bash
# 或本地执行
bash scripts/install.sh
python scripts/navctl.py
# Windows PowerShell
.\scripts\install.ps1
菜单功能:
| 选项 | 说明 |
|---|---|
| 1 安装 | 输入仓库地址 → 自动 git clone → 安装依赖 → 生成 .env → pm2 启动 |
| 2 卸载 | 停止 pm2/systemd 服务;可选删除整个安装目录(含数据库) |
| 3 更新 | git pull → 重新部署 → 自动重启服务 |
| 0 退出 | 退出菜单 |
非交互命令:
python scripts/navctl.py install -y
python scripts/navctl.py update --dir /opt/LocalNav
python scripts/navctl.py uninstall --dir /opt/LocalNav
随后自动:git clone → 创建虚拟环境 → 安装依赖 → 生成 .env 与 NAV_SECRET_KEY → 自动 pm2 启动(若已安装 pm2)。
默认登录: admin / admin123(生产环境请尽快在「系统设置」中修改密码)
已安装后的更新: 重新运行 install.sh 选菜单 3,或执行 python scripts/navctl.py update
配置:将 .env.example 复制为 .env 并填写变量(与 app.py 同目录);详见说明文档「环境变量与 .env」一节。
进程守护(可选):pm2 start ecosystem.config.cjs(需已安装 PM2),详见 部署与使用说明.md 中「9.7 使用 PM2」。
Ubuntu 生产部署(推荐): 克隆到 /opt/LocalNav,以 root 用户运行 systemd 服务,默认监听 5070;外网访问请配置 Nginx/Caddy 反向代理与 HTTPS,详见部署文档「九、部署指南」与「9.8 外网 HTTPS 访问」。
Description
Languages
Python
55.5%
HTML
31.5%
CSS
9.2%
Shell
1.6%
JavaScript
1.1%
Other
1.1%