Featured image of post Docker部署Sub-Store订阅管理系统

Docker部署Sub-Store订阅管理系统

一、Sub-Store 简介

Sub-Store 是一款开源的订阅转换服务,支持聚合多个订阅链接并输出为不同客户端格式。

它能让你:

  • 将多个机场或自建节点订阅整合;

  • 输出为 Clash / Surge / QuantumultX / Loon / Shadowrocket 等格式;

  • 自定义节点筛选、排序、分组;

  • 通过 Web 界面轻松管理。

GitHub 项目地址:
👉 https://github.com/sub-store-org/Sub-Store

二、部署环境准备

推荐系统环境:

系统 支持
Debian 12 / Ubuntu 22.04 ✅ 推荐
Alpine / CentOS 7+ ✅ 支持
内存要求 ≥ 256MB

确保系统已安装:

apt update && apt install -y docker.io docker-compose

三、Docker Compose 配置文件

在服务器任意目录(如 /root/sub-store)下创建文件:

mkdir -p /root/sub-store
cd /root/sub-store
nano docker-compose.yml

然后粘贴以下内容 👇:

version: "3.8"

services:
  sub-store:
    image: xream/sub-store:latest
    container_name: sub-store
    restart: always
    ports:
      - "3001:3001"
    volumes:
      - ./sub-store:/opt/app/data
    environment:
      SUB_STORE_FRONTEND_BACKEND_PATH: /MySecretToken123
      SUB_STORE_BACKEND_SYNC_CRON: "55 23 * * *"
      SUB_STORE_BODY_JSON_LIMIT: 10mb

四、配置详解

配置项 示例值 作用 说明
version "3.8" Compose 文件版本 指定 Docker Compose 的语法版本,3.8 适用于较新的 Docker
services sub-store 服务定义 定义一个名为 sub-store 的服务
image xream/sub-store:latest Docker 镜像 使用 Sub-Store 官方镜像,latest 表示最新版本
container_name sub-store 容器名称 指定容器名称为 sub-store,方便管理和查看日志
restart always 自动重启策略 容器异常退出或 Docker 重启时会自动重新启动
ports "3001:3001" 端口映射 将宿主机 3001 端口映射到容器 3001 端口
volumes ./sub-store:/opt/app/data 数据持久化 将本地 ./sub-store 目录映射到容器 /opt/app/data,用于保存配置和数据
environment 环境变量配置 程序运行参数 用来控制 Sub-Store 的运行行为

⚠️ 建议你修改:

SUB_STORE_FRONTEND_BACKEND_PATH=/MySecretToken123

示例:

/rd304CYuZ2KByUk4WRHF

这样可以防止被随意访问。

随机生成密码网站:https://1password.com/zh-cn/password-generator

五、启动服务

保存文件后执行:

docker compose up -d

查看运行状态:

docker ps

若一切正常,你会看到类似输出:

CONTAINER ID   IMAGE             STATUS          PORTS
a1b2c3d4e5f6   xream/sub-store   Up 10 seconds   0.0.0.0:3001->3001/tcp

六、访问与初始设置

浏览器访问:

http://服务器IP:3001

若配置了后端路径(如 /ks9foTp4xE8fr24pg2DZ),
打开 服务器ip:3001 输入后端路径ks9foTp4xE8fr24pg2DZ

你会看到 Sub-Store 的管理界面,可以:

  • 添加或导入订阅;

  • 设置转换规则;

  • 生成统一的订阅链接。

七、设置Gist同步

1.拥有一个 GitHub 账号

注册或登录:https://github.com/

2.获取一个 GitHub Personal Access Token(访问令牌)

  1. 打开 https://github.com/settings/tokens

  2. 点击Token(classic)并在右上选择Generate new token(classic)

  3. 勾上Repo和Gist这两项后,点击底下的Generate token即生成Token了

  4. 生成后复制该 token(⚠️ 只显示一次!)

建议保存到安全的地方,例如 ~/.config/sub-store/token.txt

3.Sub-store设置Gist同步

将Github用户名和获取的Token粘贴进去即可

八、Caddy反代

编辑/etc/caddy/Caddyfile

nano /etc/caddy/Caddyfile

example.com {
   reverse_proxy localhost:3001
 }

重启caddy

systemctl restart caddy
免责声明
⏱ 已运行: 加载中...