跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表

目录

  1. 测试环境
  2. OpenClaw 需要的浏览器环境
  3. 方案对比
  4. 最终架构
  5. 如何配置
  6. Step 1: Tailscale 私有网络
  7. 1. VPS 安装 Tailscale
  8. 2. 获取 Tailscale IP
  9. 3. 本地安装 Tailscale
  10. Step 2: 部署 Docker 环境
  11. 1. 安装 Docker
  12. 2. 创建项目目录
  13. 3. 创建浏览器启动脚本(带 Watchdog + socat 端口转发)
  14. WebTop 已设置 DISPLAY=:1,使用默认值或环境变量
  15. 等待 X server 就绪
  16. 启动 CDP 端口代理(9222 -> 9223)
  17. 主循环:浏览器崩溃或假死时自动重启
  18. 4. 创建 Docker Compose 配置
  19. 5. 创建环境变量文件
  20. 获取 Tailscale IP
  21. 创建 .env 文件
  22. 6. 配置浏览器自启动
  23. 创建浏览器启动服务
  24. 等待 socat 安装完成
  25. 以 abc 用户运行浏览器(解决 X11 认证问题)
  26. 7. 创建浏览器数据目录
  27. 8. 启动容器
  28. Step 3:OpenClaw 配置
  29. 配置参数说明
  30. 环境变量 (.env)
  31. Docker Compose 配置
  32. 本地如何连接远程浏览器验证
  33. OpenClaw 实操
  34. Chrome DevTools MCP
  35. Browse Use
  36. FAQ
  37. 参考链接
Shell / BashAI

云端 OpenClaw 部署 WebTop 方案实现真实桌面浏览器自动化

针对云端 OpenClaw 无头浏览器难以通过人机验证及无法人工接管的问题,基于 WebTop Docker 镜像配合 Tailscale 私有网络的解决方案。该方案提供完整桌面环境,支持 Cookie 持久化、验证码人工干预及自动重启监控。通过 socat 端口转发解决 Chromium 绑定限制,结合 Watchdog 确保服务稳定性。实测表明此架构能有效绕过反爬机制,适用于需要真实浏览器行为的自动化场景。

锁机制发布于 2026/4/5更新于 2026/4/198 浏览
云端 OpenClaw 部署 WebTop 方案实现真实桌面浏览器自动化

浏览器是网络世界的入口

对于云端部署的 OpenClaw,最大的痛点在于浏览器没有显示界面,这会对浏览器自动化操作产生很大影响。

刷知乎、小红书、推特或看 Reddit 时,传统的 Headless(无头)浏览器几乎过不了人机验证,也很容易卡在扫码登录界面。云服务器没有显示器,无法查看验证码,更别提接管操作了。

那么,有没有一种优雅的姿势,让云端的 OpenClaw 拥有一个'有血有肉'的真实桌面浏览器?既能保留 Cookie 环境,又能在遇到验证码时通过浏览器随时远程人工接管?

经多方验证,在云服务器上跑通 WebTop + Tailscale 方案,成功登录谷歌、知乎、小红书等平台。访问网页畅通无阻,甚至能自主搜索信息。

测试环境

  • Oracle Cloud(新加坡区 Free Tier)4C CPU / 24GB 内存。SCP 速度约 1.5~2 MB/s,Ping 延迟 400ms,远程桌面人工接管时会感觉偏卡。好在 OpenClaw 通过 CDP 调用浏览器是本机通讯,不吃公网带宽,不会拖慢自动化性能。
  • 若将 WebTop 跑在离自己更近的 VPS(或本地超微机),延迟和带宽体验会更好。以下参数基于高配机器调试,资源紧张(如 2C4G 或 2C8G)时需对照可调项做减法。

OpenClaw 需要的浏览器环境

为了发挥 OpenClaw 最大潜力,需要一个'有血有肉'的真实桌面浏览器。核心诉求包括:

  • 抗反爬:避免网站风控秒封
  • 浏览状态持久化:记住登录状态、浏览历史、Cookie
  • 遇到登录/验证码可人工接管

经过对比,最终选定 WebTop 方案。它本质是在 Xvfb 上的封装,提供完整的 Linux 桌面环境,内置浏览器。底层仍是 Xvfb,但做了完善封装,稳定性更高,配置更简单。

方案对比
维度Xvfb + noVNCWebTop ⭐Selenium ChromePlaywright + xvfb
内存占用~250MB~600MB~450MB~200MB
CPU(空闲)低中(桌面环境)低 - 中低
网络(自动化)CDPCDPCDPCDP
安装复杂度⭐⭐⭐⭐ 复杂⭐ 简单⭐⭐ 较简单⭐⭐⭐ 中等
维护复杂度⭐⭐⭐⭐ 复杂⭐ 简单⭐⭐ 较简单⭐⭐⭐ 中等
人工接管Web VNC完整桌面Web VNC需额外配置
接管体验⭐⭐⭐ 一般⭐⭐⭐⭐⭐ 优秀⭐⭐⭐ 一般⭐⭐ 差
反爬效果⭐⭐⭐⭐ 好⭐⭐⭐⭐⭐ 优秀⭐⭐ 差⭐⭐⭐ 一般
稳定性⭐⭐⭐ 中等⭐⭐⭐⭐ 自动化稳定⭐⭐⭐⭐ 好⭐⭐⭐ 中等

说明:

  • 内存占用:Selenium 包含 fluxbox + Xvfb + noVNC + supervisord,实际占用约 450MB。
  • 反爬效果:WebTop 提供真实桌面环境,反爬效果最佳;Selenium 包含 navigator.webdriver 等自动化指纹,容易被识别。

最终架构

选定方案后,为稳定和安全加上了 Tailscale 私有网络、Watchdog 监控等配套组件。

  • WebTop (Chromium) - 持久化浏览器,Cookie/Session 永久保留
  • socat 端口转发 - 解决 Chromium 133+ 强制绑定 127.0.0.1 的问题
  • Tailscale - 私有网络,无需公网端口
  • Watchdog - 监控 CDP 端口,浏览器 freeze 时自动重启(<3 秒恢复)
  • Docker Healthcheck - 容器健康监控
 ┌──────────────┐ │ Local PC │ └──────┬───────┘ │ ┌──────▼───────┐ │ Tailscale │ (私有网络) └──────┬───────┘ │ (3000/3001) ▼ ┌─────────────────────────────────────────────┐ │ Oracle Cloud VPS │ │ │ │ ┌──────────────┐ │ │ │ OpenClaw │ │ │ └──────┬───────┘ │ │ │ CDP (127.0.0.1:9222) │ │ ▼ │ │ ┌────────────────────────┐ │ │ │ WebTop Container │◄─────────────────┘ │ │ (XFCE Desktop) │ │ │ │ │ │ │ │ ├─ socat :9222 │ │ │ │ │ └─> 127.0.0.1:9223│ │ │ │ └─ Chromium :9223 │ │ │ │ │ │ │ │ Watchdog Supervisor │ │ │ └────────────────────────┘ │ └─────────────────────────────────────────────┘ 

关键设计:

  • socat 监听 0.0.0.0:9222,转发到 Chromium 的 127.0.0.1:9223
  • Watchdog 只重启浏览器进程,不重启整个容器
  • 桌面环境保持运行,Cookie/Session 不丢失
  • 解决浏览器 freeze(进程存在但 CDP 无响应)问题

关键参数(4C 24GB 高配版本):

  • ✅ shm_size: 4GB(共享内存)
  • ✅ mem_limit: 8GB(内存限制)
  • ✅ cpus: 2.5(CPU 限制)
  • ✅ disk-cache-size: 512MB(磁盘缓存)
  • ✅ max-old-space-size: 4GB(V8 堆内存)

如果是 2C4G/2C8G 等轻量实例,可以把 mem_limit 下调到 4GB、cpus 限制到 1.5,并酌情调小 disk-cache-size。唯一的前提是要保证 shm_size ≥ 2GB,否则 Chromium 很容易崩。

硬件建议:

档位CPU / RAM适用场景备注
最低可用2C / 4GB纯自动化 + 偶尔人工接管mem_limit≈4GB,cpus≤1.5,shm_size 保持 2GB
建议标准4C / 16GB+稳定生产/推荐标准mem_limit≈6-8GB,cpus≈2-3,shm_size≈2-4GB

如何配置

Step 1: Tailscale 私有网络
1. VPS 安装 Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

复制终端输出的 https://login.tailscale.com/... 链接,在本地浏览器授权登录。

2. 获取 Tailscale IP
tailscale ip-4

记录输出的 IP(如 100.10.20.30),后续用 $TS_IP 表示。

3. 本地安装 Tailscale

在本地电脑安装 Tailscale 客户端,登录同一账号。

Step 2: 部署 Docker 环境
1. 安装 Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

重新登录 SSH 使 docker 组生效。

2. 创建项目目录
mkdir -p /opt/openclaw-browser && cd /opt/openclaw-browser
3. 创建浏览器启动脚本(带 Watchdog + socat 端口转发)
cat > browser-launcher.sh <<'EOF'
#!/usr/bin/with-contenv bash
# WebTop 已设置 DISPLAY=:1,使用默认值或环境变量
export DISPLAY=${DISPLAY:-:1}
# 等待 X server 就绪
while ! xdpyinfo >/dev/null 2>&1; do sleep 1; done
echo "[$(date)] X server ready, using DISPLAY=$DISPLAY"
echo "[$(date)] Browser Supervisor 启动,监控 CDP 端口..."

# 启动 CDP 端口代理(9222 -> 9223)
start_cdp_proxy() {
    pkill -f "socat.*TCP-LISTEN:9222" 2>/dev/null
    socat TCP-LISTEN:9222,fork,reuseaddr TCP:127.0.0.1:9223 &
    SOCAT_PID=$!
    echo "[$(date)] CDP 代理已启动 (9222 -> 9223)"
}

# 主循环:浏览器崩溃或假死时自动重启
while true; do
    echo "[$(date)] 清理锁文件..."
    rm -f /browser-data/Singleton*
    echo "[$(date)] 启动 Chromium (端口 9223)..."
    chromium-browser \
        --user-data-dir=/browser-data \
        --remote-debugging-port=9223 \
        --remote-debugging-address=127.0.0.1 \
        --remote-allow-origins="*" \
        --no-sandbox \
        --disable-gpu \
        --disable-software-rasterizer \
        --disable-features=VizDisplayCompositor \
        --disable-blink-features=AutomationControlled \
        --disable-crash-reporter \
        --disable-breakpad \
        --hide-crash-restore-bubble \
        --restore-last-session \
        --disable-features=TranslateUI \
        --no-first-run \
        --disable-background-timer-throttling \
        --disable-renderer-backgrounding \
        --disable-backgrounding-occluded-windows \
        --disable-ipc-flooding-protection \
        --password-store=basic \
        --disk-cache-size=536870912 \
        --max-old-space-size=4096 &
    BROWSER_PID=$!

    
    start_cdp_proxy

    
      -0  2>/dev/null; 
         15
         ! curl -sf http://localhost:9222/json/version >/dev/null 2>&1; 
             
             -TERM  2>/dev/null
             2
             -KILL  2>/dev/null
             -9  2>/dev/null
             2
            
        
    
     
     3

EOF
 +x browser-launcher.sh
4. 创建 Docker Compose 配置
cat > docker-compose.yml <<'EOF'
services:
  webtop:
    image: lscr.io/linuxserver/webtop:ubuntu-xfce
    container_name: openclaw-browser
    security_opt:
      - seccomp:unconfined
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=Asia/Shanghai
      - CUSTOM_USER=oclaw
      # - PASSWORD=${WEBTOP_PASSWORD:-ChangeMe123!} # 已禁用密码认证,通过 Tailscale 私有网络保护
      - DOCKER_MODS=linuxserver/mods:universal-package-install
      - INSTALL_PACKAGES=socat
      - SELKIES_ENABLE_HTTPS=false
    volumes:
      - ./config:/config
      - ${HOME}/workspace/webtop-browser-data:/browser-data
      - ./browser-launcher.sh:/config/scripts/browser-launcher.sh:ro
      - ./config/custom-cont-init.d:/custom-cont-init.d:ro
    ports:
      - "${TAILSCALE_IP}:3000:3000"
      - "${TAILSCALE_IP}:3001:3001"
      - "127.0.0.1:9222:9222"
    shm_size: "4gb"
    mem_limit: "8gb"
     
    
      
         
         
    
       
     
    
       [, ]
       
       
       
       

5. 创建环境变量文件
# 获取 Tailscale IP
TAILSCALE_IP=$(tailscale ip-4)
# 创建 .env 文件
cat > .env <<EOF
TAILSCALE_IP=${TAILSCALE_IP}
EOF

说明:

  • VNC 端口(3000/3001)绑定到 Tailscale IP,只能通过 Tailscale 网络访问
  • 已禁用密码认证,通过 Tailscale 私有网络保护访问安全
  • CDP 端口(9222)绑定到 127.0.0.1,本地 OpenClaw 直接访问
  • 浏览器数据目录:$HOME/workspace/webtop-browser-data(需提前创建)
6. 配置浏览器自启动
  • ✅ 使用 custom-cont-init.d:容器初始化时后台启动,避免 s6 服务管理问题
  • ✅ s6-setuidgid abc:以 abc 用户运行浏览器,解决 X11 认证问题
  • ✅ 后台启动 (&):避免阻塞容器启动流程
# 创建浏览器启动服务
mkdir -p config/custom-cont-init.d
cat > config/custom-cont-init.d/01-start-browser <<'EOF'
#!/bin/bash
(
  # 等待 socat 安装完成
  while ! command -v socat >/dev/null 2>&1; do sleep 2; done
  # 以 abc 用户运行浏览器(解决 X11 认证问题)
  exec s6-setuidgid abc /config/scripts/browser-launcher.sh
) &
EOF
chmod +x config/custom-cont-init.d/01-start-browser
7. 创建浏览器数据目录
mkdir -p $HOME/workspace/webtop-browser-data
8. 启动容器
cd /opt/openclaw-browser && docker compose up -d
docker compose logs -f

等待 30 秒,看到 'Browser Supervisor 启动' 日志即成功。

启动完成之后可快速检查 CDP 端口响应:

docker exec openclaw-browser curl -sf http://localhost:9222/json/version
Step 3:OpenClaw 配置

在 OpenClaw 配置文件中浏览器配置里添加 webtop,并设为默认:

"browser":{
  "defaultProfile":"webtop",
  "profiles":{
    "webtop":{
      "cdpUrl":"http://127.0.0.1:9222",
      "color":"#00AA00"
    }
  }
},

如果你还没有配置过浏览器,可以直接参考以下配置:

"browser":{
  "enabled":true,
  "headless":false,
  "noSandbox":true,
  "attachOnly":false,
  "defaultProfile":"webtop",
  "profiles":{
    "openclaw":{
      "cdpPort":18800,
      "color":"#FF4500"
    },
    "webtop":{
      "cdpUrl":"http://127.0.0.1:9222",
      "color":"#00AA00"
    }
  }
},

配置参数说明

环境变量 (.env)
参数默认值说明可修改
TAILSCALE_IP可选设置Tailscale 私有网络 IPtailscale 私有网络和密码保护至少选一项
WEBTOP_PASSWORD未设置远程桌面登录密码(可选)✅ 如需密码保护可添加
Docker Compose 配置
参数默认值说明可修改
CUSTOM_USERclaw远程桌面用户名✅ 可自定义
TZAsia/Shanghai容器时区✅ 可改为其他时区
PUID/PGID1001容器内用户 ID⚠️ 需与宿主机匹配,终端输入 id 查询
shm_size4gb共享内存大小✅ 可根据需求调整
ulimits.nofile65536文件描述符限制✅ 可根据需求调整
tmpfs/tmp:size=1g临时文件系统✅ 可根据需求调整

说明:

  • VNC 端口(3000/3001)绑定到 Tailscale IP,只能通过 Tailscale 网络访问
  • 默认无密码认证,通过 Tailscale 私有网络保护
  • CDP 端口(9222)绑定到 127.0.0.1,供本地 OpenClaw 连接,不建议修改
  • 浏览器数据目录:$HOME/workspace/webtop-browser-data 可自己修改

登录凭据:

  • 当前配置:无需密码,直接访问即可(通过 Tailscale 私有网络保护)
  • 如需启用密码保护:
    1. 重启容器:docker compose restart
    2. 在 .env 文件中添加:WEBTOP_PASSWORD=your_secure_password_here
    3. 在 docker-compose.yml 中取消注释 PASSWORD 行

本地如何连接远程浏览器验证

这一步要在本地访问远程机器的浏览器,验证它是否稳定启动。

首先获取远程机的私有网络地址(也可以直接在 Tailscale 客户端里看到):

tailscale ip-4

然后在本地浏览器访问 https://<Tailscale_IP>:3001。

大概率会先看到'被安全拦截'的警告页。这是因为 WebTop 强制启用 HTTPS,但证书是自签名的,不被浏览器信任。点击 高级 → 继续访问 即可。

稍等片刻,就能看到远程浏览器已经打开。可以把它设为主页,在里面做搜索。也就是说无论你到哪里,只要能上网,随时可以查看云端浏览器的状态。

不用担心浏览器异常退出,监控脚本每 15 秒检测一次状态;一旦崩溃会立刻重启。可以手动关掉浏览器,等 15 秒左右就会自动恢复。

OpenClaw 实操

经过实测,OpenClaw 原生的 CDP 控制速度较慢,截图总是截长图。建议安装 Agent Browser 技能包。Agent Browser 是 Vercel 用 Rust 写的浏览器自动化工具,定位准、速度快,也更省 token。

Agent Browser 支持通过 --cdp 9222 连接 webtop 已有的 Chromium 进行工作。安装完技能,可以把相关文字发给 Agent 并让他写入 TOOLS.md。

这样 OpenClaw 就拥有了自己的桌面浏览器。你可以要求它截取文章中的关键数据表格,作为文章配图或者校验 AI 总结的数据准确性。

AI 热点监控的时候,比如 Midjourney V8 发布了,它不仅给你内容要点,还发几张参考图。

登录小红书小号:

openclaw-browser-xiaohongshu-login-1

openclaw-browser-xiaohongshu-login-2

温馨提示:登录账号可以先使用小号尝试,避免账号被封。

不过其实手动登录就行了,这里只是测试一下浏览器的能力。因为让它登个小红书花费了半个小时才登陆上,一方面中转站的 API 太慢了,另一方面浏览器自动化还需要打磨。

登录完可玩的空间就大了,大家可以自行尝试。

Chrome DevTools MCP

另外提一下 Google 发布的 Chrome DevTools MCP 工具,这对云端的 OpenClaw 并没有做任何改善,只是利好本地 OpenClaw。因为该工具只是提供操控浏览器的接口,并不改变浏览器本身的状态,该工具的运行还是建立在 CDP 接口的基础上。但是有了 WebTop 就不一样了,OpenClaw 天然拥有完全属于自己的桌面浏览器,并且与用户看到的是共享的。

也就是说在 Chrome DevTools MCP 工具发布之前,本地 OpenClaw 要与用户共享浏览器需要安装插件,而之后只需要开放开发者调试接口,不需要安装插件。而对于云端 OpenClaw,我们安装的 WebTop 解决了一切问题,浏览器天然属于共享状态。

Browse Use

在我写这篇文章的时候,Browser Use 刚巧上线了'直连 CDP'能力,可以通过 --cdp-url http://localhost:9222 指定 cdp 接口。官方也强调,这条路径就是为第三方云浏览器或自建实例准备的,只要你的浏览器通过 WebSocket 暴露了 CDP,就能被 Browser Use 驱动。

browser-use --cdp-url http://localhost:9222 open https://example.com

通过 CDP 端口直接控制浏览器会越来越成为主流。因为这样 Agent 不仅能控制本地电脑的真实浏览器,还能连接远程浏览器,也可以让云端 Agent 连接类似 WebTop 这一类的浏览器。

我在 OpenClaw 里面一开始配置 Agent Browser 也是因为它原生支持 CDP 模式。不过现在 Browse Use 也支持了,后面可以尝试一下。

FAQ

遇到问题优先请教 AI 助手

Q: 想启用密码或公网访问?
A: 默认依赖 Tailscale 隐私网络,不开放公网端口。如果必须暴露公网,务必在 docker-compose 里启用 PASSWORD 并配置强口令,同时建议套上一层 Cloudflare Tunnel / Caddy 做额外认证。

Q: 远程桌面很卡怎么办?
A: 示例的 VPS 在新加坡,本人在国内,因此 SCP 只有 1.5~2 MB/s、延迟 400ms。人工接管时确实会感觉卡顿,但 OpenClaw 自动化走本地回环,速度不受影响。可以优先选择距离自己更近的节点(本地 NUC、同城云厂商等)。

Q: Tailscale IP 改了无法访问?
A: 重新执行 tailscale ip -4,把新 IP 写入 .env 或直接更新 docker-compose 的 TAILSCALE_IP 环境变量,然后 docker compose down && docker compose up -d 即可。

Q: 浏览器启动失败 / 无法打开新标签?
A: 99% 是共享内存不足,确认 shm_size 至少 2GB,低配机器也不要低于 2048m;若系统 RAM 只有 4GB,最好把其它容器停掉。

参考链接

  • LinuxServer WebTop 官方文档 —— 了解更多自定义参数及桌面环境支持。
  • Tailscale Quickstart —— 不同系统的安装与登录流程。
  • Browser Use CLI
  • Agent Browser CDP mode
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog

更多推荐文章

查看全部
  • 本地搭建带知识库的 AI 助手:Ollama + Open WebUI 部署指南
  • Ubuntu 22.04 Ollama 离线部署
  • 【笔记】Windows 上安装 OpenCode AI 编码助理:从踩坑到成功的简单记录
  • Vibe Coding时代,后端程序员开发`前端`的最佳实践
  • C++ 开发工具 vcpkg 安装使用与避坑指南
  • WSL2 + Ubuntu 22.04 全流程安装与配置指南(适配 D 盘)
  • AI Ping 平台使用指南:API 调用与智能对话系统搭建
  • C++ 数组模拟链表原理与实现
  • 基于 nanobot 搭建轻量级 QQ AI 机器人及搜索功能优化
  • 电力巡检机器人主流厂商解析与技术发展趋势
  • ComfyUI Mixlab 插件 Whisper.available False 报错修复方案
  • 文本生成技术原理、应用与国产工具实践指南
  • IsaacLab 快速搭建机器人训练环境入门指南
  • Python 获取卫星 TLE 数据及轨道六根数预测教程
  • openGauss 向量数据库能力与 RAG 应用场景解析
  • 使用 CSS 实现毛玻璃模糊背景效果
  • 基于 Code Server 搭建私有 LaTeX Web 编辑器
  • JavaScript 原型链核心机制与最佳实践
  • OpenEUICC Android eSIM 管理工具使用指南
  • RocketMQ 5.1.4 部署、Docker Dashboard 可视化及 JDK 21 安装指南

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

# 启动端口转发
# 健康监测:15 秒检查一次(检查 socat 端口)
while
kill
$BROWSER_PID
do
sleep
if
then
echo
"[$(date)] 浏览器无响应,正在重启..."
kill
$BROWSER_PID
sleep
kill
$BROWSER_PID
kill
$SOCAT_PID
sleep
break
fi
done
echo
"[$(date)] 浏览器已停止,3 秒后重启..."
sleep
done
chmod
cpus:
"2.5"
ulimits:
nofile:
soft:
65536
hard:
65536
tmpfs:
-
/tmp:size=1g
restart:
unless-stopped
healthcheck:
test:
"CMD-SHELL"
"curl -sf http://localhost:9222/json/version >/dev/null"
interval:
15s
timeout:
5s
retries:
3
start_period:
30s
EOF