部署与卸载
本仓库的插件是独立服务,不需要把源码复制进 Sub2API Core。安装脚本会构建
插件二进制、创建低权限 systemd 服务、生成插件配置,并让服务监听各自的
端口。Core 数据库、Redis 和 Core data/ 目录始终由 Core 自己管理。
先部署官方 Core
建议先使用官方仓库的全新部署脚本,单独放在自己的目录:
mkdir -p /opt/sub2api-core && cd /opt/sub2api-core
curl -fsSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/docker-deploy.sh | bash
docker compose -f docker-compose.yml up -d
官方 Core 默认通过 http://服务器IP:8080 提供页面。确认 Core 登录和
数据库初始化完成后,再安装下面的独立插件。插件不会修改 Core 数据库迁移。
一键安装
在一台已安装 Go 1.23+、Git 和 systemd 的 Linux 主机上:
curl -fsSL https://git.awaioi.com/awaioi/sub2api-add/raw/branch/main/deploy/install.sh \
| sudo bash -s -- --plugin all
只安装控制面:
curl -fsSL https://git.awaioi.com/awaioi/sub2api-add/raw/branch/main/deploy/install.sh \
| sudo bash -s -- --plugin plugin-admin
安装订阅插件:
curl -fsSL https://git.awaioi.com/awaioi/sub2api-add/raw/branch/main/deploy/install.sh \
| sudo bash -s -- --plugin subscription-admin
默认安装位置:
| 内容 | 路径 |
|---|---|
| 源码 | /opt/sub2api-add |
| 二进制 | /opt/sub2api-add/<plugin>/bin/ |
| 配置 | /etc/sub2api-add/<plugin>.env |
| 插件数据 | /var/lib/sub2api-add/<plugin>/ |
| systemd | sub2api-plugin-admin.service、sub2api-subscription-admin.service |
安装后先编辑配置:
sudoedit /etc/sub2api-add/plugin-admin.env
sudoedit /etc/sub2api-add/subscription-admin.env
sudo systemctl restart sub2api-plugin-admin sub2api-subscription-admin
至少确认 CORE_BASE_URL、插件端口、反向代理路径和 HTTPS Cookie 设置。生产
环境应启用 PLUGIN_COOKIE_SECURE=true,并为 plugin-admin 配置稳定的
PLUGIN_CONFIG_KEY 和受信发布者公钥。
菜单接入
- 让反向代理把
plugin-admin和业务插件分别转发到127.0.0.1:8090与127.0.0.1:8091。 - 登录 plugin-admin,上传业务插件包并完成签名/哈希/兼容性校验。
- 配置业务插件的 loopback
service_url。 - 启用、健康检查、菜单预览,然后应用菜单。
订阅插件是可选项;未安装或未应用菜单时,Core 管理员菜单不会出现“订阅管理”。
一键卸载
默认卸载服务和二进制,但保留配置与插件数据,便于重新安装:
curl -fsSL https://git.awaioi.com/awaioi/sub2api-add/raw/branch/main/deploy/uninstall.sh \
| sudo bash -s -- --plugin all
确认同时删除插件配置、插件数据和源码:
curl -fsSL https://git.awaioi.com/awaioi/sub2api-add/raw/branch/main/deploy/uninstall.sh \
| sudo bash -s -- --plugin all --purge --yes
卸载脚本不会删除 PostgreSQL、Redis、Sub2API Core 数据或 Core 配置。若只删除
订阅插件,使用 --plugin subscription-admin;控制面和其他插件保持不变。
本地安装与升级
从已克隆的仓库执行:
sudo ./scripts/install-local.sh --plugin all
sudo ./deploy/uninstall.sh --plugin subscription-admin
再次运行安装脚本会重新构建并重启选定插件。安装脚本发现源码有未提交修改 时会中止,避免升级覆盖本地改动。