通过Docker在VPS上架设Sub-Store

3,163次阅读
61 条评论

共计 4374 个字符,预计需要花费 11 分钟才能阅读完成。

之前写了一篇《通过 VPS 架设 Sub-Store》,有人问我能不能写用 Docker,说实话,我自己对于 Docker 也是很不熟悉,于是就着小一写的那个很简单的教程,硬着头皮边摸索边写,过程中如有疏漏,请指出。

免责声明

本文涉及的任何解锁和解密分析脚本仅用于资源共享和学习研究,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

间接使用脚本的任何用户,包括但不限于建立 VPS 或在某些行为违反国家 / 地区法律或相关法规的情况下进行传播, 本文作者对于由此引起的任何隐私泄漏或其他后果概不负责。

请勿将本文内的任何内容用于商业或非法目的,否则后果自负。

如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我将在收到认证文件后删除相关脚本。

对任何本文中包含的脚本在使用中可能出现的问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害.

您必须在下载后的 24 小时内从计算机或手机中完全删除以上内容。

任何以任何方式查看此项目的人或直接或间接使用该项目的任何脚本的使用者都应仔细阅读此声明。本文作者保留随时更改或补充此免责声明的权利。一旦使用并复制了任何本文相关脚本或其他内容,则视为您已接受此免责声明。

关于

Sub-Store:

项目仓库:https://github.com/sub-store-org/Sub-Store

sub-store 最早是 Peng-YM 在 loon 平台推出的高级订阅管理工具。完全本地解析,无订阅泄露的风险。经过后续发展,现在已经适配了 Surge 和 Quantumult X 以及 Shadowrocket、Clash。

主要功能

  • 订阅转换
  • 组合订阅
  • 订阅过滤
  • 订阅重命名
  • 订阅排序
  • 订阅同步

需要的

  • 一台 VPS(配置不建议太低)
  • 拥有自己的域名并且已经托管到了 CloudFlare(其它地方的也行,但是习惯了 CloudFlare,并且很良心也很方便)
  • SSH 工具(强烈推荐 Termius)

部署过程

更新系统

sudo -i
apt-get update && apt-get full-upgrade -y

如果系统里面没有 Docker,那么需要安装 Docker

安装 Docker

国外 vps:

curl -fsSL https://get.docker.com | bash -s docker

国内 vps:

curl -fsSL https://get.docker.com | bash -s docker –mirror Aliyun

如果想手动安装 Docker,请参照 官方文档

安装 Sub-Store 镜像

此处采用的是目前 Sub-Store 当前主要维护者之一 @xream(小一)的 docker 镜像

启动

数据文件夹: /root/sub-store-data

端口: 3001

监听: 127.0.0.1

后端前缀(API): /2cXaAxRGfddmGz2yx1wA

复制下面指令一键运行即可

可以将其中的 2cXaAxRGfddmGz2yx1wA 字段改为其它复杂字符串

本示例中演示的定时任务环境变量为 SUB_STORE_CRON, 此时使用的是系统的 crond; 如果有问题, 可以使用 SUB_STORE_BACKEND_CRON, 此时将使用 Node 版 node-cron

推送服务: https://api.day.app/XXXXXXXXXXXX/[推送标题]/[推送内容]?group=SubStore&autoCopy=1&isArchive=1&sound=shake&level=timeSensitive&icon=https%3A%2F%2Fraw.githubusercontent.com%2F58xinian%2Ficon%2Fmaster%2FSub-Store1.png

支持 Bark/PushPlus 等服务. 形如: https://api.day.app/XXXXXXXXX/[推送标题]/[推送内容]?group=SubStore&autoCopy=1&isArchive=1&sound=shake&level=timeSensitivehttp://www.pushplus.plus/send?token=XXXXXXXXX&title=[推送标题]&content=[推送内容]&channel=wechat 的 URL, [推送标题][推送内容] 会被自动替换.

全功能带通知版:

docker run -it -d --restart=always -e "SUB_STORE_PUSH_SERVICE=https://api.day.app/XXXXXXXXXXXX/[推送标题]/[推送内容]?group=SubStore&autoCopy=1&isArchive=1&sound=shake&level=timeSensitive&icon=https%3A%2F%2Fraw.githubusercontent.com%2F58xinian%2Ficon%2Fmaster%2FSub-Store1.png" -e "SUB_STORE_CRON=0 0 * * *" -e SUB_STORE_FRONTEND_BACKEND_PATH=/2cXaAxRGfddmGz2yx1wA -p 127.0.0.1:3001:3001 -v /root/sub-store-data:/opt/app/data --name sub-store xream/sub-store

不带通知版:

docker run -it -d --restart=always -e "SUB_STORE_CRON=0 0 * * *" -e SUB_STORE_FRONTEND_BACKEND_PATH=/2cXaAxRGfddmGz2yx1wA -p 3001:3001 -v /root/sub-store-data:/opt/app/data --name sub-store xream/sub-store

通过 Docker 在 VPS 上架设 Sub-Store

按照上面一键指令运行后的 sub-store 地址为:本地前端 + 本地后端 +API

http://127.0.0.1:3001?api=http://127.0.0.1:3001/2cXaAxRGfddmGz2yx1wA

Tips: 可以通过 docker help 查看 docker 的各项指令
docker stats 指令查看当前运行中的 docker 状态

如果你跟示例一样, 只监听了 127.0.0.1, 这样是无法从本地机器外使用 IP+ 端口 来访问容器内的服务的。

建议的做法是:

不要直接暴露容器的端口到宿主机, 而是设置反向代理。比如可以使用 Nginx 作为反代, 并配置域名访问容器内服务。
如果就是想直接通过 IP+ 端口访问, 可以在 docker run 时使用 -p 参数, 比如 -p 3001:3001 来将容器端口映射到宿主机端口。但是直接暴露端口有安全风险, 还是建议使用反向代理的方式。运行指令见不带通知版。如果设置了端口映射但是无法访问, 可以检查下面的常见情况:
• 使用 docker ps 查看容器是否正确启动并监听了端口。

• 使用 lsof -i:3001 等命令检查宿主机上是否已占用目标端口。

• 检查本地防火墙规则, 是否屏蔽了访问的端口。

• 如果是远程访问, 检查网络安全组或云平台防火墙设置。

根据检查结果, 进一步排查并调整容器端口暴露或防火墙设置, 以允许访问容器服务。

域名设置:

在 cloudflare 的域名 DNS 记录里面添加两个 A 记录

用于前端的 substore:

substore.domain.com

用于后端(API)

subapi.domain.com

实际 A 记录的名字随意,只要你能区分就行

如下图例:

通过 Docker 在 VPS 上架设 Sub-Store

备注:后面的代理黄云勾不勾随意,如果你用其它第三方 ssl 证书可以不勾,如果用 CF 的证书就勾上。

nginx 部署过程

安装 nginx

sudo apt install nginx -y

编辑 nginx 配置

sudo vim /etc/nginx/sites-enabled/sub-store.conf

根据自己的前面域名设置将以下内容改好后复制进去并保存

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name substore.yourdomain.com; // 将此处改为你自己的域名
ssl_certificate /root/cert/ssl.pem; // 将此处改为你自己 ssl 公钥证书位置和名字
ssl_certificate_key /root/cert/ssl.key; // 将此处改为你自己 ssl 私钥
location / {
proxy_pass http://127.0.0.1:3001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

编写完毕保存后输入:nginx -t 查看配置是否正确,并根据提示信息进行排查。

使用 CloudFlare 的 15 年 ssl 证书步骤

  • 将域名托管到 cloudflare 后,将旁边那朵云点上变为黄色
  • 在左侧的 SSL/TLS 栏目下概述中,将加密模式改为完全(严格)
    通过 Docker 在 VPS 上架设 Sub-Store
  • 点击左侧的源服务器,在源证书中选择创建证书
  • 选择 RSA(2048),并创建证书
    通过 Docker 在 VPS 上架设 Sub-Store
  • 将随后出现的私钥和公钥,分别复制并保存下来

请注意,私钥仅显示一次,请务必保存好

  • 打开 ssh 软件,并且链接上 VPS 后
  • 创建文件夹 cert
    mkdir cert
    cd cert
  • 创建公钥文件
    vim ssl.pem
  • 将上面的 cloudflare 证书公钥内容粘贴进去并保存
    通过 Docker 在 VPS 上架设 Sub-Store
  • 创建私钥文件
    vim ssl.key
  • 将上面的 cloudflare 证书私钥内容粘贴进去并保存
    通过 Docker 在 VPS 上架设 Sub-Store

至此整个 Docker 版的 sub-store 服务搭建完成。

访问的地址是

https://substore.yourdomain.com?api=https://substore.yourdomain.com/2cXaAxRGfddmGz2yx1wA

本教程编写过程中受到小一 @xream 大力指导,十分感谢。
如果在部署使用过程中有疑问,可以进他的 telegram 群 https://t.me/zhetengsha_group 交流沟通。

此种方法只使用了一个域名
如果想两个域名都用上
docker 那部分启动改为

docker run -it -d –restart=always -p 127.0.0.1:3001:3001 -v /root/sub-store-data:/opt/app/data –name sub-store xream/sub-store

nginx 部分则 参照之前的方法 即可。

正文完
 
lucky
版权声明:本站原创文章,由 lucky 2023-12-17发表,共计4374字。
转载说明:转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(61 条评论)
2024-08-01 14:18:01 回复

Your article helped me a lot, is there any more related content? Thanks!

 Windows  Edge  美国加利福尼亚旧金山
2024-08-07 16:35:07 回复

lasuna online – brand himcolin himcolin online

 Windows  Chrome  瑞典斯德哥尔摩
2024-08-20 16:42:18 回复

besivance over the counter – cheap carbocisteine for sale buy sildamax pills for sale

 Windows  Chrome  美国加利福尼亚旧金山
2024-08-21 12:09:34 回复

buy gabapentin without prescription – cost neurontin 600mg azulfidine 500 mg usa

 Windows  Chrome  瑞典斯德哥尔摩
2024-08-25 06:58:17 回复

order probalan – probenecid usa tegretol 400mg usa

 Windows  Chrome  俄罗斯莫斯科莫斯科
2024-08-27 04:30:10 回复

how to buy celebrex – celecoxib oral indomethacin 75mg capsule

 Windows  Chrome  美国加利福尼亚旧金山
2024-08-29 16:48:40 回复

how to get colospa without a prescription – arcoxia price pletal usa

 Windows  Chrome  美国加利福尼亚旧金山
2024-08-29 21:09:41 回复

It is created by eHealthMe based on reports of 34 people who take Capecitabine and Gaviscon from the FDA, and is updated regularly priligy farmacias del ahorro

 Windows  Chrome  美国加利福尼亚旧金山
2024-09-01 00:21:29 回复

generic cambia – aspirin 75mg drug buy aspirin pills for sale

 Windows  Chrome  美国加利福尼亚旧金山
2024-09-01 08:27:06 回复

2009, 47 206 210 priligy medicine

 Windows  Chrome  俄罗斯莫斯科莫斯科
2024-09-07 16:27:58 回复

buy rumalaya – shallaki over the counter amitriptyline pills

 Windows  Chrome  美国加利福尼亚旧金山
2024-09-08 21:39:03 回复

pyridostigmine 60mg uk – buy sumatriptan 50mg generic buy imuran 50mg sale

 Windows  Chrome  巴西圣保罗圣保罗
2024-09-14 16:06:51 回复

purchase voveran online – isosorbide 20mg drug purchase nimotop sale

 Windows  Chrome  美国加利福尼亚旧金山
2024-09-14 18:18:43 回复

buy generic lioresal for sale – buy baclofen without a prescription buy feldene without a prescription

 Windows  Chrome  美国加利福尼亚旧金山
2024-09-18 15:38:14 回复

casibom giris: casibom giris – casibom guncel giris
casibom 158 giris

 Windows  Chrome  埃及
2024-09-20 05:15:45 回复

cyproheptadine online buy – tizanidine 2mg pill how to get tizanidine without a prescription

 Windows  Chrome  美国加利福尼亚旧金山
2024-09-20 14:04:39 回复

brand mobic – buy rizatriptan without prescription ketorolac sale

 Windows  Chrome  巴西圣保罗圣保罗
NormanERAKS
2024-09-21 13:14:46 回复

farmacia online barata y fiable: Comprar Cialis sin receta – farmacia online 24 horas

 Windows  Chrome  美国加利福尼亚旧金山
NormanERAKS
2024-09-22 01:17:22 回复

sildenafilo cinfa 100 mg precio farmacia: comprar viagra en espana – sildenafilo cinfa 100 mg precio farmacia

 Windows  Chrome  美国加利福尼亚旧金山
NormanERAKS
2024-09-22 16:02:26 回复

farmacia online barata: farmacia envio gratis – п»їfarmacia online espaГ±a

 Windows  Chrome  德国法兰克福法兰克福
NormanERAKS
2024-09-23 06:51:08 回复

farmacia online barcelona: farmacia envio gratis – farmacia online madrid

 Windows  Chrome  意大利米兰米兰
Edisonnus
2024-09-23 18:00:33 回复

farmacia online: Cialis generico recensioni – farmacie online autorizzate elenco

 Windows  Chrome  瑞士Zurich
Edisonnus
2024-09-24 01:14:23 回复

Farmacie on line spedizione gratuita: Farmacia online piu conveniente – Farmacie on line spedizione gratuita

 Windows  Chrome  美国加利福尼亚旧金山
Edisonnus
2024-09-24 08:13:30 回复

migliori farmacie online 2024: Farmacie on line spedizione gratuita – comprare farmaci online con ricetta

 Windows  Chrome  意大利米兰米兰
Edisonnus
2024-09-24 15:40:28 回复

farmaci senza ricetta elenco: Farmacie on line spedizione gratuita – farmacia online piГ№ conveniente

 Windows  Chrome  瑞士Zurich
PatrickGroms
2024-09-24 23:58:25 回复

Farmacie on line spedizione gratuita: Ibuprofene 600 prezzo senza ricetta – acquisto farmaci con ricetta

 Windows  Chrome  罗马尼亚布加勒斯特
PatrickGroms
2024-09-25 07:56:58 回复

Farmacia online miglior prezzo: Farmacia online migliore – farmacia online

 Windows  Chrome  埃及
2024-09-26 07:33:23 回复

purchase omnicef pills – clindamycin tablet cleocin uk

 Windows  Chrome  美国加利福尼亚旧金山
2024-09-26 09:03:05 回复

buy cheap generic trihexyphenidyl – artane medication buy voltaren gel for sale

 Windows  Chrome  美国佛罗里达迈阿密
PatrickGroms
2024-09-26 09:47:40 回复

farmaci senza ricetta elenco: Ibuprofene 600 prezzo senza ricetta – farmacie online sicure

 Windows  Chrome  美国加利福尼亚旧金山
PatrickGroms
2024-09-27 03:03:29 回复

farmaci senza ricetta elenco: farmacia online migliore – farmacia online

 Windows  Chrome  美国加利福尼亚旧金山
ArnoldnaH
2024-09-28 00:36:38 回复

5 mg prednisone daily: cortisol prednisone – 60 mg prednisone daily

 Windows  Chrome  荷兰阿姆斯特丹阿姆斯特丹
Josephtiz
2024-09-28 21:27:24 回复

lasix 100 mg tablet: buy furosemide – lasix side effects

 Windows  Chrome  美国加利福尼亚旧金山
2024-09-28 23:32:04 回复

Bu soba, içindeki yakıtın yanmasıyla oluşan ısıyı doğrudan çevresine yayar ve aynı zamanda suyun ısınmasını sağlar.

     土耳其
2024-09-29 05:14:06 回复

Kalorifer Sobası odun, kömür, pelet gibi yakıtlarla çalışan ve ısıtma işlevi gören bir soba türüdür.

     美国加利福尼亚旧金山
Josephtiz
2024-09-29 11:46:57 回复

Semaglutide pharmacy price: Buy semaglutide pills – Semaglutide pharmacy price

 Windows  Chrome  埃及
Josephtiz
2024-09-30 02:46:08 回复

generic lasix: cheap lasix – lasix

 Windows  Chrome  美国加利福尼亚旧金山
TimothyTrode
2024-09-30 19:19:38 回复

cheapest online pharmacy india: indian pharmacy – best online pharmacy india

 Windows  Chrome  瑞士Zurich
2024-10-01 12:48:19 回复

buy isotretinoin 40mg online cheap – cheap accutane buy deltasone for sale

 Windows  Chrome  美国加利福尼亚旧金山
TimothyTrode
2024-10-01 14:34:43 回复

buy prescription drugs from india: Indian pharmacy international shipping – cheapest online pharmacy india

 Windows  Chrome  埃及
2024-10-02 17:19:40 回复

prednisone 10mg usa – omnacortil 5mg price buy elimite online

 Windows  Chrome  美国加利福尼亚旧金山
2024-10-06 12:10:00 回复

acticin online – buy generic acticin online buy tretinoin cream online

 Windows  Chrome  俄罗斯列宁格勒圣彼得堡
2024-10-08 07:47:19 回复

order betamethasone without prescription – buy betnovate paypal monobenzone ca

 Windows  Chrome  美国加利福尼亚旧金山
2024-10-11 13:31:15 回复

metronidazole 200mg ca – cenforce 100mg generic cost cenforce 100mg

 Windows  Chrome  美国加利福尼亚旧金山
2024-10-14 00:53:02 回复

buy augmentin 375mg online – synthroid 75mcg usa where to buy synthroid without a prescription

 Windows  Chrome  美国加利福尼亚旧金山
2024-10-18 12:44:55 回复

order cleocin 300mg without prescription – cleocin brand indomethacin cost

 Windows  Chrome  美国加利福尼亚旧金山
2024-10-18 22:56:32 回复

buy hyzaar – purchase hyzaar pill oral cephalexin 250mg

 Windows  Chrome  美国加利福尼亚旧金山
2024-10-23 07:08:35 回复

crotamiton sale – order crotamiton cream aczone gel

 Windows  Chrome  加拿大萨斯喀彻温萨斯卡通
2024-10-24 09:18:04 回复

cost provigil 100mg – meloset brand order meloset 3mg pills

 Windows  Chrome  美国加利福尼亚旧金山
2024-10-28 01:33:15 回复

generic bupropion 150 mg – purchase ayurslim cheap shuddha guggulu online

 Windows  Chrome  俄罗斯列宁格勒圣彼得堡
2024-10-30 09:35:30 回复

xeloda over the counter – cheap danocrine 100 mg danocrine canada

 Windows  Chrome  美国弗吉尼亚阿什本
2024-11-01 20:23:53 回复

order progesterone 100mg – cheap prometrium order clomiphene for sale

 Windows  Chrome  巴西圣保罗圣保罗
2024-11-04 19:51:58 回复

buy generic alendronate 35mg – order generic pilex order medroxyprogesterone 10mg

 Windows  Chrome  美国加利福尼亚旧金山
2024-11-07 17:59:43 回复

aygestin order – buy lumigan generic cheap yasmin for sale

 Windows  Chrome  俄罗斯莫斯科莫斯科
2024-11-08 02:27:21 回复

Thank you for your shening. I am worried that I lack creative ideas. It is your enticle that makes me full of hope. Thank you. But, I have a question, can you help me?

 Windows  Edge  美国加利福尼亚旧金山
2024-11-08 17:42:20 回复

priligy generic In this study, we sought to define Rta s direct targets during reactivation by generating a conditionally nuclear variant of Rta

 Windows  Chrome  美国加利福尼亚旧金山
2024-11-10 00:10:26 回复

priligy online pharmacy Welcome Maya Bella

 Windows  Chrome  爱沙尼亚Harjumaa
2024-11-12 01:20:17 回复

order yasmin generic – femara 2.5mg canada arimidex us

 Windows  Chrome  美国加利福尼亚旧金山
2024-11-13 19:08:17 回复

buy dostinex without a prescription – cabergoline 0.25mg cost alesse over the counter

 Windows  Chrome  美国新泽西
2024-11-18 21:49:15 回复

гѓ—гѓ¬гѓ‰гѓ‹гѓі и–¬е±ЂгЃ§иІ·гЃ€г‚‹ – г‚ўгѓўг‚­г‚·г‚·гѓЄгѓі еЂ‹дєєијёе…Ґ гЃЉгЃ™гЃ™г‚Ѓ アジスロマイシン – 500mg

 Windows  Chrome  英国伦敦伦敦
2024-11-20 00:33:52 回复

г‚·гѓ«гѓ‡гѓЉгѓ•г‚Јгѓ« е‰ЇдЅњз”Ё – 正規品バイアグラ錠の正しい処方 г‚·г‚ўгѓЄг‚№ гЃ©гЃ“гЃ§иІ·гЃ€г‚‹

 Windows  Chrome  英国伦敦伦敦