收起左侧

【教程】给NAS里的小龙虾,装一个可视化Chrome浏览器(Docker一键部署)小白轻松上手

14
回复
4258
查看
[ 复制链接 ]

8

主题

60

回帖

0

牛值

初出茅庐

2026-4-5 19:43:12 显示全部楼层 阅读模式

chromepsd.jpg

💡 教程适配:飞牛NAS / 各类NAS设备(小龙虾OpenClaw)

✅ 核心功能:可视化Chrome浏览器 + Docker部署 + Selenium官方镜像 + 局域网安全使用

⏱️ 部署简单:新手也能一键搞定,无复杂命令

⚠️ 前置准备:NAS已安装Docker、Docker Compose,能正常访问局域网

一、教程前言(必看)

很多NAS玩家用小龙虾(OpenClaw)时,会遇到“没有可视化浏览器”的问题,今天教大家用Docker一键部署Chrome,还是Selenium官方镜像,安全稳定,还能直接被OpenClaw调用,全程不用复杂配置,新手也能轻松上手!

重点说明:

  • 镜像为 ​Selenium官方维护​,无安全风险,放心使用
  • 已做好权限优化,解决NAS目录读写、浏览器启动报错问题
  • 适配局域网使用,不暴露公网,安全可控
  • 自带可视化(VNC),可直接在浏览器查看Chrome界面

二、核心部署步骤(一键复制,无脑操作)

步骤1:NAS新建文件夹(存放配置和数据)

  1. 打开NAS文件管理,新建一个文件夹(建议命名:chrome,方便查找)
  2. 进入该文件夹,再新建2个小文件夹,分别命名:dataDownloads

(作用:data存放Chrome配置,Downloads存放浏览器下载文件,避免数据丢失)

步骤2:新建Docker Compose文件

  1. 进入chrome-docker文件夹,新建一个文件,命名为:docker-compose.yml
  2. 复制下面的配置,粘贴到你的 docker compose 中
services:
  chrome:   
    image: selenium/standalone-chrome:latest  # Selenium官方Chrome镜像(latest为最新版)
    container_name: openclaw-chrome
    # 网络模式:主机模式,保证局域网内可访问9222、7900端口,适配OpenClaw调用
    network_mode: host
    user: "1000"  # 其它 NAS请改为 0 解决权限问题,避免读写报错
    environment:
      # 最大会话数,限制为1,避免占用过多NAS资源
      - SE_NODE_MAX_SESSIONS=1
      # 开启VNC可视化功能,可通过浏览器查看Chrome界面
      - SE_ENABLE_VNC=true
      # VNC无需密码,局域网内直接访问,简化操作
      - VNC_NO_PASSWORD=1
    # 共享内存设置为2GB,避免Chrome运行时崩溃(比1GB更稳定,适配NAS多任务)
    shm_size: "2gb"
    # 重启策略:除非手动停止,否则开机自启、异常自动重启
    restart: unless-stopped
    volumes:
      # 配置文件持久化:将Chrome配置挂载到本地data文件夹,避免重启丢失配置
      - ./data:/tmp/chrome-data
      # 下载目录映射:Chrome下载文件同步到本地Downloads文件夹,方便NAS查看
      - ./Downloads:/home/seluser/Downloads
    command: >
      /bin/sh -c "
        mkdir -p /home/seluser/Downloads
        rm -f /tmp/chrome-data/SingletonLock /tmp/chrome-data/.lock
        /opt/bin/entry_point.sh &
        ENTRY_PID=\$!
        sleep 10
        /usr/bin/google-chrome --remote-debugging-port=9222 --no-sandbox --disable-dev-shm-usage --user-data-dir=/tmp/chrome-data --remote-debugging-address=0.0.0.0 --remote-allow-origins=* &
        CHROME_PID=\$!
        sleep 3
        echo Chrome PID: \$CHROME_PID
        wait \$ENTRY_PID
      "

步骤3:启动容器(一键部署)

  1. 打开NAS的Docker终端(或通过SSH连接NAS)
  2. 进入我们新建的chrome-docker文件夹,执行命令:
# 进入文件夹(替换成你自己的文件夹路径,示例路径)
cd /volume1/docker/chrome

启动容器(一键部署,无需额外操作)

docker compose up -d

  1. 等待几分钟,执行命令查看启动状态,显示Up即为成功:
docker compose ps

三、验证部署(确认能正常使用)

验证1:Chrome 9222调试端口(OpenClaw调用关键)

  1. 打开NAS的Docker终端(或通过SSH连接NAS),进入sudo调试模式(输入sudo -i,按提示输入NAS密码);
  2. 执行命令:
curl http://localhost:9222/json/version

能看到一串JSON代码,说明Chrome调试端口正常,可被OpenClaw调用

验证2:可视化VNC(查看Chrome界面)

在浏览器输入:http://你的NASIP:7900

无需输入密码,直接点击Connect,就能看到Chrome浏览器界面,说明可视化正常

四、避坑指南(新手必看)

  • ❌ 报错“权限不足”:配置中已设置user: "1000"(NAS常用普通用户UID),若仍报错,可尝试将文件夹权限设为777(临时测试,不推荐长期使用)
  • ❌ 9222端口不通:浏览器窗口确保存在、检查NAS防火墙,放行9222、7900端口(局域网内放行即可)
  • ❌ Chrome崩溃:配置中已设置shm_size: "2gb",足够支撑浏览器稳定运行,无需修改
  • ❌ 启动警告:若出现PID相关警告,可将命令中\$!改为$$!,即可解决转义问题
  • ❌ 镜像拉取缓慢:selenium/standalone-chrome:latest 可替换为固定版本(如4.41.0-20260324),拉取更稳定

五、OpenClaw调用说明(核心用途)

部署完成后,在飞牛NAS的小龙虾(OpenClaw)中,配置浏览器地址为:http://你的NASIP:9222,即可直接调用该Chrome浏览器,实现可视化操作、网页访问等功能,无需额外安装浏览器。

六、总结

整个部署过程全程几分钟就能搞定,一键复制配置,无需复杂命令,新手也能轻松搞定!

✅ 官方镜像:Selenium维护,安全可靠,无恶意程序

✅ 适配NAS:user: "1000" 权限优化,适配各类NAS设备,减少报错

✅ 可视化:VNC直接查看,OpenClaw完美调用

✅ 安全:局域网使用,不暴露公网,放心用

🎁 福利

小龙虾自动配置浏览器文档 → B 站关注 + 私信即可领取

如果遇到问题,留言,看到会第一时间回复!觉得有用的话,记得帮我的视频一键三连哦❤️

收藏
送赞 1
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

36

主题

199

回帖

0

牛值

小有名气

fnOS1.0上线纪念勋章飞牛百度网盘玩家

2026-4-5 21:55:49 显示全部楼层

留名!!!!!!!!!!!!!!!!!!!

4

主题

56

回帖

0

牛值

初出茅庐

2026-4-6 21:57:16 显示全部楼层

这个是真好!支持了

36

主题

199

回帖

0

牛值

小有名气

fnOS1.0上线纪念勋章飞牛百度网盘玩家

2026-4-7 10:15:47 显示全部楼层
部署小龙虾建議需要多少內存呢?

1

主题

9

回帖

0

牛值

江湖小虾

2026-4-8 19:29:19 显示全部楼层
真的成功了感谢大佬

36

主题

199

回帖

0

牛值

小有名气

fnOS1.0上线纪念勋章飞牛百度网盘玩家

2026-4-10 07:02:28 显示全部楼层
這樣是不是就不需要安裝虛擬系統, 直接讓龍蝦可以控制其他docker浏览器呢?

0

主题

26

回帖

0

牛值

江湖小虾

2026-4-10 11:16:13 显示全部楼层

不错,支持下

4

主题

37

回帖

0

牛值

江湖小虾

2026-4-11 09:57:27 显示全部楼层

第五步 应该怎么操作啊

同问啊 ai也不知道  详情 回复
2026-4-19 21:20

0

主题

15

回帖

0

牛值

江湖小虾

2026-4-16 16:10:30 显示全部楼层

留名

0

主题

2

回帖

0

牛值

江湖小虾

2026-4-19 21:20:18 显示全部楼层
yyluxe 发表于 2026-4-11 09:57
第五步 应该怎么操作啊

同问啊 ai也不知道

7

主题

192

回帖

0

牛值

小有名气

fnOS1.0上线纪念勋章社区上线纪念勋章

2026-4-20 13:27:05 显示全部楼层
官方应用中心里面,不是已经有有一个浏览器了吗,不能用吗,大家

0

主题

5

回帖

0

牛值

江湖小虾

2026-4-29 09:16:45 显示全部楼层
收藏了........

2

主题

13

回帖

0

牛值

江湖小虾

2026-4-30 21:40:23 显示全部楼层

Starting Selenium Grid Standalone...
Appending Selenium option: --tracing false
Tracing is disabled
Using JAVA_OPTS: -Dwebdriver.remote.enableTracing=false -Dwebdriver.httpclient.version=HTTP_1_1
13:37:29.373 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
13:37:29.379 INFO [LoggingOptions.getTracer] - Using null tracer
13:37:29.417 INFO [BoundZmqEventBus.] - XPUB binding to [binding to tcp://*:4442, advertising as tcp://127.0.1.1:4442], XSUB binding to [binding to tcp://*:4443, advertising as tcp://127.0.1.1:4443]
13:37:29.434 INFO [ZmqUtils.configureHeartbeat] - ZMQ XPUB socket heartbeat configured: interval=60s, timeout=180s, ttl=360s
13:37:29.443 INFO [ZmqUtils.configureHeartbeat] - ZMQ XSUB socket heartbeat configured: interval=60s, timeout=180s, ttl=360s
13:37:29.464 INFO [UnboundZmqEventBus.] - Connecting to tcp://127.0.1.1:4442 and tcp://127.0.1.1:4443
13:37:29.476 INFO [ZmqUtils.configureHeartbeat] - ZMQ SUB socket heartbeat configured: interval=60s, timeout=180s, ttl=360s
13:37:29.479 INFO [ZmqUtils.configureHeartbeat] - ZMQ PUB socket heartbeat configured: interval=60s, timeout=180s, ttl=360s
13:37:29.481 INFO [UnboundZmqEventBus.] - Sockets created
13:37:30.482 INFO [UnboundZmqEventBus.] - Event bus ready
13:37:31.004 INFO [LoggingOptions.getTracer] - Using null tracer
13:37:31.024 INFO [NodeOptions.getSessionFactories] - Detected 4 available processors
13:37:31.065 INFO [NodeOptions.report] - Adding chrome for {"browserName": "chrome","browserVersion": "147.0","container:hostname": "nas","goog:chromeOptions": {"binary": "\u002fusr\u002fbin\u002fgoogle-chrome"},"platformName": "linux","se:containerName": "nas","se:deleteSessionOnUi": true,"se:downloadsEnabled": true,"se:noVncPort": 7900,"se:vncEnabled": true} 1 times
13:37:31.090 INFO [Node.] - Binding additional locator mechanisms: relative
13:37:31.131 INFO [LocalGridModel.setAvailability] - Switching Node 1fa68042-c9f1-46dd-b0b6-2cf4efdad5c2 (uri: http://192.168.196.1:4444) from DOWN to UP
13:37:31.132 INFO [LocalNodeRegistry.add] - Added node 1fa68042-c9f1-46dd-b0b6-2cf4efdad5c2 at http://192.168.196.1:4444. Health check every 120s
13:37:31.284 INFO [Standalone.execute] - Started Selenium Standalone 4.43.0 (revision dd0f534): http://192.168.196.1:4444
[168:192:0430/133738.631513:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[168:192:0430/133738.871926:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Address does not contain a colon
[168:192:0430/133738.872248:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[168:192:0430/133738.872283:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[168:192:0430/133738.874990:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Address does not contain a colon
[168:192:0430/133738.905585:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Address does not contain a colon
[168:192:0430/133738.924411:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Address does not contain a colon

DevTools listening on ws://127.0.0.1:9222/devtools/browser/9f7f6a83-7f7e-4cdd-81de-3a7ec886d7da
[168:192:0430/133738.949454:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Address does not contain a colon
[168:192:0430/133738.949490:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Address does not contain a colon
[168:168:0430/133739.013788:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[168:192:0430/133739.013894:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Address does not contain a colon
[168:168:0430/133739.014170:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[168:168:0430/133739.015335:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[168:168:0430/133739.020734:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[168:192:0430/133739.020861:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Address does not contain a colon
[168:192:0430/133739.040185:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[168:192:0430/133739.040333:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[168:168:0430/133739.040429:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[168:168:0430/133739.046093:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[168:192:0430/133739.046180:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Address does not contain a colon
[168:168:0430/133739.053302:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.Properties.GetAll: object_path= /org/freedesktop/UPower/devices/DisplayDevice: unknown error type:
[168:168:0430/133739.059451:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[168:192:0430/133739.059896:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Address does not contain a colon
[258:273:0430/133739.065142:ERROR:gpu/ipc/client/command_buffer_proxy_impl.cc:285] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[168:168:0430/133739.070156:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
[168:192:0430/133739.070242:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Address does not contain a colon
[168:168:0430/133739.091840:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type:
Chrome PID:

什么问题呢?

这个没什么问题啊,curl http://localhost:9222/json/version 能返回数据吗?  详情 回复
2026-5-2 15:49

8

主题

60

回帖

0

牛值

初出茅庐

2026-5-2 15:49:50 楼主 显示全部楼层
小月月 发表于 2026-4-30 21:40
Starting Selenium Grid Standalone...
Appending Selenium option: --tracing false
Tracing is disabled

这个没什么问题啊,curl http://localhost:9222/json/version 能返回数据吗?

4

主题

99

回帖

0

牛值

初出茅庐

飞牛百度网盘玩家

2026-5-8 13:49:13 显示全部楼层

好好学习一下

让我们一起实现梦想
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则