
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
轻量级Docker容器,用于按需或通过内置定时任务永久运行easyepg,支持多架构(amd64、arm32v7、arm64v8),适用于命令行环境和NAS系统的Docker GUI。
easyepg.minimal是一个轻量级Docker容器,旨在简化easyepg的部署和运行。它支持两种运行模式:按需执行或通过内置定时任务(cronjob)永久运行,适用于需要定期更新EPG(电子节目指南)XML文件的场景,如与TVheadend等电视服务集成。
本部分适用于直接运行TVheadend的专用主机用户,不适用于NAS系统的Docker GUI用户(详见Docker GUI技术信息)。
前提条件
安装步骤
切换到要运行容器的用户,执行以下命令启动安装:
bashsh -c "$(curl -s -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/dlueth/easyepg.minimal/master/init)"
注意:镜像为多架构构建,会自动拉取与主机架构匹配的变体(amd64、arm32v7或arm64v8)。
注意:若init脚本检测到有效的
xmltv.sock,会默认设置为"yes"并自动提供路径;否则默认设置为"no"。
初始配置
切换到运行容器的用户,启动并进入admin容器进行easyepg配置:
bashdocker start easyepg.admin docker exec -ti -u easyepg -w /easyepg easyepg.admin /bin/bash ./epg.sh
完成配置后,输入exit退出容器,然后执行docker stop easyepg.admin停止admin容器。
注意:若以root用户运行init脚本,容器将没有
easyepg用户,需从上述命令中移除-u easyepg参数。出于安全考虑,不建议以root用户运行。
更新EPG XML文件
方式A:容器内置定时任务
以目标用户登录,执行以下命令启动cron容器:
bashdocker start easyepg.cron
容器内已配置默认定时任务,每日2:00运行easyepg。
方式B:主机定时任务
注意:若已选择方式A(如在NAS上运行),请跳过本部分。
以目标用户登录,执行以下命令编辑crontab:
bashcrontab -e
在打开的文件中添加以下行:
bash0 2 * * * docker start easyepg.run
若安装时未设置xmltv.sock路径,可能需要额外添加以下两行(替换[your file]为生成的XML文件名):
bash0 4 * * * cat ~/easyepg/xml/[your file].xml | socat - UNIX-CONNECT:/home/hts/.hts/tvheadend/epggrab/xmltv.sock 10 4 * * * cat ~/easyepg/xml/[your file].xml | socat - UNIX-CONNECT:/home/hts/.hts/tvheadend/epggrab/xmltv.sock
保存并退出文件即可。
以下是手动启动容器的示例及可用参数说明,适用于Docker GUI用户:
bashdocker run \ -d \ -e MODE="admin" \ -e USER_ID="1099" \ -e GROUP_ID="1099" \ -e TIMEZONE="Europe/Berlin" \ -e FREQUENCY="0 2 * * *" \ -e UPDATE="yes" \ -e REPO="sunsettrack4" \ -e BRANCH="master" \ -v {EASYEPG_STORAGE}:/easyepg \ -v {XML_STORAGE}:/easyepg/xml \ -v {XMLTV_SOCKET}:/xmltv.sock \ --name=easyepg \ --restart unless-stopped \ --tmpfs /tmp \ --tmpfs /var/log \ qoopido/easyepg.minimal:latest
参数说明
| 参数 | 可选 | 取值/类型 | 默认值 | 描述 |
|---|---|---|---|---|
MODE | 是 | run, admin, cron | run | 容器运行模式 |
USER_ID | 是 | [整数] | 1099 | 运行easyepg的用户ID(UID) |
GROUP_ID | 是 | [整数] | 1099 | 运行easyepg的组ID(GID) |
TIMEZONE | 是 | [字符串] | Europe/Berlin | 容器时区 |
FREQUENCY | 是 | [字符串] | 0 2 * * * | 定时任务频率(仅MODE='cron'时生效) |
UPDATE | 是 | yes, no | yes | 容器启动时是否更新easyepg |
REPO | 是 | sunsettrack4, DeBaschdi | sunsettrack4 | 安装/更新easyepg的仓库 |
BRANCH | 是 | [字符串] | master | 安装/更新easyepg的分支 |
常用卷说明
| 卷 | 可选 | 描述 |
|---|---|---|
EASYEPG_STORAGE | 否 | 用于持久化easyepg数据的目录 |
XML_STORAGE | 是 | 存储生成的XML文件的目录 |
XMLTV_SOCKET | 是 | 用于自动写入XML文件的socket路径 |
注意:传递卷时,需将包含花括号的名称替换为具有正确权限的绝对路径。若移除
XML_STORAGE,生成的XML文件将位于EASYEPG_STORAGE的xml子目录中。
注意:
XML_STORAGE可用于将生成的XML文件直接写入单独运行的TVheadend Docker容器的目录。
┌───────────── 分钟 (0 - 59) │ ┌───────────── 小时 (0 - 23) │ │ ┌───────────── 日 (1 - 31) │ │ │ ┌───────────── 月 (1 - 12) │ │ │ │ ┌───────────── 星期 (0 - 6) (星期日至星期六;部分系统中7也表示星期日) │ │ │ │ │ │ │ │ │ │ * * * * * /要执行的命令
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务