Ghost-Downloader-3 容器化部署:3 个文件跑起多平台下载器

发布时间:2026/9/18 18:32:47

Ghost-Downloader-3 容器化部署:3 个文件跑起多平台下载器 Ghost-Downloader-3 容器化部署3 个文件跑起多平台下载器【免费下载链接】Ghost-Downloader-3The only downloader you need. 下载器的集大成者。项目地址: https://gitcode.com/GitHub_Trending/gh/Ghost-Downloader-3把 Ghost-Downloader-3 这款多平台下载器装进容器核心就三个文件Dockerfile、compose 文件、加宿主机上一个数据目录。前置条件只有装好 Docker 这一件事。读完后你能让下载器在容器里稳定运行配置和下载数据都留在镜像外。部署前环境与物料确认Docker 24 以上自带 compose v2磁盘余量 2GB 起装完依赖后镜像约 1.5GB宿主机规划一个./data目录配置和下载都放这里把仓库克隆到构建目录Dockerfile 与源码放在同级git clone https://gitcode.com/GitHub_Trending/gh/Ghost-Downloader-3仓库本身不带 Dockerfile下面两个文件是放在克隆出来的源码旁边新建的不会动仓库内容。Dockerfile核心配置# 3.13-slim项目要求 Python 3.13pyproject.tomlslim 版省掉桌面环境 FROM python:3.13-slim # PySide6 是 GUI 库即便 offscreen 渲染也需要 OpenGL、XCB 与字体库 RUN apt-get update apt-get install -y --no-install-recommends \ libgl1 libegl1 libxcb-xinerama0 libxkbcommon0 \ fonts-noto-cjk \ rm -rf /var/lib/apt/lists/* # 依赖由 uv 管理pyproject.toml uv.lock项目里没有 requirements.txt RUN pip install --no-cache-dir uv WORKDIR /app # 先复制依赖清单再安装之后改源码不会让依赖缓存失效 COPY pyproject.toml uv.lock ./ RUN uv sync --frozen --no-dev # features/ 是下载功能包B 站、BT、m3u8 等所在目录启动时从这里加载 COPY Ghost-Downloader-3.py . COPY app/ ./app/ COPY features/ ./features/ # 容器里没有显示器offscreen 让 Qt 无界面渲染不崩不闪退 ENV QT_QPA_PLATFORMoffscreen # HOME 指到固定目录配置路径随之固定方便挂载 ENV HOME/data CMD [.venv/bin/python, Ghost-Downloader-3.py]为什么这样写说三点基础镜像选 slim 而不是 full只为压小体积QT_QPA_PLATFORMoffscreen是无头部署的关键它是 PySide6 GUI 程序没有显示器不这么设启动即退出uv sync --frozen严格按uv.lock锁文件装依赖谁来构建环境都一致。features/目录容易漏功能包就是从那里加载的。最小可运行验证docker build -t ghost-downloader . docker run -d --name gd3-test ghost-downloader docker logs -f gd3-test构建、启动、盯日志。看到Ghost Downloader v4.3.7 launched这行说明进程活了docker stop gd3-test即可收工。这一步不引入 compose保持最轻方便把镜像本身有没有问题和挂载有没有问题分开排查。生产化compose 与数据持久化services: ghost-downloader: build: . container_name: ghost-downloader command: .venv/bin/python Ghost-Downloader-3.py --silence environment: - HOME/data volumes: - ./data:/data restart: unless-stoppeddocker compose up -d docker compose logs -f为什么要挂./data应用把配置写到$HOME/.local/share/GhostDownloader见app/config/paths.py里APP_DATA_DIR的取值逻辑下载默认目录是$HOME/Downloads。把 HOME 指到/data再整体挂载任务记录、配置、已下载文件就都留在容器外镜像重建、容器删了都丢不了。--silence跳过首次启动向导向导在无显示器环境下点不了会卡住启动流程。宿主机目录容器内对应原因./data/data即 HOME配置、任务记录、下载文件都在里面不能丢无/app源码镜像已含源码升级靠重建镜像不单独挂载运行中排错现象容器秒退日志里是could not load the Qt platform plugin xcb。 原因没启用 offscreenQt 找不到显示就直接中止。 改法确认 Dockerfile 里保留ENV QT_QPA_PLATFORMoffscreen别删。现象日志停在launched那一行进程还活着但向导不结束、任务不出现。 原因首次启动弹 OOBE 向导offscreen 下没法操作事件循环一直等。 改法启动参数加--silence上面 compose 文件里已经加了。现象docker ps里显示Restarting (137)。 原因137 是被 OOM 杀掉PySide6 加 libtorrent 常驻内存不小。 改法先放宽或去掉内存限制用docker stats观察真实占用后再设限额。源码在镜像里数据在卷里这就是 Ghost-Downloader-3 多平台下载器容器化的全部镜像随时重建./data不动。【免费下载链接】Ghost-Downloader-3The only downloader you need. 下载器的集大成者。项目地址: https://gitcode.com/GitHub_Trending/gh/Ghost-Downloader-3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/18 18:32:47

React Native鸿蒙适配:TurboModules原理与实战排查

很多从Android/iOS转到鸿蒙做React Native开发的同学,第一次在OpenHarmony设备上跑通新架构时,都会产生一个错觉:既然JS端的业务代码几乎不用改,那原生模块应该也能直接拿过来用。我帮一个项目做国产开发板适配时,就因…

2026/9/18 18:32:47

6个月零基础转行机器人工程师:项目驱动学习路径全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 18:32:47

蓝桥杯填空题十秒速解:题型识别、模板与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 19:37:57

Linux服务器配置查看全攻略:CPU、内存、磁盘、网络信息一条龙

接手一台陌生服务器,第一件事永远不是急着部署业务,而是先把它"摸透"。CPU几个核、内存多大、磁盘什么布局、系统什么版本、网络有没有绑定bond——这些信息如果心里没数,后面排查性能问题、规划扩容、评估业务迁移全都是瞎猜。前阵…

2026/9/18 19:37:57

Linux系统学习路线与核心知识全解析

1. Linux系统学习路线全景解析作为一款开源操作系统,Linux在服务器、嵌入式开发和云计算领域占据着不可替代的地位。我至今记得第一次在终端输入ls命令时的新奇感——那个黑白界面背后隐藏着一个全新的世界。对于初学者而言,掌握Linux不仅意味着获得一项…

2026/9/18 19:37:57

10分钟低成本改造USB打印机为网络共享打印机

1. 项目背景与价值办公室里那台老旧的USB打印机是不是经常让你头疼?每次打印都得专门跑到连接它的电脑前操作,同事之间来回传文件效率极低。其实只要花10分钟简单改造,就能让任何一台普通打印机变身网络打印机,实现全办公室无线共…

2026/9/18 19:37:57

UN R156 软件升级管理系统:SUMS、RxSWIN、OTA 合规落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 19:32:56

CANN opbase 算子参数值校验日志宏 OP_LOGE_FOR_INVALID_VALUE 使用指南

CANN opbase 算子参数值校验日志宏 OP_LOGE_FOR_INVALID_VALUE 使用指南 【免费下载链接】opbase 本项目是CANN算子库的基础框架库,为算子提供公共依赖文件和基础调度能力。 项目地址: https://gitcode.com/cann/opbase 导读 OP_LOGE_FOR_INVALID_VALUE 是 …

2026/9/18 14:13:01

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/18 0:01:09

Google Colab 实战:运行模型、数据加载与报错排查

1. 为什么我劝你先搞懂 Colab 的运行模型1.1 Colab 到底是什么,跟本地跑代码差在哪Google Colab 简单说就是一台跑在浏览器里的 Linux 虚拟机,你打开一个 Notebook,背后就连上了一台带 GPU 的远程机器。你在单元格里敲的每一行 Python&#x…

2026/9/18 0:01:09

C语言数据类型与表达式详解

1. C语言数据与数据类型概述在C语言编程中,数据是程序处理的核心对象。理解数据的分类和特性是掌握C语言的基础。C语言中的数据主要分为四大类:常量、变量、表达式和函数。这些数据类型构成了C语言程序的基本元素,每种类型都有其独特的特性和…

2026/9/18 0:01:09

SQL时间字段指定时间段查询:区间语义、索引与时区避坑

上周排查一个线上问题&#xff0c;用户反馈"昨天的订单一条都没查到"&#xff0c;但数据库里明明躺着两千多条。最后定位下来&#xff0c;不是数据丢了&#xff0c;也不是接口挂了&#xff0c;而是那个查询条件把时间段写成了> 2024-05-20 00:00:00 AND < 2024…

2026/9/18 14:13:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/18 14:13:02

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/18 14:13:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码