一键脚本安装(二进制)
适合没有 Docker、希望用 systemd 常驻的服务器。
脚本负责:判断 CPU 架构 → 拼接 Release 压缩包下载链接 → 下载并 SHA256 校验 → 解压安装 → 生成默认配置(sqlite) → 创建 /usr/bin/gopanel 命令软链; -install 时调用主程序内置的 glsm v2 注册 systemd 服务(unit 写入 /etc/systemd/system/gopanel.service 并 enable --now), 服务管理(status / restart / uninstall)由主程序 -service / -uninstall 承担,脚本只负责转发。
安装
# 安装并注册 systemd 服务(开机自启)后自动启动
# 默认 latest:自动解析仓库最新正式 tag(vX.Y.Z);仓库尚无正式 tag 时
# 会明确报错并提示改用 -v dev(开发版,master 每次 push 构建)
curl -fsSL https://cnb.cool/liumou_site/GoPanel/-/git/raw/master/scripts/install.sh | bash -s -- -install当前仓库尚无正式发布 tag 时,用开发版:
curl -fsSL https://cnb.cool/liumou_site/GoPanel/-/git/raw/master/scripts/install.sh | bash -s -- -install -v dev常用参数
# 指定版本 / 安装目录 / 下载源
curl -fsSL https://cnb.cool/liumou_site/GoPanel/-/git/raw/master/scripts/install.sh \
| bash -s -- -install -v v1.0.0 -d /opt/gopanel
# 仅下载安装,不注册服务(前台手动运行)
curl -fsSL https://cnb.cool/liumou_site/GoPanel/-/git/raw/master/scripts/install.sh \
| bash -s -- --no-start -d /opt/gopanel
# 卸载服务(也可直接重跑脚本:bash scripts/install.sh -uninstall)
curl -fsSL https://cnb.cool/liumou_site/GoPanel/-/git/raw/master/scripts/install.sh \
| bash -s -- -uninstall| 参数 | 说明 | 默认值 |
|---|---|---|
-install | 下载安装后调用主程序注册 systemd 服务(开机自启)并启动 | — |
-uninstall | 调用主程序卸载 systemd 服务(可加 --purge 连安装目录一起删) | — |
-service <action> | 调用主程序执行服务操作:status / start / stop / restart | — |
--check | 检查已安装状态(版本 + 服务状态),不安装 | — |
-v, --version <tag> | 指定版本;默认 latest(自动解析仓库最新正式 tag,尚无 v* tag 时需显式指定如 -v dev) | latest |
-d, --dir <path> | 安装目录 | /opt/gopanel |
--source <cnb|gitee> | 下载源 | cnb |
--no-start | 仅下载安装,不启动、不注册服务 | — |
--dry-run | 只打印下载链接与将要执行的命令 | — |
-install/-uninstall/-service也是主程序命令行参数(基于 glsm v2, 见 命令行参考):脚本下载安装完成后直接调用GoPanel -install完成注册与启动。 已安装的服务器上也可以跳过脚本直接管理服务:cd /opt/gopanel && ./GoPanel -service status|restart。
全局命令软链
安装完成后脚本创建 /usr/bin/gopanel -> /opt/gopanel/GoPanel 软链(可用环境变量 GOPANEL_LINK 覆盖路径,如 GOPANEL_LINK=/usr/local/bin/gopanel bash scripts/install.sh -install), 之后任意目录下都能直接执行:
gopanel -service status # 查看服务状态(等价 ./GoPanel -service status)
gopanel -version # 查看版本
gopanel -rp # 重置后台密码/usr/bin通常需要 root;创建失败时脚本只告警、不阻塞安装(仍可cd /opt/gopanel && ./GoPanel)- 已存在同名非软链文件时自动跳过,不覆盖
-uninstall时若软链仍指向安装二进制则一并删除
下载文件名与架构
下载地址形如 https://cnb.cool/liumou_site/GoPanel/-/releases/download/<tag>/GoPanel-linux-<arch>.tar.gz。 CNB 的下载地址不支持 latest 别名(download/latest/ 直接访问返回 404), 脚本默认 latest 时通过 git ls-remote --tags 解析仓库最新正式 tag(vX.Y.Z), 无 git 客户端时回退 smart-HTTP info/refs 端点;仓库尚无正式 tag 时明确报错提示。
| 架构 | 压缩包名 |
|---|---|
| x86_64 / amd64 | GoPanel-linux-amd64.tar.gz |
| aarch64 / arm64 | GoPanel-linux-arm64.tar.gz |
| armv7 / armhf | GoPanel-linux-arm-softfloat.tar.gz |
Release 附件是
.tar.gz压缩包(不是裸二进制):二进制单架构几十 MB, 压缩后体积小很多。包内就是同名的裸二进制,解压即可得:
tar -xzf GoPanel-linux-amd64.tar.gz # 得到 GoPanel-linux-amd64
chmod +x GoPanel-linux-amd64
./GoPanel-linux-amd64安装脚本会自动完成「下载 → 解压 → 安装」,无需手动处理。
开发版二进制(dev)
master 分支每次 push 都会构建三架构二进制并发布到固定的 dev 版本(每次覆盖):
# 直接跑开发版(当前仓库尚未发布正式 tag,latest 解析会失败,须显式 -v dev)
curl -fsSL https://cnb.cool/liumou_site/GoPanel/-/git/raw/master/scripts/install.sh \
| bash -s -- -install -v dev下载地址形如 .../releases/download/dev/GoPanel-linux-<arch>.tar.gz。 dev 为预发布且不占用 latest,稳定通道的「检查更新」不会提示它。
手动下载与校验
不想跑脚本时,自己下压缩包也一样。安装脚本做的事就是下面这几步:
# 1. 按架构取对应压缩包(<tag> 换成具体版本号,如 v5.4.0)
curl -fLO https://cnb.cool/liumou_site/GoPanel/-/releases/download/<tag>/GoPanel-linux-amd64.tar.gz
# 2. 校验(可选,SHA256SUMS 与压缩包在同一版本下)
curl -fLO https://cnb.cool/liumou_site/GoPanel/-/releases/download/<tag>/SHA256SUMS
sha256sum -c SHA256SUMS
# 3. 解压并运行
tar -xzf GoPanel-linux-amd64.tar.gz
chmod +x GoPanel-linux-amd64
./GoPanel-linux-amd64老版本(压缩之前发布的 tag)附件是裸二进制、没有
.tar.gz, 此时直接下GoPanel-linux-<arch>即可 —— 安装脚本对这两种格式都做了兼容。
手动编写 systemd 服务
install.sh -install 已调用主程序(glsm v2)注册好服务(unit 写入 /etc/systemd/system/gopanel.service, ExecStart 指向安装目录二进制,WorkingDirectory=安装目录), 需要自定义参数(环境变量、额外参数等)时再手动改 unit:
# /etc/systemd/system/gopanel.service
[Unit]
Description=GoPanel
After=network-online.target
[Service]
Type=simple
WorkingDirectory=/opt/gopanel
ExecStart=/opt/gopanel/GoPanel
Restart=on-failure
[Install]
WantedBy=multi-user.targetsystemctl daemon-reload && systemctl enable --now gopanel
journalctl -u gopanel -f⚠️ 注意:服务由主程序
-install注册(glsm 重跑注册时提示服务已存在, 可先./GoPanel -uninstall再-install,或直接手动改 unit 后systemctl daemon-reload); 日常管理用cd /opt/gopanel && ./GoPanel -service status|restart|stop|start, 卸载用./GoPanel -uninstall(或scripts/install.sh -uninstall)。
