部署文档

NanoPanel 是单二进制程序,所有前端资源都编译进可执行文件,部署只需要一个文件加一个 systemd 服务。

系统要求

  • Linux(x86_64 / aarch64 / armv7),内核 3.10 以上
  • systemd(用于开机自启与进程守护)
  • 内存 128 MB 起,推荐 512 MB 以上
  • 磁盘 50 MB 可用空间

必须在 Linux 上运行;在 macOS / Windows 上启动时,依赖 Linux 的功能(进程、日志、服务)会自动降级。

安装

推荐使用一键脚本,它会自动识别架构、下载最新 Release、安装 systemd 服务并生成初始密码:

curl -fsSL https://npanel.lacs.cc/install.sh | sudo bash
sudo systemctl enable --now nanopanel

国内网络可指定镜像:

export GITHUB_MIRROR=https://ghfast.top/https://github.com
curl -fsSL https://npanel.lacs.cc/install.sh | sudo bash

也可以手动下载二进制,放到 /opt/nanopanel/nanopanel,用 -config 指定配置文件路径。

首次登录

安装完成后浏览器访问 http://设备IP:8080,初始用户名 admin,初始密码在安装输出里, 也会写入 /etc/nanopanel/config.json 的 initial_password 字段(首次登录后请立即修改)。

配置文件

配置位于 /etc/nanopanel/config.json,常用字段:

{
  "listen": ":8080",
  "username": "admin",
  "password_hash": "...",
  "secret": "...",
  "file_roots": ["/", "/mnt"],
  "temp_threshold_c": 75,
  "auto_update": true,
  "update_check_hour": 4
}

修改密码会在面板内完成(设置 → 安全),同时轮换签名密钥,所有旧登录态立即失效。 忘记密码时删除 password_hash 字段并重启即可重新生成。

开启 HTTPS

设置 → 安全 → 启用 HTTPS,面板会在 /etc/nanopanel/tls 生成 ECDSA P-256 自签证书(10 年有效, SAN 覆盖主机名与全部网卡 IP),保存后自动重启并监听 8443。也可以命令行生成:

sudo nanopanel -gen-cert -cert-dir /etc/nanopanel/tls

应用商店

应用商店内置 mihomo(含 metacubexd 面板)、AdGuard Home、Tailscale、frp、CUPS、WebDAV、Samba 等应用。 安装前会做架构、内存与磁盘预检;安装后卡片显示运行状态,带网页界面的应用可一键打开。

更新可安装清单:应用商店 → 设置 → 更新清单,从仓库拉取最新 manifest.json。

备份与定时任务

设置 → 维护 → 导出备份,会打包面板配置、应用配置(含 config.env)、mirror.conf 与已安装版本记录, 生成 tar.gz。恢复时上传该文件即可,面板会在恢复后重启。

定时任务支持三种表达式:every:30m(间隔)、hourly:15(每小时第几分钟)、 daily:03:30(每天几点几分),执行结果可推送到 Webhook。

自动更新

面板启动后会定期检查 GitHub Release。发现新版本时推送「版本更新」通知;开启自动更新后, 会在设定的时间自动下载、校验可执行性、备份旧二进制(.bak)、替换并重启,失败自动回滚。

更新源优先使用 GITHUB_MIRROR 环境变量,其次 GitHub 官方,最后 ghfast 镜像。 也可以随时在「关于」页点「立即升级」,或执行 sudo npctl upgrade。

常见问题

面板打不开?

先确认服务状态 systemctl status nanopanel,再看 journalctl -u nanopanel -n 50; 若开了 HTTPS,默认端口会变成 8443,且浏览器需要信任自签证书。

进程 / 日志页面空白?

这些功能依赖 Linux 的 /proc 与 systemd,在非 Linux 环境会自动隐藏数据。

应用装不上?

多为网络问题:确认 /opt/nanopanel/mirror.conf 里的镜像前缀是完整形式 (如 https://ghfast.top/https://github.com),或直接在应用商店里重试。

自动更新一直提示「无法连接更新源」?

仓库尚未发布 Release 时属于预期行为;发布首个 Release 后即自动生效。

还有问题?

在 GitHub Issues 提问,附上设备型号、系统版本与相关日志,会更快定位。