老E的博客

  • 首页
  • 关于
  • 技术应用
    • VPS相关
    • AI相关
    • 盒子相关
    • 其他
  • 订阅Youtube频道
  • 网络加速
    • expressvpnNo.1 ExpressVPN
    • 最佳免费VPN-PrivadoVPN
    • NordVPN
    • 廉价王者-Surfshark
    • PrivateInternetAccess
    • 解锁一切-PrivateVPN
  • 公益资源
    • AI导航
    • 工具下载
    • Docker镜像加速
  • 友情链接
    • tickcloudTickcloud
老E的博客
专注记录并分享跨境技术应用及随想
  1. 首页
  2. 技术应用
  3. VPS相关
  4. 正文

私有化部署cobalt媒体下载服务

2024年9月26日 4107次阅读 0条评论
clawcloud
expressvpn best vpn
privado vpn
surfshark vpn
private vpn
pia vpn
nord vpn

Cobalt 可解析、支持的平台众多,作者实测 YouTube、Bilibili、X/Twitter、Twitch、Tiktok 、Instagram、Reddit 等均可顺利解析、下载,具体使用请参考上篇「博文」及「视频分享」。同时,Cobalt 支持自托管部署,最新版本(10)提供有 api (后端/backend)docker 镜像,尚未发布 cobalt 10 前端镜像。历史版本 cobalt 7 则提供了完整的 api 和 web 模块。高级用户可以私有化部署 api 服务端,并通过前端(cobalt.tools 站点)提交,作为自定义处理服务器。私有化部署的主机应确保至少应放行 9000 端口或其他用于 api 通讯的端口。对于前端确有需求的开发者或爱好者,可以使用旧版本(7)docker 镜像,或者 git clone 后,在 node.js 环境中部署。docker 加速镜像几乎全部失效,可订阅「嘀嗒云」解决 docker.io、ghcr.io 等仓库的连接问题。

api port

私有化部署最新版本(api)

在默认已安装 docker、docker-compose 的前提下,首先,创建 cobalt-api 服务定义配置文件。

mkdir /opt/cobalt
cd /opt/cobalt
nano docker-compose.yml

docker-compose.yml 文件内容参考如下,可直接拷贝并修改 URL 使用。本配置中的两项服务 cobalt-api 和 watchtower,watchtower 服务配置块为可选,可整体删除。watchtower 默认监听端口为 8080,可通过环境变量修改 。

services:
    cobalt-api:
        image: ghcr.io/imputnet/cobalt:latest
        restart: unless-stopped
        container_name: cobalt-api

        init: true

        ports:
            - 9000:9000/tcp
            # if you're using a reverse proxy, uncomment the next line and remove the one above (9000:9000/tcp):
            #- 127.0.0.1:9000:9000

        environment:
            API_URL: "http://cobalt.example.com/"
            # if you want to use cookies when fetching data from services, uncomment the next line and the lines under volume
            # COOKIE_PATH: "/cookies.json"
            # see docs/run-an-instance.md for more information
        labels:
            - com.centurylinklabs.watchtower.scope=cobalt

        # if you want to use cookies when fetching data from services, uncomment volumes and next line
        #volumes:
            #- ./cookies.json:/cookies.json

    # update the cobalt image automatically with watchtower
    watchtower:
        image: ghcr.io/containrrr/watchtower
        restart: unless-stopped
        command: --cleanup --scope cobalt --interval 900 --include-restarting
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock

之后,在 cobalt 目录下启动容器。

docker compose up -d
#docker-compose up -d

缺失 docker compose 命令时,应安装 docker-compose-plugin。要停止并删除 cobalt 容器以及 cobalt 自定义网络,可使用如下命令。

docker compose down
#docker-compose rm -f
#docker rm -f $(docker ps -a)
docker network prune -y

同时,需要在 cobalt.tools 中打开『Settings』,在『Instance』下启用『use a custom processing server』,输入自定义的服务端(api 容器)URL 并提交。前文直接使用官方站点在线下载峰值速度可达 30Mbps,私有化部署的下载速度取决于 api 服务部署主机和下载端的网络环境。

self-host

完整私有化部署

完整私有化部署要分别定义 api 和 web 服务,也就是需要加载两个容器。过程与使用最新版本部署 api 完全相同,仅服务定义文件 docker-compose.yml  有所区别。编辑适合自身网络环境和需求的服务定义文件时,应注意以下几点:

  • IP 或域名均可使用,但 API IP 必须为公网 IP ,支持 IPv6
  • WEB IP 如无公网访问需求,可为内网 IP
  • 注意修改镜像名称,cobalt 仅部分版本提供适配 armv7、arm64 平台的镜像
  • 支持 http、https,建议使用 https,仅私人访问可使用自签证书
  • 建议使用域名而非 IP,并提前配置好 DNS 解析
  • 如果部署于境外主机,建议使用 nginx、caddy 等进行反向代理,定义文件中应去掉端口号
  • 最新版本 10 部署 api,混搭版本 7 部署 web 未经验证,谨慎使用
version: '1.0'
services:
    cobalt-api:
        image: ghcr.io/imputnet/cobalt:7
        restart: unless-stopped
        container_name: cobalt-api
        init: true
        tty: true
        ports:
            - 9000:9000/tcp
        environment:
            # 私有化部署的主机IP或域名
            API_URL: "http://public_ip_or_domainname:9000/"
            API_NAME: "cobalt-api"
            # 如需开启cookie,则打开下一行,并删除volumes注释
            # COOKIE_PATH: "/cookies.json"
        #volumes:
            #- ./cookies.json:/cookies.json
    cobalt-web:
        image: ghcr.io/imputnet/cobalt:7
        restart: unless-stopped
        container_name: cobalt-web
        init: true
        tty: true
        ports:
            - 9001:9001/tcp
        environment:
            # web主机IP或域名
            WEB_URL: "http://ip_or_domainname:9001/"
            # api主机ip或域名
            API_URL: "http://public_ip_or_domainname:9000/"

编辑好 docker-compose.yml 后,运行 docker compose up -d 命令,docker 将自动拉取镜像,并按照定义文件创建 cobalt-api、cobalt-web 两项服务。

docker compose

容器加载后,我们就可以通过域名或 IP 地址访问前端 web,并正常下载视频资源。示例使用了 http 协议,并添加 DNS AAAA 记录指向内网盒子。

self-hosted in tvbox

至此,就完成了使用 cobalt 7 镜像进行完整私有化部署的任务。如果需要采用最新版本,应 git clone 所有代码,在配置好的 node.js 环境下部署 。有关端口号去除、nginx 反向代理配置等内容可参考本站相关博文。多人共享的话,最简单的方法就是败一台大流量境外服务器部署 cobalt,免备案免折腾,推荐首次促销的 ServerPoint ,新加坡 PCCW、Telstra 双线,2c2g80g 年付 $50,流量恐怖,可申请由 10T/m 翻倍为 20T/m,亚洲周边国家/地区数据中心的 VPS 这种价格每月 10T + 流量非常罕见。

✅ ServerPoint Singapore Datacenter-LET-G3.2(2vCPUs | 2GBs RAM | 80 GBs SSD storage | 10 TBs/mo data transfer | DDoS protection included)

最后,特别提示,无论使用何种下载工具下载何种资源,务必尊重版权,严格遵守内容协议、遵照原创声明对每个人都有好处。更多精彩,敬请关注老E的博客!

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可
标签: docker 下载工具 代理 容器化
最后更新:2024年9月27日

老E

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

站内搜索
归档
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 10 月
  • 2023 年 9 月
  • 2023 年 8 月
  • 2023 年 7 月
  • 2023 年 6 月

Copyright ©2023-2025 Appscross. All Rights Reserved.