MediaGo Docker部署完全指南:一行命令搭建视频下载服务器
【免费下载链接】mediago跨平台视频提取工具:支持流媒体下载、视频下载、m3u8 下载及 B站视频下载,提供 Windows 和 Mac 桌面客户端。Cross-platform video extraction tool: Supports streaming download, video download, m3u8 download, and Bilibili video download, with desktop clients for Windows and Mac.项目地址: https://gitcode.com/caorushizi/mediago
MediaGo 是一款跨平台视频提取工具,支持流媒体下载、m3u8 下载、B站视频下载,并提供 Windows 和 Mac 桌面客户端。本文带你完成MediaGo Docker 部署:在服务器或 NAS 上运行一个视频下载服务,然后用手机、浏览器随时随地访问 Web 控制台。
为什么选择 Docker 部署视频下载服务器?
传统安装需要配置运行环境、下载各种依赖工具,而 MediaGo 的 Docker 镜像把这些全部打包好了:
- 📦开箱即用:镜像内置 yt-dlp、BBDown、N_m3u8DL 等下载引擎,无需手动安装
- 🖥️Web 控制台:部署后直接通过浏览器管理下载任务,无需守在电脑前
- 📱多端访问:手机、平板、电脑都能访问同一台下载服务器
- 🔄持久化存储:数据、日志、下载文件都挂载在本地目录,容器删了数据还在
- 🏗️多架构支持:同时提供 Intel/AMD(amd64)和 ARM(arm64)镜像,NAS 用户也能跑
前提条件
开始MediaGo Docker 部署前,只需确认两件事:
- 服务器已安装 Docker(
docker --version能正常输出版本号) - 服务器 8899 端口未被占用
一行命令部署 MediaGo
打开终端,执行下面这条命令即可:
docker run -d --name mediago -p 8899:8899 -v /path/to/mediago:/app/mediago caorushizi/mediago:3.5.0各参数含义如下:
| 参数 | 说明 |
|---|---|
-d | 后台运行容器 |
--name mediago | 给容器起名,方便后续管理 |
-p 8899:8899 | 把容器内 8899 端口映射到服务器 8899 端口 |
-v /path/to/mediago:/app/mediago | 挂载本地目录,保存数据、日志和下载文件 |
caorushizi/mediago:3.5.0 | 镜像名与版本标签 |
💡 把
/path/to/mediago替换成服务器上实际使用的目录,例如/opt/mediago。
镜像也可以从 GHCR 拉取:ghcr.io/caorushizi/mediago:3.5.0,哪个镜像源快选哪个。
访问 MediaGo 控制台
容器启动后,在浏览器地址栏输入:
http://<服务器IP>:8899即可看到 MediaGo 的 Web 控制台。容器启动时默认开启了认证(见镜像入口脚本 docker/docker-entrypoint.sh 中的--enable-auth参数),首次进入后在设置页面中可以获取 API Key,后续通过接口调用时需要带上Authorization: Bearer <key>请求头,详细说明见 docs/api.md。
进入控制台后,点击「新建下载」,填入 m3u8 链接或 B站链接就能开始下载:
可选:使用 Docker Compose 部署
如果你习惯用 Compose 管理容器,仓库根目录提供了现成的编排文件 docker-compose.yml,其中配置了端口映射、数据卷和restart: unless-stopped自动重启策略。克隆仓库后执行:
git clone https://gitcode.com/caorushizi/mediago cd mediago docker compose up -d进阶:了解镜像是如何构建的
想了解技术细节的话,可以从仓库根目录的 Dockerfile 入手,它采用三阶段构建:
- Node 构建阶段:编译前端 Web 界面和播放器界面,并下载第三方下载工具
- Go 构建阶段:交叉编译
mediago-core核心服务(CGO 关闭,静态二进制) - 运行阶段:基于 debian-slim 的轻量运行环境,仅保留核心二进制和依赖工具
容器启动参数由入口脚本 docker/docker-entrypoint.sh 统一管理,你甚至可以在docker run末尾追加参数覆盖默认配置(如修改--port),而无需重新构建镜像。
宝塔面板一键部署(新手推荐)
如果你使用宝塔面板,可以完全跳过命令行,在 Docker 应用商店里一键安装 MediaGo,完整流程见 docs/bt-install.md:
- 登录宝塔面板,点击左侧菜单的「Docker」
- 首次会提示安装 Docker 和 Docker Compose 服务,点击立即安装
- 在「应用商店」中找到 MediaGo,点击安装,默认端口为 8899
提交后等待 1–3 分钟初始化完成,访问http://<服务器IP>:8899即可。
常用容器管理命令
部署完成后,这几个命令建议收藏:
# 查看运行日志 docker logs -f mediago # 停止容器 docker stop mediago # 启动已停止的容器 docker start mediago # 查看容器内下载文件位置 docker exec -it mediago ls /app/mediago/downloads升级版本时,只需重新拉取新版本镜像并重建容器(挂载目录中的数据不会丢失):
docker stop mediago && docker rm mediago docker run -d --name mediago -p 8899:8899 -v /path/to/mediago:/app/mediago caorushizi/mediago:3.5.0常见问题 FAQ
Q1:端口 8899 被占用了怎么办?修改端口映射即可,例如-p 9899:8899,然后访问http://<服务器IP>:9899。
Q2:下载的视频文件存在哪里?默认在容器的/app/mediago/downloads目录,对应你挂载的本地目录下的downloads子目录,可直接用 NAS 文件管理或 FTP 访问。
Q3:ARM 架构(如 ARM NAS)能部署吗?可以,镜像同时提供了 arm64 版本,Docker 会自动选择匹配的架构。
Q4:数据会随容器删除丢失吗?只要使用了-v挂载目录,数据库(mediago.db)、日志、下载文件都保存在你的本地目录中,删除容器不影响数据。
总结
MediaGo Docker 部署非常简单:一条docker run命令,一分钟就能拥有一台 7×24 小时在线的视频下载服务器,支持 m3u8 下载、B站视频下载和流媒体解析,手机浏览器随时管理。更多使用技巧可以参考 docs/guides.md。
⚠️ 提示:本工具仅可用于学习与研究目的,请遵守当地法律法规,不要用于任何商业用途。
【免费下载链接】mediago跨平台视频提取工具:支持流媒体下载、视频下载、m3u8 下载及 B站视频下载,提供 Windows 和 Mac 桌面客户端。Cross-platform video extraction tool: Supports streaming download, video download, m3u8 download, and Bilibili video download, with desktop clients for Windows and Mac.项目地址: https://gitcode.com/caorushizi/mediago
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考