3分钟上手!Cobalt Docker部署实战:从0到1搭建个人媒体下载站

3分钟上手!Cobalt Docker部署实战:从0到1搭建个人媒体下载站

【免费下载链接】cobalt save what you love 【免费下载链接】cobalt 项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt

你是否还在为不同平台的媒体下载工具切换而烦恼?是否希望拥有一个统一、高效的个人下载解决方案?本文将带你通过Docker Compose快速部署Cobalt实例,3分钟即可完成从环境准备到成功运行的全过程,让你轻松管理和保存喜爱的网络内容。

准备工作:环境检查与依赖安装

在开始部署前,请确保你的系统已安装Docker和Docker Compose。Cobalt官方推荐使用Docker Compose方式部署,这种方式可以简化配置管理并确保环境一致性。

系统要求

  • Docker Engine (20.10+)
  • Docker Compose (v2+)
  • 至少1GB可用内存
  • 网络连接(用于拉取镜像和媒体下载)

安装指引

如果你需要安装Docker环境,可以参考以下步骤(以Ubuntu为例):

# 安装Docker
sudo apt update && sudo apt install -y docker.io docker-compose
# 启动Docker服务
sudo systemctl enable --now docker
# 将当前用户加入docker组(避免每次使用sudo)
sudo usermod -aG docker $USER && newgrp docker

部署步骤:3分钟极速启动

1. 创建项目目录

首先创建一个专用目录存放Cobalt配置文件:

mkdir -p ~/cobalt && cd ~/cobalt

2. 编写Docker Compose配置文件

创建docker-compose.yml文件,复制以下内容并根据需要修改:

version: '3.5'

services:
    cobalt-api:
        image: ghcr.io/imputnet/cobalt:7
        restart: unless-stopped
        container_name: cobalt-api
        init: true
        ports:
            - 9000:9000/tcp
        environment:
            API_URL: "http://localhost:9000/"  # 修改为你的API访问地址
            API_NAME: "my-cobalt-instance"     # 自定义实例名称
            # 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
        ports:
            - 9001:9001/tcp
        environment:
            WEB_URL: "http://localhost:9001/"  # 修改为你的Web访问地址
            API_URL: "http://localhost:9000/"  # 指向上面配置的API地址

    watchtower:
        image: ghcr.io/containrrr/watchtower
        restart: unless-stopped
        command: --cleanup --scope cobalt --interval 900
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock

配置文件模板来源:docs/examples/docker-compose.example.yml

3. 启动服务

在项目目录下执行以下命令启动所有服务:

docker compose up -d

该命令会自动拉取Cobalt和Watchtower镜像,并在后台启动三个容器:

  • cobalt-api:核心API服务,负责处理下载请求
  • cobalt-web:Web前端界面,提供用户交互
  • watchtower:自动更新服务,保持Cobalt版本最新

4. 验证部署

服务启动后,通过以下方式验证是否部署成功:

  • 访问Web界面:http://localhost:9001
  • 检查API状态:http://localhost:9000/api/serverInfo

如果一切正常,你将看到Cobalt的Web界面,如下所示:

Cobalt Web界面

高级配置:解锁更多功能

配置认证信息(可选)

某些平台(如Instagram、TikTok)需要登录认证才能下载内容。你可以通过cookies.json文件提供认证信息:

  1. 创建cookies.json文件:
{
    "instagram": [
        "mid=<你的mid>; ig_did=<你的ig_did>; csrftoken=<你的csrftoken>; ds_user_id=<你的用户ID>; sessionid=<你的会话ID>"
    ],
    "tiktok": [
        "auth_token=<你的auth_token>; ct0=<你的ct0>"
    ]
}

配置示例:docs/examples/cookies.example.json

  1. 修改docker-compose.yml,取消以下两行的注释:
# COOKIE_PATH: "/cookies.json"
# volumes:
#     - ./cookies.json:/cookies.json
  1. 重启服务使配置生效:
docker compose up -d

环境变量配置

Cobalt提供了丰富的环境变量来自定义服务行为,以下是常用配置项:

服务类型变量名默认值说明
APIAPI_PORT9000API服务端口
APIRATELIMIT_MAX20每分钟最大请求数
APIDURATION_LIMIT10800最大视频时长(秒)
WebWEB_PORT9001Web服务端口
WebSHOW_SPONSORS0是否显示赞助商列表(1=显示)

完整的环境变量列表可参考官方文档:docs/run-an-instance.md

故障排除:常见问题解决

服务无法启动

如果容器无法正常启动,可以通过以下命令查看日志:

# 查看API服务日志
docker logs cobalt-api
# 查看Web服务日志
docker logs cobalt-web

端口冲突问题

如果9000或9001端口已被占用,可以修改docker-compose.yml中的端口映射:

ports:
    - 9002:9000/tcp  # 将主机9002端口映射到容器9000端口

下载失败

如果遇到下载失败,可能是以下原因:

  1. 目标平台需要认证,但未配置cookies
  2. 视频受地区限制,可以尝试配置代理
  3. 视频时长超过限制(默认3小时),可修改DURATION_LIMIT环境变量

故障排除参考

总结与后续优化

通过本文的步骤,你已经成功部署了一个功能完整的Cobalt实例。为了获得更好的使用体验,建议进行以下优化:

  1. 配置反向代理:使用Nginx或Caddy为Cobalt添加HTTPS支持,提高安全性
  2. 设置存储策略:配置外部存储卷,避免容器内数据丢失
  3. 监控服务状态:添加Prometheus+Grafana监控系统资源使用情况
  4. 定期备份配置:特别是cookies.jsondocker-compose.yml文件

Cobalt的Docker镜像会通过Watchtower自动更新,确保你始终使用最新版本。如果需要手动更新,可以执行:

docker compose pull && docker compose up -d

现在,你可以开始使用Cobalt下载和管理网络上的媒体内容了。更多高级功能和配置选项,请参考官方文档:docs/run-an-instance.md

Cobalt使用场景

【免费下载链接】cobalt save what you love 【免费下载链接】cobalt 项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值