Files
LocalNav/README.md
T
dekun f508f210f9 Add interactive navctl menu for install, uninstall, and update.
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>
2026-07-12 12:01:01 +08:00

70 lines
2.6 KiB
Markdown

# 本地导航站
Flask + SQLite 的局域网导航聚合:左侧分组与服务列表,右侧 iframe 内嵌打开 `http://内网IP:端口`,统一入口管理宝塔、面板、本地服务等。
**代码仓库:** https://git.bz121.com/dekun/LocalNav.git
**完整中文说明与部署文档:** [部署与使用说明.md](./部署与使用说明.md)
**默认端口:** `5070`(可通过环境变量 `NAV_PORT` 修改)
## 一键部署(无需预先克隆)
运行安装脚本后会进入**交互菜单**:
```
==================================================
LocalNav 部署管理
==================================================
安装目录: /opt/LocalNav
服务状态: pm2 online
--------------------------------------------------
1 一键部署安装
2 一键卸载
3 更新
0 退出
--------------------------------------------------
请选择:
```
```bash
# 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 退出 | 退出菜单 |
非交互命令:
```bash
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](./部署与使用说明.md) 中「9.7 使用 PM2」。
**Ubuntu 生产部署(推荐):** 克隆到 `/opt/LocalNav`,以 **root** 用户运行 systemd 服务,默认监听 `5070`;外网访问请配置 Nginx/Caddy 反向代理与 HTTPS,详见部署文档「九、部署指南」与「9.8 外网 HTTPS 访问」。