banner
MiasaMoe

MiasaMoe

在宝塔面板上利用Docker和nginx搭建Sub-Store

本教程面向小白,尽可能简化了步骤,并在更加简单的宝塔面板上操作,不涉及复杂配置和进阶玩法(如通知功能和各种脚本)

什么是 Sub-Store / Introduction#

这里摘取官方仓库的介绍

Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket.

为了尽可能规避一些风险,在这里不做过多介绍,想要详细了解可以自行 Google
项目当前主要维护者:小一 xream
项目仓库:sub-store-org/Sub-Store

前期准备 / Preparations#

  • 一个可直连的已安装 bt 面板的 VPS
    • 已通过面板安装 Docker 套件和 nginx
  • 最好有一个域名

教程 / Tutorial#

为 Sub-Store 创建存储目录#

Sub-Store 需要一个目录来存储你的订阅和其他文件

首先进入你面板的文件选项卡,在你心仪的位置新建一个文件夹作为 Sub-Store 的存储目录
这里以/etc/sub-store为例,请在任意地方记下这个目录

小贴士:你可以点击路径栏快速获取当前目录的绝对路径,正如 Windows 一样

使用 Docker 部署 Sub-Store#

宝塔面板默认不开放 3001 端口,因此需先在安全页面,新增端口规则,如图所示:

端口规则

接下来进入终端页面

以下为一个标准代码

docker run -it -d \
--restart=always \
-e "SUB_STORE_CRON=55 23 * * *" \
-e SUB_STORE_FRONTEND_BACKEND_PATH=/XXXXXxxxxx1234567890 \
-p YOURIP:3001:3001 \
-v /etc/sub-store:/opt/app/data \
--name sub-store \
xream/sub-store

接下来跟我一起修改:

  1. 首先将SUB_STORE_FRONTEND_BACKEND_PATH的 / 后面改为20 位随机字符串(不含特殊符号),尽可能随机,这与其他应用中的 API Token 一样重要!
  2. -v后面到:前的目录修改为刚才你选择的、要存储 Sub-Store 数据的目录
  3. -p后的YOURIP按需修改
    1. 如果你是需要本地运行,本地使用,那么请修改为127.0.0.1
    2. 如果是需要远程访问,那么请修改为服务器IP
  4. 目光看向最后一行,如果你有使用HTTP-META的需求,请将xream/sub-store修改为xream/sub-store:http-meta,如果你不知道什么是 HTTP-META,请不要修改

接下来按下回车,你应该会看到一串容器 ID,那就说明已经运行成功了
至此,Docker 部署已经完成

你可以访问 IP:3001 来看看是否运行正常

使用 nginx 反代 (无域名可跳过)#

使用 nginx 进行反代,使你可以通过自己的域名进行访问

配置 & 绑定#

进入网站页面,选择反向代理标签页,点击新增反代

配置如图所示:
反代设置
将图中sub.example.com改为你自己想绑定的域名,目标中的yourip替换为你的服务器 IP
此时,你的发送域名(host)一栏应该显示为$http_host,备注显示为你的域名
确认无误后,点击添加

记得在你的域名提供商中将你绑定的域名 使用 A 记录 解析至你的服务器 IP

配置 SSL 证书#

找到你刚刚配置的反代规则,点击右侧的设置,进入SSL选项卡,选择Let's Encrypt,选择域名,申请证书,随后页面应如图所示:
SSL 证书配置

初次使用#

接下来,你需要访问一个相对复杂的地址,以进行后端激活和绑定
现分两种情况:

  1. 如果你没有使用域名,那么请访问 http://YOURIP:3001?api=http://YOURIP:3001/BACK_END_PASSWORD
  2. 如果你绑定了自己的域名,那么请访问 https://sub.example.com?api=https://sub.example.com/BACK_END_PASSWORD
    其中,将YOURIP/DOMAIN修改为你的服务器IP或域名,将BACK_END_PASSWORD修改为你设置的后端 20 位访问密钥

你应该可以看到数据刷新成功!的提示,进入设置 -> 后端设置,你应该可以看到类似于下图的配置:
后端示例

至此你已完成所有配置,享受 Sub-Store 带来的便利吧!

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。