Ghost-Downloader-3 下载器 Docker 部署实战
Ghost-Downloader-3 下载器 Docker 部署实战【免费下载链接】Ghost-Downloader-3The only downloader you need. 下载器的集大成者。项目地址: https://gitcode.com/GitHub_Trending/gh/Ghost-Downloader-3Ghost-Downloader-3 是一个多协议下载器支持 HTTP、BT、M3U8、MPEG-DASH、eD2k 以及 YouTube、Bilibili 解析。按本文做完你会在一台 Linux 服务器上得到一个稳定运行的容器下载文件落到你能直接看到的目录配置和数据不会因重建镜像而丢失。开始前的三件事克隆代码git clone https://gitcode.com/GitHub_Trending/gh/Ghost-Downloader-3进入该目录操作本文所有相对路径都指这里。宿主机装好 Docker 与 Docker Compose v2docker compose version能输出版本即可CPU 需支持 AVX 指令集Qt 6.6 的硬性要求。端口方面容器默认只对外暴露 14370浏览器扩展和 16800aria2 RPC两个端口宿主机这两个端口需空闲。跑通最小可用路径构建镜像项目没有 requirements.txt依赖全部写在 pyproject.toml 里用uv安装最稳。在项目根目录新建Dockerfile内容如下FROM python:3.13-slim # 系统依赖Qt offscreen 渲染、中文字体、ffmpeg RUN apt-get update apt-get install -y --no-install-recommends \ libgl1 libegl1 libxcb-xinerama0 fonts-noto-cjk ffmpeg \ rm -rf /var/lib/apt/lists/* WORKDIR /app # 先装依赖充分利用镜像层缓存 COPY pyproject.toml uv.lock ./ RUN pip install --no-cache-dir uv \ uv sync --frozen --no-dev COPY app/ ./app/ COPY features/ ./features/ COPY Ghost-Downloader-3.py . ENV QT_QPA_PLATFORMoffscreen EXPOSE 14370 16800 CMD [uv, run, python, Ghost-Downloader-3.py]换成你的场景只改两处基础镜像的3.13要匹配pyproject.toml里requires-python 3.13CMD末尾的入口文件名要和根目录的 Ghost-Downloader-3.py 一致。构建命令docker build -t ghost-downloader:latest .启动容器在同目录新建docker-compose.ymlservices: ghost-downloader: build: . container_name: ghost-downloader environment: - QT_QPA_PLATFORMoffscreen volumes: - ./downloads:/root/Downloads - ./appdata:/app/GhostDownloader ports: - 14370:14370 # 浏览器扩展配对端口 - 16800:16800 # aria2 兼容 RPC 端口 restart: unless-stopped deploy: resources: limits: memory: 1024M cpus: 2要改的几行./downloads挂到容器内的/root/Downloads程序默认下载目录./appdata挂到/app/GhostDownloader配置文件和日志落盘处见 app/config/paths.py。两个挂载路径就是你要改的持久化位置其余保持默认即可。启动docker compose up -d --build验证真的在跑docker logs -f ghost-downloader正常应看到类似Ghost Downloader v4.3.5 launched的日志且docker compose ps中状态为running、无重启计数增长。再等几秒执行docker compose ps确认容器没有退出即代表服务起来了。看懂配置里的每一行配置项为什么这么写什么情况要改./downloads:/root/Downloads程序默认下载目录是用户下载目录挂载后文件落到宿主机不丢想改下载落盘位置时改左边的宿主路径./appdata:/app/GhostDownloader配置 UserConfig.json、日志都写在这里挂载保证重建不丢想换配置存储盘时改左边路径memory: 1024MQt libtorrent 多任务并发512M 容易在 BT 场景被 OOM 杀掉并发任务多可上调到 2048Mcpus: 2下载和哈希计算吃 CPU限制避免抢占宿主机服务器富余时放宽或删掉restart: unless-stopped崩溃或重启宿主机后自动拉起除非你手动 stop想手动控制生命周期时改成no容易踩的三个坑首次启动卡在向导界面。现象是日志停在 OOBE、容器不报错但功能不可用原因是首启会弹出无界面时无法交互的引导向导。解决先docker compose exec ghost-downloader sh -c ls /app/GhostDownloader再手动把该目录下的UserConfig.json里hasCompletedOobe置为true后重启。界面看不到、以为没起来。现象是offscreen模式下没有任何窗口原因是 offscreen 平台只做后台渲染不显示窗口。解决把它当纯服务用即可需要看图形界面时改用 X11/VNC 桌面方案那属于另一套部署。文件下到了容器里找不到。现象是宿主机./downloads一直为空原因是默认下载目录没挂载、写进了容器层。解决确认 compose 里./downloads:/root/Downloads这行存在删容器后文件仍应在挂载目录里。一页速查场景命令查看实时日志docker logs -f ghost-downloader拉新代码后重建更新docker compose up -d --build进入容器排查docker compose exec ghost-downloader sh彻底删掉重来docker compose down -v docker compose up -d --build适用边界多实例部署、GPU 加速转码、X11 图形界面远程访问都不在本文范围内。【免费下载链接】Ghost-Downloader-3The only downloader you need. 下载器的集大成者。项目地址: https://gitcode.com/GitHub_Trending/gh/Ghost-Downloader-3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考