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 帶來的便利吧!

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。