
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Video Disk Recorder(VDR)是由Klaus Schmidinger开发的免费开源项目,旨在使用标准PC组件构建数字视频录像机,支持接收、录制和回放符合DVB标准的数字电视广播。
lapicidae/vdr-server镜像是基于Arch Linux、VDR4Arch和s6-overlay构建的Docker镜像,提供了开箱即用的VDR服务,集成了多种插件支持、定时任务、日志管理等功能,适用于需要快速部署和自定义数字电视录制系统的场景。
当以下任一源更新时,镜像将自动重建:
适用于需要搭建数字电视录制与回放系统的用户,尤其适合以下场景:
首次启动注意事项
⚠️ 警告:首次启动可能较慢
首次启动时需从AUR构建非内置插件,耗时较长,请耐心等待。
兼容docker-compose v2架构:
yamlversion: "2.1" services: vdr-server: image: lapicidae/vdr-server container_name: vdr-server environment: - PUID=1000 # 用户ID(详见下文说明) - PGID=1000 # 组ID(详见下文说明) - TZ=Europe/London # 时区(如Asia/Shanghai) - PLUGINS=epgsearch live streamdev-server vnsiserver # 可选:插件列表 volumes: - /path/to/system:/vdr/system # 系统配置(启动参数、钩子脚本等) - /path/to/config:/vdr/config # 应用配置(setup.conf、channels.conf等) - /path/to/recordings:/vdr/recordings # 录制文件存储目录 - /path/to/cache:/vdr/cache # 缓存文件(epgimages、cam.data等) - /path/to/channellogos:/vdr/channellogos # 可选:自定义频道Logo - /path/to/log:/vdr/log # 可选:日志文件存储(需启用LOG2FILE) - /path/to/timeshift:/vdr/timeshift # 可选:时移缓冲目录 - /path/to/pkgbuild:/vdr/pkgbuild # 可选:自定义PKGBUILD包目录 ports: - 8008:8008 # VDR-Live插件HTTP端口 - 6419:6419 # 可选:SVDRP协议端口 - 6419:6419/udp # 可选:SVDRP对等连接UDP端口 - 34890:34890 # 可选:VNSI接口(Kodi客户端) - 8099:8099 # 可选:图像服务器端口(需启用START_IMAGESERVER) devices: - /dev/dvb:/dev/dvb # 可选:DVB卡设备映射 cap_add: - SYS_TIME # 可选:允许修改系统时间(需配合VDR的SetSystemTime设置) restart: unless-stopped stop_grace_period: 60s # 重要:确保VDR正常关闭
bashdocker run -d \ --name=vdr-server \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/London \ -e PLUGINS=epgsearch live streamdev-server vnsiserver `# 可选:插件列表` \ -p 8008:8008 \ -p 6419:6419 `# 可选:SVDRP协议端口` \ -p 6419:6419/udp `# 可选:SVDRP对等连接UDP端口` \ -p 34890:34890 `# 可选:VNSI接口(Kodi客户端)` \ -p 8099:8099 `# 可选:图像服务器端口(需启用START_IMAGESERVER)` \ -v /path/to/system:/vdr/system \ -v /path/to/config:/vdr/config \ -v /path/to/recordings:/vdr/recordings \ -v /path/to/cache:/vdr/cache \ -v /path/to/channellogos:/vdr/channellogos `# 可选:自定义频道Logo` \ -v /path/to/log:/vdr/log `# 可选:日志文件存储(需启用LOG2FILE)` \ -v /path/to/timeshift:/vdr/timeshift `# 可选:时移缓冲目录` \ -v /path/to/pkgbuild:/vdr/pkgbuild `# 可选:自定义PKGBUILD包目录` \ --device /dev/dvb:/dev/dvb `# 可选:DVB卡设备映射` \ --restart unless-stopped \ --cap-add=SYS_TIME `# 可选:允许修改系统时间` \ --stop-timeout 60 `# 重要:确保VDR正常关闭` \ lapicidae/vdr-server
容器运行时通过参数进行配置,格式为<外部>:<内部>(如端口映射)。
| 参数 | 功能说明 |
|---|---|
-p 8008 | VDR-Live插件HTTP端口 |
-p 3000 | Streamdev服务器HTTP流端口 1 |
-p 8009 | 可选:VDR-Live插件HTTPS端口(需自行配置证书) |
-p 6419 | 可选:简单VDR协议(SVDRP)端口 |
-p 6419/udp | 可选:SVDRP对等连接UDP端口 |
-p 2004 | 可选:Streamdev服务器VDR-to-VDR流端口 |
-p 34890 | 可选:VDR网络流接口(VNSI,用于Kodi客户端) |
-p 8099 | 可选:图像服务器端口(需启用START_IMAGESERVER) 2 |
-e PUID=1000 | 用户ID,用于权限映射(详见下文说明) |
-e PGID=1000 | 组ID,用于权限映射(详见下文说明) |
-e TZ=Europe/London | 时区设置(如Asia/Shanghai,完整列表见时区数据库) |
-e LANG=en_US.UTF-8 | 默认 locale(支持列表见glibc locales) |
-e PLUGINS=... | 可选:空格分隔的VDR插件列表(默认:epgsearch live streamdev-server vnsiserver,插件列表见https://github.com/VDR4Arch/vdr4arch/tree/master/plugins%EF%BC%89 |
-e START_NALUDUMP=true | 可选:启用每日naludump定时任务(默认4点运行) 3 |
-e START_NALUDUMP_AT=0 4 * * * | 可选:自定义naludump调度时间(cron格式,示例见crontab.guru) |
-e START_IMAGESERVER=true | 可选:启用图像服务器(提供频道Logo和EPG图像) |
-e LOG2FILE=true | 可选:启用日志文件存储(日志路径:/vdr/log) |
-e PROTECT_CAMDATA=true | 可选:设置cam.data为只读,防止意外修改 |
-e DISABLE_WEBINTERFACE=true | 可选:禁用Web界面(live插件) |
-e LOGO_COPY=false | 可选:使用自定义频道Logo(路径:/vdr/channellogos) |
-v /vdr/system | 系统配置目录(启动参数、录制钩子、msmtprc配置等) |
-v /vdr/config | 应用配置目录(如setup.conf、channels.conf) |
-v /vdr/recordings | 录制文件存储目录(视频目录) |
-v /vdr/cache | 缓存目录(如epgimages、cam.data) |
-v /vdr/channellogos | 频道Logo存储目录 |
-v /vdr/log | 日志文件目录(需启用LOG2FILE=true) |
-v /vdr/timeshift | VNSI时移缓冲目录 |
-v /vdr/pkgbuild | 自定义PKGBUILD包目录(配置说明见https://github.com/lapicidae/vdr-server/blob/master/build/base/defaults/pkgbuild%EF%BC%89 |
--device /dev/dvb | DVB卡设备映射(如需使用物理DVB设备) |
使用卷映射(-v)时,主机与容器可能出现权限冲突。通过PUID和PGID可指定容器内运行用户的ID,确保与主机目录权限匹配。
通过以下命令获取主机用户的ID:
bashid username # 输出示例:uid=1000(dockeruser) gid=4321(dockergroup) groups=4321(dockergroup)
将输出的uid和gid分别作为PUID和PGID参数值。
容器内标准路径与主机映射目录对应关系:
| 容器内路径 | 主机映射路径 | 说明 |
|---|---|---|
/etc/vdr | /vdr/system | 系统配置(启动参数、钩子脚本等) |
/var/lib/vdr | /vdr/config | 应用配置(插件配置、频道列表等) |
/srv/vdr/video | /vdr/recordings | 录制文件存储 |
/var/cache/vdr | /vdr/cache | 缓存文件(EPG图像、CAM数据等) |
/usr/share/vdr/channel-logos | /vdr/channellogos | 频道Logo |
基础配置:
vdr/system/conf.d/00-vdr.conf中修改vdr/config/目录(如setup.conf、channels.conf)http://<主机IP>:8008,支持通过远程控制界面修改大部分VDR设置vdr/system/conf.d/目录下的对应文件配置vdr/config/plugins/目录PLUGINS环境变量指定需安装的插件(空格分隔)VDR插件(如epgsearch)可通过sendmail发送邮件通知。容器集成msmtp提供sendmail功能,配置文件为vdr/system/eMail.conf。配置方法详见msmtp文档。
容器停止时会自动生成VDR频道ID列表,存储于vdr/cache/channelids.conf。
针对VDR 2.6.0之前版本的录制文件,可通过连续性计数器检查错误(如用于Web界面显示)。只需在录制主目录(vdr/recordings)创建空文件checkrec,容器启动时会自动执行检查,直至完成所有文件扫描。检查通过eTobi的https://github.com/vdr-projects/vdr-checkts%E5%B7%A5%E5%85%B7%E5%AE%9E%E7%8E%B0%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务