ghcr.io/linuxserver/webtop:debian-mate-version-b39412da
让 AI 帮你使用轩辕镜像? · 展开查看说明
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
LinuxServer.io 团队为您带来另一款容器发布,其特点包括:
- 定期且及时的应用更新
- 简单的用户映射(PGID、PUID)
- 带有 s6 overlay 的自定义基础镜像
- 每周基础操作系统更新,在整个 LinuxServer.io 生态系统中共享通用层,以减少空间占用、停机时间和带宽
- 定期安全更新
联系我们:
- 博客 - 关于如何使用我们的容器的所有内容,包括操作指南、观点等更多信息!
- *** - 与社区和团队进行实时支持/聊天。
- Discourse - 在我们的社区论坛上发帖。
- https://github.com/linuxserver - 查看我们所有仓库的源代码。
- Open Collective - 请考虑通过***或为我们的预算提供支持来帮助我们
https://github.com/linuxserver/docker-webtop
https://github.com/linuxserver/docker-webtop - 基于 Alpine、Ubuntu、Fedora 和 Arch 的容器,包含官方支持的完整桌面环境,可通过任何现代 Web 浏览器访问。
支持的架构
我们利用 docker manifest 实现多平台支持。更多信息可从 docker https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list 和我们的公告 此处 获取。
只需拉取 lscr.io/linuxserver/webtop:latest 即可获取适合您架构的正确镜像,但您也可以通过标签拉取特定架构的镜像。
此镜像支持的架构如下:
| 架构 | 是否可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-\ |
| arm64 | ✅ | arm64v8-\ |
版本标签
此镜像提供多种可通过标签获取的版本。请仔细阅读描述,并在使用不稳定或开发标签时谨慎操作。
| 标签 | 是否可用 | 描述 |
|---|---|---|
| latest | ✅ | XFCE Alpine *支持 Wayland |
| alpine-i3 | ✅ | i3 Alpine *支持 Wayland |
| alpine-kde | ✅ | KDE Alpine *仅 Wayland |
| alpine-mate | ✅ | MATE Alpine |
| arch-i3 | ✅ | i3 Arch *支持 Wayland |
| arch-kde | ✅ | KDE Arch *支持 Wayland |
| arch-mate | ✅ | MATE Arch |
| arch-xfce | ✅ | XFCE Arch *支持 Wayland |
| debian-i3 | ✅ | i3 Debian *支持 Wayland |
| debian-kde | ✅ | KDE Debian |
| debian-mate | ✅ | MATE Debian |
| debian-xfce | ✅ | XFCE Debian |
| fedora-i3 | ✅ | i3 Fedora *支持 Wayland |
| fedora-kde | ✅ | KDE Fedora *支持 Wayland |
| fedora-mate | ✅ | MATE Fedora |
| fedora-xfce | ✅ | XFCE Fedora |
| ubuntu-i3 | ✅ | i3 Ubuntu *支持 Wayland |
| ubuntu-kde | ✅ | KDE Ubuntu *仅 Wayland |
| ubuntu-mate | ✅ | MATE Ubuntu |
| ubuntu-xfce | ✅ | XFCE Ubuntu *支持 Wayland |
应用设置
可通过以下地址访问应用:
- [***]
严格反向代理
此镜像默认使用自签名证书。这自然意味着协议为 https。如果您使用的反向代理会验证证书,则需要为容器禁用此检查。
现代 GUI 桌面应用可能与最新的 Docker 系统调用限制存在兼容性问题。在具有较旧内核或 libseccomp 版本的主机上,您可以使用带有 --security-opt seccomp=unconfined 设置的 Docker 来允许这些系统调用。
安全性
[!WARNING] 此容器提供对主机系统的特权访问。除非已正确配置安全措施,否则不要将其暴露在互联网上。
完整功能需要 HTTPS。 现代浏览器功能(如用于视频和音频的 WebCodecs)在不安全的 HTTP 连接上无法正常工作。
默认情况下,此容器没有身份验证。可选的 CUSTOM_USER 和 PASSWORD 环境变量可启用基本 HTTP 身份验证,这仅适用于在受信任的本地网络上保护容器。对于互联网暴露,我们强烈建议将容器放置在反向代理(如 https://github.com/linuxserver/docker-swag%EF%BC%89%E4%B9%8B%E5%90%8E%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%E5%BC%BA%E5%A4%A7%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%9C%BA%E5%88%B6%E3%80%82
Web 界面包含一个具有无密码 sudo 访问权限的终端。任何有权访问 GUI 的用户都可以在容器内获得 root 控制权、安装任意软件并探测您的本地网络。
虽然通常不推荐,但某些遗留环境(特别是那些使用较旧硬件或过时 Linux 发行版的环境)可能需要停用标准 seccomp 配置文件才能运行容器化桌面软件。这可以通过使用 --security-opt seccomp=unconfined 参数来实现。仅在绝对必要时使用此选项至关重要,因为它会禁用 Docker 的关键安全层,增加容器逃逸漏洞的可能性。
FullColor 4:4:4 编码
如果您注意到文本模糊,特别是黑色背景上的浅色文本,可以通过在侧边栏中启用 FullColor 4:4:4 编码或使用 jpeg 编码模式向浏览器发送真正的 8 位颜色。
硬件加速注意事项: 目前,只有 Nvidia GPU 支持在 Zero Copy 模式下编码此颜色配置文件。如果在 Intel 或 AMD GPU 上启用 FullColor 4:4:4,系统将回退到 CPU 编码。这会迫使 CPU 从 GPU 读取像素,从而导致性能显著下降。
硬件加速与 Wayland
我们已将桌面容器从 X11 过渡到现代 Wayland 栈,现在 Wayland 是默认选项。
硬件回退注意事项: 在 x86_64 架构上,Wayland 栈需要支持 AVX2 的处理器(Intel Haswell 代或更新版本)。如果您的处理器缺少 AVX2(如较旧的 CPU 或某些低端赛扬处理器),容器将自动回退到 X11。
重要提示: X11 的 GPU 加速支持已弃用。未来硬件加速的开发将完全集中在 Wayland 栈上。
如果您遇到兼容性问题并需要手动禁用 Wayland(强制回退到 X11),可以通过设置以下环境变量来实现:
-e PIXELFLUX_WAYLAND=false
为什么选择 Wayland?
- 零复制编码: 当与 GPU 正确配置时,帧在显卡上渲染和编码,无需复制到系统 RAM。这大大降低了 CPU 使用率和延迟。
- 现代栈: 单应用容器使用 Labwc(替代 Openbox),完整桌面容器使用 KDE Plasma Wayland,在保持相同用户体验的同时,提供更现代、高性能和安全的合成环境。
GPU 配置
要在 Wayland 模式下使用硬件加速,我们区分用于渲染(3D 应用/桌面)和编码(视频流)的显卡。
配置变量:
DRINODE:用于渲染(EGL)的 GPU 路径。DRI_NODE:用于编码(VAAPI/NVENC)的 GPU 路径。
如果两个变量指向同一设备,容器将自动启用零拷贝(Zero Copy)编码,显著降低 CPU 使用率和延迟。如果设置为不同设备,则一个用于渲染,一个用于编码,并通过 CPU 进行数据回传。
您也可以使用环境变量 AUTO_GPU=true,设置后容器将自动检测并使用第一个识别到的显卡(例如 /dev/dri/renderD128),并配置为零拷贝模式。
Intel 与 AMD(开源驱动)
适用于 Intel 和 AMD 显卡。
devices:
- /dev/dri:/dev/dri
environment:
- PIXELFLUX_WAYLAND=true
# 可选:若存在多张显卡,指定设备(例如:/dev/dri/renderD129)
- DRINODE=/dev/dri/renderD128
- DRI_NODE=/dev/dri/renderD128
Nvidia(专有驱动)
[!NOTE] Nvidia 支持不适用于基于 Alpine 的镜像。
前置条件:
-
驱动程序:需安装580 或更高版本的专有驱动。重要提示:应使用从 Nvidia 官网直接下载的
.run文件安装驱动。- Unraid:使用 Nvidia Driver 插件的生产分支。
-
内核参数:必须在主机引导加载程序中设置
nvidia-drm.modeset=1 nvidia_drm.fbdev=1。- 标准 Linux(GRUB):编辑
/etc/default/grub,将参数添加到现有GRUB_CMDLINE_LINUX_DEFAULT行:
- 标准 Linux(GRUB):编辑
GRUB_CMDLINE_LINUX_DEFAULT=" nvidia-drm.modeset=1 nvidia_drm.fbdev=1"
然后运行以下命令应用更改:
sudo update-grub
- Unraid(Syslinux):编辑文件
/boot/syslinux/syslinux.cfg,在 Unraid OS 启动项的append行末尾添加nvidia-drm.modeset=1 nvidia_drm.fbdev=1。
-
硬件初始化:在无显示器系统中,Nvidia 显卡需插入物理虚拟显示插头(dummy plug),以确保 DRM 正确初始化。
-
Docker 运行时:配置主机 Docker 守护进程使用 Nvidia 运行时:
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
Compose 配置:
---
services:
webtop:
image: lscr.io/linuxserver/webtop:latest
environment:
- PIXELFLUX_WAYLAND=true
# 确保指向运行时注入的渲染节点(通常为 renderD128)
- DRINODE=/dev/dri/renderD128
- DRI_NODE=/dev/dri/renderD128
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [compute,video,graphics,utility]
- Unraid:确保正确设置 DRINODE/DRI_NODE,并在额外参数中添加
--gpus all --runtime nvidia。
SealSkin 兼容性
此容器与 SealSkin 兼容。
SealSkin 是一个自托管的客户端-服务器平台,提供安全认证和协作功能,同时通过浏览器扩展拦截用户操作(如点击链接或下载文件),并将其重定向到运行在远程服务器上的安全隔离应用环境。
- SealSkin 服务器:https://github.com/linuxserver/docker-sealskin
- 浏览器扩展:Chrome 和 Firefox。
- 移动应用:iOS 和 Android
所有基于 Selkies 的 GUI 容器通用选项
此容器基于 https://github.com/linuxserver/docker-baseimage-selkies 构建。
点击展开:可选环境变量
| 变量 | 描述 |
|---|---|
| PIXELFLUX_WAYLAND | 若设为 true,容器将以 Wayland 模式初始化,运行 https://github.com/Smithay/smithay 和 Labwc,并启用 GPU 零拷贝编码 |
| SELKIES_DESKTOP | 若设为 true 且处于 Wayland 模式,将通过 labwc 初始化一个简单面板 |
| CUSTOM_PORT | 容器监听 HTTP 的内部端口,如需修改默认值 3000 可在此设置 |
| CUSTOM_HTTPS_PORT | 容器监听 HTTPS 的内部端口,如需修改默认值 3001 可在此设置 |
| CUSTOM_WS_PORT | 容器监听 WebSocket 的内部端口,如需修改默认值 8082 可在此设置 |
| CUSTOM_USER | HTTP 基本认证用户名,默认值为 abc |
| DRI_NODE | 编码 GPU:启用 VAAPI/NVENC 流编码并使用指定设备(例如 /dev/dri/renderD128) |
| DRINODE | 渲染 GPU:指定用于 EGL/3D 加速的 GPU(例如 /dev/dri/renderD129) |
| AUTO_GPU | 若设为 true 且处于 Wayland 模式,将自动使用第一个可用 GPU 进行编码和渲染(例如 /dev/dri/renderD128) |
| PASSWORD | HTTP 基本认证密码,默认值为 abc。若未设置,则不启用认证 |
| SUBFOLDER | 应用的子文件夹路径(若运行子文件夹反向代理),需包含前后斜杠(例如 /subfolder/) |
| TITLE | 网页浏览器中显示的页面标题,默认值为 "Selkies" |
| DASHBOARD | 允许用户设置仪表盘。选项:selkies-dashboard、selkies-dashboard-zinc、selkies-dashboard-wish |
| FILE_MANAGER_PATH | 修改默认上传/下载文件路径,路径必须对 abc 用户有适当权限 |
| START_DOCKER | 若设为 false,拥有特权的容器将不会自动启动 DinD Docker 配置 |
| DISABLE_IPV6 | 若设为 true 或任何值,将禁用 IPv6 |
| LC_ALL | 设置容器运行的语言(例如 fr_FR.UTF-8、ar_AE.UTF-8) |
| NO_DECOR | 若设置,应用将无窗口边框运行(适合作为 PWA 使用)。(可通过 Ctrl+Shift+d 启用/禁用边框) |
| NO_FULL | 使用 openbox 时不自动全屏应用 |
| NO_GAMEPAD | 禁用用户空间游戏手柄插入器注入 |
| DISABLE_ZINK | 若检测到显卡,不设置 Zink 环境变量(用户空间应用将使用 CPU 渲染) |
| DISABLE_DRI3 | 若检测到显卡,不使用 DRI3 加速(用户空间应用将使用 CPU 渲染) |
| MAX_RES | 设置容器的最大分辨率,默认值为 16k 15360x8640 |
| WATERMARK_PNG | 容器内水印 PNG 文件的完整路径(例如 /usr/share/selkies/www/icon.png) |
| WATERMARK_LOCATION | 流上绘制水印图像的位置,可选整数值如下 |
WATERMARK_LOCATION 选项:
- 1:左上角
- 2:右上角
- 3:左下角
- 4:右下角
- 5:居中
- 6:动画
点击展开:可选运行配置(DinD 与 GPU 挂载)
语言支持 - 国际化
要以其他语言启动桌面会话,请设置 LC_ALL 环境变量。例如:
-e LC_ALL=zh_CN.UTF-8- 中文-e LC_ALL=ja_JP.UTF-8- 日语-e LC_ALL=ko_KR.UTF-8- 韩语-e LC_ALL=ar_AE.UTF-8- 阿拉伯语-e LC_ALL=ru_RU.UTF-8- 俄语-e LC_ALL=es_MX.UTF-8- 西班牙语(拉丁美洲)-e LC_ALL=de_DE.UTF-8- 德语-e LC_ALL=fr_FR.UTF-8- 法语-e LC_ALL=nl_NL.UTF-8- 荷兰语-e LC_ALL=it_IT.UTF-8- 意大利语
参数
容器通过运行时传递的参数进行配置(例如上述参数)。这些参数用冒号分隔,分别表示 :。例如,-p 8080:80 会将容器内部的 80 端口暴露出来,使其可通过主机 IP 的 8080 端口从外部访问。
| 参数 | 功能 |
|---|---|
-p 3000:3000 | Web 桌面 GUI 的 HTTP 端口,必须进行代理 |
-p 3001:3001 | Web 桌面 GUI 的 HTTPS 端口 |
-e PUID=1000 | 用户 ID - 详见下方说明 |
-e PGID=1000 | 组 ID - 详见下方说明 |
-e TZ=Etc/UTC | 指定要使用的时区,参见此 列表 |
-v /config | abc 用户的主目录 |
--shm-size= | 所有桌面镜像推荐使用 |
支持信息
- 容器运行时的Shell访问:
docker exec -it webtop /bin/bash
- 实时监控容器日志:
docker logs -f webtop
- 容器版本号:
docker inspect -f '{{ index .Config.Labels "build_version" }}' webtop
- 镜像版本号:
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/webtop:latest
更新信息
我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部的应用程序。除少数例外情况(相关 readme.md 中已注明),我们不建议也不支持在容器内更新应用程序。请参考上文的应用程序设置部分,了解该镜像是否推荐此操作。
以下是更新容器的说明:
通过 Docker Compose
- 更新镜像:
- 所有镜像:
docker-compose pull
- 单个镜像:
docker-compose pull webtop
- 更新容器:
- 所有容器:
docker-compose up -d
- 单个容器:
docker-compose up -d webtop
- 您还可以删除旧的悬空镜像:
docker image prune
通过 Docker Run
- 更新镜像:
docker pull lscr.io/linuxserver/webtop:latest
- 停止运行中的容器:
docker stop webtop
- 删除容器:
docker rm webtop
- 使用上述相同的 docker run 参数重新创建新容器(如果正确映射到主机文件夹,您的
/config文件夹和设置将被保留) - 您还可以删除旧的悬空镜像:
docker image prune
镜像更新通知 - Diun(Docker 镜像更新通知器)
[!TIP] 我们推荐使用 Diun 接收更新通知。不建议也不支持使用其他无人值守自动更新容器的工具。
本地构建
如果您出于开发目的或仅为了自定义逻辑而需要对这些镜像进行本地修改:
git clone https://github.com/linuxserver/docker-webtop.git
cd docker-webtop
docker build \
--no-cache \
--pull \
-t lscr.io/linuxserver/webtop:latest .
使用 lscr.io/linuxserver/qemu-static 可以在 x86_64 硬件上构建 ARM 变体,反之亦然
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
注册后,您可以使用 -f Dockerfile.aarch64 指定要使用的 Dockerfile。
版本历史
- 10.06.26: - 将 Alpine 镜像重新基于 3.24 构建。
- 07.05.26: - 弃用 Enterprise Linux 标签。
- 07.04.26: - 将 Ubuntu 镜像重新基于 Resolute 构建。
- 26.03.26: - 将 Fedora 镜像重新基于 44 构建。
- 24.03.26: - 更新支持 Wayland 的标签,为 Chromium 传递 ozone 平台参数。
- 27.12.25: - 将 Alpine 镜像重新基于 3.23 构建。
- 17.11.25: - 将 Fedora 镜像重新基于 43 构建。
- 24.07.25: - 将 Debian 镜像重新基于 Trixie 构建。
- 17.06.25: - 将所有镜像重新基于 Selkies 构建,移除 openbox 和 icewm,将 Alpine 升级到 3.22,将 Fedora 升级到 42。
- 10.01.25: - 将 Fedora 重新基于 41 构建。
- 06.12.24: - 将 Alpine 重新基于 3.21 构建。
- 26.09.24: - Alpine 镜像将 Firefox 替换为 Chromium。
- 23.05.24: - 将 Alpine 重新基于 3.20 构建,添加 Nvidia 支持文档。
- 22.04.24: - 将 Ubuntu 重新基于 Noble 构建。
- 16.04.24: - 添加 PRoot 应用程序文档。
- 14.04.24: - 将 Fedora 重新基于 40 构建。
- 11.02.24: - 正确添加 PWA 图标和标题变体。
- 06.02.24: - 更新 Readme 中关于原生语言支持的内容。
- 29.12.23: - 将 Alpine 重新基于 3.19 构建并换回 Firefox。
- 07.11.23: - 将 Fedora 重新基于 39 构建。
- 14.06.23: - 重新基于 Debian Bookworm 构建。
- 13.05.23: - 重新基于 Alpine 3.18 和 Fedora 38 构建。
- 23.03.23: - 将所有 Webtop 重新基于 KasmVNC 基础镜像构建。
- 21.10.22: - 将 Xfce 重新基于 Alpine 3.16 构建,迁移到 s6v3。
- 12.03.22: - 添加 GPU 挂载文档。
- 05.02.22: - 将 KDE Ubuntu 重新基于 Jammy 构建,添加更新后的 gclient 文档,停止推荐 priv 模式。
- 21.09.21: - 添加 Fedora 和 Arch 镜像,在 readme 中显示 seccomp 设置。
- 26.09.21: - 将 Alpine 版本重新基于 3.14 构建。
- 20.04.21: - 初始发布。
镜像拉取常见问题
功能
错误码
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务