基于Ubuntu jammy (22.04)构建的MythTV后端服务。
此镜像必须以network_mode:host模式运行,以便与HD Homerun调谐器通信;为此应用分配新的IP地址和主机名,并将其定义为Docker主机主接口上的次要IP地址。
关于配置,请参见示例docker-compose.yml(适用于swarm或独立Docker)或helm、kubernetes.yaml以在裸金属Kubernetes上运行。按此处定义设置环境变量和密钥,根据需要自定义卷挂载。本仓库提供了构建Kubernetes集群的完整说明,克隆仓库后,可通过自定义Makefile.vars,使用make命令通过helm或kubernetes.yaml启动:
git clone [***] cd docker-tools/k8s make mythtv-backend
如果设置了两个Kubernetes节点,运行kubernetes-ha.yaml可在节点间的相同驱动器上设置数据同步,并定义浮动IP地址。任何时候,mythbackend的一个副本将在其中一个节点上运行,提供简单的高可用性配置。有关更多详细信息,请参见k8s目录中的Makefile。此处提供的kubernetes.yaml示例还可设置mythweb虚拟主机[***],以便您不在家时也能安排录制;创建名为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工具在每次运行时都会坚持使用从节目表服务获取的完整列表重写其配置文件。如果您想对此镜像进行改进,请参见CONTRIBUTING。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429