Docker 浏览器桌面(noVNC / Selkies)

用容器在 VPS 上跑远程浏览器(Chromium + 虚拟显示器 + noVNC + Web 远程桌面),网页直接访问。代表开源项目:linuxserver/chromium、noVNC、Selkies;澄清 browserless 是自动化非手动。

#type / resource #status / growing #tech / ops / vps #resource / docker #platform / linux #platform / server #interface / web #media / tool

[!info] related notes

这是什么

用容器在 VPS 上跑一个“远程浏览器”:容器里启动 Chromium + 虚拟显示器(Xvfb)+ noVNC(Web VNC)+ Web 远程桌面。你直接访问 http://VPS-IP:端口 就能在网页里看到并操作远程 Chromium,无需装完整桌面。

浏览器访问 http://VPS:PORT

容器:noVNC(Web) → Xvfb(虚拟显示) → Chromium

目标网站(看到 VPS IP)

代表开源项目

  • linuxserver/chromium:单浏览器容器,自带 Web 界面与 noVNC,相对轻量,适合“只想要一个远程浏览器”。提供 amd64arm64 镜像,Oracle Ampere 等 ARM 实例可直接用。
  • noVNC:浏览器里的 VNC 客户端(WebSocket→VNC),常作为其它方案的 Web 前端。
  • Selkies(selkies-gstreamer):基于 WebRTC 的容器化桌面流送,延迟更低,适合对流畅度敏感的场景。
  • browserless / chrome:⚠️ 澄清:它是给 Playwright/Puppeteer 做自动化的无头/有头 Chrome 服务,不是给人手动刷网页的远程桌面;手动使用体验差,别当远程浏览器用。

[!note] 它默认是 HTTP,HTTPS 需要反向代理 noVNC / websockify 默认只提供 HTTP(如 http://host:3010)。要在浏览器里用可信 HTTPS 访问,需要额外一层做 TLS 终止 + 证书:要么用 Tailscale Serve(免域名、tailnet 内),要么在前面放 Caddy/Nginx(需域名)。这层”看起来多余”,实则承担了证书与加密——并不是容器本身缺陷。完整实战见 在 Oracle 上部署远程浏览器实战

资源需求

  • 比完整桌面轻:1GB 勉强可跑单浏览器容器,2GB 舒服;
  • 仍受 Chromium 内存占用制约,开多标签照样吃内存。

优缺点

  • ✅ 比桌面方案轻,部署一条 docker run
  • ✅ 网页直接访问,无需远程桌面客户端;
  • ✅ 隔离好,容器可随时销毁重建;
  • ❌ 1GB 仍偏紧;
  • ❌ Web 化体验略逊于原生远程桌面(尤其视频/拖拽)。

适合场景

低配 VPS(如 1C1G Oracle)想要“一个远程浏览器”,或希望网页直达、不想装桌面。

创建于 2026/7/31 更新于 2026/7/31