
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
这是一个包含TinyMediaManager的Docker镜像,提供Web图形界面和VNC图形界面。
。参数值格式为<变量名>=<值>。
| 变量 | 描述 | 默认值 |
|---|---|---|
USER_ID | 应用运行用户的ID。参见用户/组ID了解何时需要设置此值。 | 1000 |
GROUP_ID | 应用运行组的ID。参见用户/组ID了解何时需要设置此值。 | 1000 |
SUP_GROUP_IDS | 应用的补充组ID,以逗号分隔。 | (未设置) |
UMASK | 控制新创建文件权限的掩码。掩码值为八进制表示。默认情况下,此变量未设置,使用默认umask 022,表示新创建的文件对所有人可读,但仅所有者可写。参见在线umask计算器:[***] | (未设置) |
TZ | 容器的时区。也可通过将主机的/etc/localtime映射到容器来设置时区。 | Etc/UTC |
KEEP_APP_RUNNING | 设置为1时,应用崩溃或用户退出时将自动重启。 | 0 |
APP_NICENESS | 应用运行的优先级。nice值为-20时优先级最高,19时最低。默认情况下未设置,使用默认nice值0。注意:负nice值(提高优先级)需要额外权限。此时容器应使用docker选项--cap-add=SYS_NICE运行。 | (未设置) |
CLEAN_TMP_DIR | 设置为1时,容器启动时将删除/tmp目录中的所有文件。 | 1 |
DISPLAY_WIDTH | 应用窗口宽度(像素)。 | 1280 |
DISPLAY_HEIGHT | 应用窗口高度(像素)。 | 768 |
SECURE_CONNECTION | 设置为1时,通过加密连接访问应用图形界面(通过Web浏览器或VNC客户端)。详见安全部分。 | 0 |
VNC_PASSWORD | 连接应用图形界面所需的密码。详见VNC密码部分。 | (未设置) |
X11VNC_EXTRA_OPTS | 传递给Docker容器中运行的x11vnc服务器的额外选项。警告:仅供高级用户使用。非专业人士请勿使用。 | (未设置) |
ENABLE_CJK_FONT | 设置为1时,安装开源字体文泉驿正黑。该字体包含大量中/日/韩字符。 | 0 |
下表描述了容器使用的数据卷。映射通过-v参数设置。每个映射格式为<主机目录>:<容器目录>[:权限]。
| 容器路径 | 权限 | 描述 |
|---|---|---|
/config | rw | 应用存储配置、日志和任何需要持久化的文件的位置。 |
/media | rw | 媒体文件存储位置。 |
以下是容器使用的端口列表。可通过-p参数映射到主机(每个端口映射一个)。每个映射格式为<主机端口>:<容器端口>。容器内的端口无法更改,但可自由使用主机上的任何端口。
| 端口 | 主机映射 | 描述 |
|---|---|---|
| 5800 | 必须 | 通过Web界面访问应用图形界面的端口。 |
| 5900 | 可选 | 通过VNC协议访问应用图形界面的端口。如果不使用VNC客户端则可选。 |
使用数据卷(-v标志)时,主机和容器之间可能出现权限问题。例如,容器内的用户可能在主机上不存在。这可能导致主机无法正常访问共享卷上的文件和文件夹。
为避免问题,可指定应用应运行的用户。
这通过USER_ID和GROUP_ID环境变量将用户ID和组ID传递给容器来实现。
要找到要使用的正确ID,请在主机上使用拥有主机数据卷的用户执行以下命令:
id <用户名>
输出如下:
uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),4(adm),24(cdrom),27(sudo),46(plugdev),113(lpadmin)
uid(用户ID)和gid(组ID)的值就是应提供给容器的ID。
默认情况下,应用图形界面通过未加密连接(HTTP或VNC)访问。
可通过SECURE_CONNECTION环境变量启用安全连接。有关如何设置环境变量的更多详细信息,请参见环境变量部分。
启用后,通过浏览器访问时,应用图形界面通过HTTPs连接进行。所有HTTP访问会自动重定向到HTTPs。
使用VNC客户端时,VNC连接通过SSL进行。请注意,很少有VNC客户端支持此方法。SSVNC是其中之一。
以下是容器所需的证书文件。默认情况下,当证书缺失时,会生成并使用自签名证书。所有文件均为PEM编码的x509证书。
| 容器路径 | 用途 | 内容 |
|---|---|---|
/config/certs/vnc-server.pem | VNC连接加密。 | VNC服务器的私钥和证书,以及任何根证书和中间证书。 |
/config/certs/web-privkey.pem | HTTPs连接加密。 | Web服务器的私钥。 |
/config/certs/web-fullchain.pem | HTTPs连接加密。 | Web服务器的证书,以及任何根证书和中间证书。 |
注意:为避免浏览器或VNC客户端出现任何证书有效性警告/错误,请确保提供自己的有效证书。
注意:证书文件会被监控,检测到更改时相关守护进程会自动重启。
要限制对应用的访问,可指定密码。这可通过两种方法实现:
VNC_PASSWORD环境变量。/config卷的根目录创建.vncpass_clear文件。该文件应包含明文密码。容器启动期间,文件内容会被加密并移至.vncpass。VNC密码提供的安全级别取决于两点:
使用VNC密码时,强烈建议启用安全连接,以防止密码在未加密通道中明文传输。
注意:密码限制为8个字符。此限制来自远程帧缓冲区协议RFC(参见7.2.2节)。超过限制的任何字符将被忽略。
要获取运行中容器的shell访问权限,执行以下命令:
docker exec -ti CONTAINER sh
其中CONTAINER是创建容器时使用的ID或名称(例如crashplan-pro)。
以下部分包含需要添加到NGINX配置中的内容,以便反向代理到此容器。
反向代理服务器可基于主机名或URL路径路由HTTP请求。
在此场景中,每个主机名路由到不同的应用/容器。
例如,假设反向代理服务器与该容器运行在同一台机器上。服务器会将所有发送到tinymediamanager.domain.tld的HTTP请求代理到127.0.0.1:5800的容器。
以下是需要添加到NGINX配置中的相关配置元素:
map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream tinymediamanager { # 如果反向代理服务器未与Docker容器运行在同一台机器上,此处使用Docker主机的IP。 # 确保根据容器的5800端口在主机上的映射方式调整端口。 server 127.0.0.1:5800; } server { [...] server_name tinymediamanager.domain.tld; location / { proxy_pass http://tinymediamanager; } location /websockify { proxy_pass http://tinymediamanager; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 86400; } }
在此场景中,主机名相同,但使用不同的URL路径路由到不同的应用/容器。
例如,假设反向代理服务器与该容器运行在同一台机器上。服务器会将所有server.domain.tld/tinymediamanager的HTTP请求代理到127.0.0.1:5800的容器。
以下是需要添加到NGINX配置中的相关配置元素:
map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream tinymediamanager { # 如果反向代理服务器未与Docker容器运行在同一台机器上,此处使用Docker主机的IP。 # 确保根据容器的5800端口在主机上的映射方式调整端口。 server 127.0.0.1:5800; } server { [...] location = /tinymediamanager {return 301 $scheme://$http_host/tinymediamanager/;} location /tinymediamanager/ { proxy_pass http://tinymediamanager/; location /tinymediamanager/websockify { proxy_pass http://tinymediamanager/websockify/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 86400; } } }
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 henkallsn/tinymediamanager 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: