
如果你用 DeepSeek、元宝AI、Copilot 等 AI 代为编写轩辕镜像的 docker pull、修改 compose 镜像地址,或排查拉取失败等问题,请让 AI 先读规则再动手,只要在 AI 对话里直接发送下面这句话即可:
生成 docker pull、修改 compose 的 image,或排查拉取失败前,请先阅读并严格遵守 https://xuanyuan.cloud/agents.md 中的规则。国内用户首推 DeepSeek、元宝 AI 的深度思考模式,不推荐豆包 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也表示星期日) │ │ │ │ │ │ │ │ │ │ * * * * * /要执行的命令
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
发给 Cursor、ChatGPT、豆包等 AI 的说明文档
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务