
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://img.shields.io/docker/v/instantlinux/mythtv-backend?sort=date](https://hub.docker.com/r/instantlinux/mythtv-backend/tags "版本徽章") https://img.shields.io/docker/image-size/instantlinux/mythtv-backend?sort=date](https://github.com/instantlinux/docker-tools/tree/main/images/mythtv-backend "镜像大小徽章") https://img.shields.io/badge/dockerfile-latest-blue](https://gitlab.com/instantlinux/docker-tools/-/blob/main/images/mythtv-backend/Dockerfile "Dockerfile")
基于Ubuntu jammy (22.04)构建的MythTV后端服务。
此镜像必须以network_mode:host模式运行,以便与HD Homerun调谐器通信;为此应用分配新的IP地址和主机名,并将其定义为Docker主机主接口上的次要IP地址。
关于配置,请参见示例docker-compose.yml(适用于swarm或独立Docker)或https://github.com/instantlinux/docker-tools/blob/main/images/helm%E3%80%81%60kubernetes.yaml%60%E4%BB%A5%E5%9C%A8%E8%A3%B8%E9%87%91%E5%B1%9EKubernetes%E4%B8%8A%E8%BF%90%E8%A1%8C%E3%80%82%E6%8C%89%E6%AD%A4%E5%A4%84%E5%AE%9A%E4%B9%89%E8%AE%BE%E7%BD%AE%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E5%92%8C%E5%AF%86%E9%92%A5%EF%BC%8C%E6%A0%B9%E6%8D%AE%E9%9C%80%E8%A6%81%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8D%B7%E6%8C%82%E8%BD%BD%E3%80%82%E6%9C%AC%E4%BB%93%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86https://github.com/instantlinux/docker-tools/blob/main/k8s/README.md%E7%9A%84%E5%AE%8C%E6%95%B4%E8%AF%B4%E6%98%8E%EF%BC%8C%E5%85%8B%E9%9A%86%E4%BB%93%E5%BA%93%E5%90%8E%EF%BC%8C%E5%8F%AF%E9%80%9A%E8%BF%87%E8%87%AA%E5%AE%9A%E4%B9%89https://github.com/instantlinux/docker-tools/blob/main/k8s/Makefile.vars%EF%BC%8C%E4%BD%BF%E7%94%A8%60make%60%E5%91%BD%E4%BB%A4%E9%80%9A%E8%BF%87https://github.com/instantlinux/docker-tools/tree/main/images/mythtv-backend/helm%E6%88%96https://github.com/instantlinux/docker-tools/blob/main/images/mythtv-backend/kubernetes.yaml%E5%90%AF%E5%8A%A8%EF%BC%9A
git clone https://github.com/instantlinux/docker-tools.git cd docker-tools/k8s make mythtv-backend
如果设置了两个Kubernetes节点,运行kubernetes-ha.yaml可在节点间的相同驱动器上设置数据同步,并定义浮动IP地址。任何时候,mythbackend的一个副本将在其中一个节点上运行,提供简单的高可用性配置。有关更多详细信息,请参见k8s目录中的Makefile。此处提供的kubernetes.yaml示例还可设置mythweb虚拟主机https://mythweb.yourdomain.com,以便您不在家时也能安排录制;创建名为auth的htpasswd文件,然后执行:
kubectl create secret generic mythweb-auth --from-file=auth
您也可以直接运行此镜像(无需compose或kubernetes),使用环境变量和密钥文件。
使用-v选项映射媒体路径。以下是示例,将单个文件夹映射到/dvr。将密钥文件放入受保护目录并启动:
docker run -d --name mythtv \ --network=host \ -e DBNAME='mythtv' \ -e DBSERVER='<您的mysql服务器名称或IP>' \ -v <您的dvr/媒体存储路径>:/dvr \ -v <密钥路径>/mythtv-db-password:/run/secrets/mythtv-db-password:ro \ -v <密钥路径>/mythtv-user-password:/run/secrets/mythtv-user-password:ro \ instantlinux/mythtv-backend:latest
在2022端口启动sshd后,可通过常规方式访问mythtv-setup;默认密码为mythtv:
docker exec mythtvbackend_app_1 /usr/sbin/sshd ssh -p 2022 -X mythtv@<主机IP> mythtv-setup
如果从多显示器系统执行设置,全屏的mythtv-setup可能无法完全显示。在这种情况下,使用以下命令限制分辨率:
mythtv-setup -w -geometry 1280x720
通过生成新的哈希密码并设置mythtv-user-password密钥来更改密码。
MythTV状态页面位于6544端口,MythWeb服务位于6760端口。
| 变量 | 默认值 | 描述 |
|---|---|---|
| APACHE_LOG_DIR | /var/log/apache2 | Apache日志目录 |
| DBNAME | mythtv | 数据库名称 |
| DBSERVER | db00 | 数据库服务器主机名 |
| LANG | en_US.UTF-8 | 语言 |
| LANGUAGE | en_US.UTF-8 | 语言 |
| LOCALHOSTNAME | 如需覆盖则设置(参见config.xml) | |
| TZ | UTC | 时区 |
要构建前端,可使用任何您喜欢的安装程序。本仓库提供一个基于ansible的安装程序。要使用它,请在前端基本安装Ubuntu LTS(20.04尚不支持,至少对于Intel显卡不支持),选择前端主机DNS名称,克隆本仓库,然后调用ansible脚本:
cd ansible cat <<EOT >>hosts [mythfrontends] frontend.your.hostdomain EOT make mythfrontend-setup
此ansible脚本可能存在配置问题,因此您可能需要进行调整才能完成过程。
将这些添加为Kubernetes密钥,或如果独立运行,则使用“file”源类型指定这些密钥。参见上述卷挂载或示例docker-compose.yml。
| 密钥 | 描述 |
|---|---|
| mythtv-db-password | MythTV数据库用户密码 |
| mythtv-user-password | MythTV SSH用户的哈希密码 |
| mythweb-auth | k8s环境下mythweb用户的htpasswd文件 |
版本31:
您可能需要配置XMLTV来替代用于从Schedules Direct获取节目表的旧mythfilldatabase方法。参见文档设置视频源。此镜像包含所需的软件包,但不自动配置。完整描述此过程超出本文档范围,但以下是一些必要步骤:
su - mythtv tv_find_grabbers # (注意哪个对应视频源) tv_grab_na_dd --configure --config-file ~mythtv/.mythtv/${FILENAME}.xmltv # (输入用户名/密码) # (选择所有频道)
channel:更改为not channel:来抑制这些警告(可在mythweb UI、mythfrontend节目表屏幕或数据库channel表的SELECT查询中查看频道列表)。这是因为节目表服务包含许多频道扫描无法获取的频道,而tv_grab工具在每次运行时都会坚持使用从节目表服务获取的完整列表重写其配置文件。如果您想对此镜像进行改进,请参见https://github.com/instantlinux/docker-tools/blob/main/CONTRIBUTING.md%E3%80%82
https://img.shields.io/badge/license-GPL--2.0-red.svg](https://choosealicense.com/licenses/gpl-2.0/ "许可证徽章") https://img.shields.io/badge/code-mythtv%2Fmythtv-blue.svg](https://github.com/mythtv/mythtv "代码仓库")
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务