%PDF-1.4 %âãÏÓ 1 0 obj << /Type /Catalog /Pages 2 0 R >> endobj 2 0 obj << /Type /Pages /Count 6 /Kids [5 0 R 7 0 R 9 0 R 11 0 R 13 0 R 15 0 R] >> endobj 3 0 obj << /Type /Font /Subtype /Type1 /BaseFont /Helvetica >> endobj 4 0 obj << /Type /Font /Subtype /Type1 /BaseFont /Helvetica-Bold >> endobj 5 0 obj << /Type /Page /Parent 2 0 R /MediaBox [0 0 595.28 841.89] /Resources << /Font << /F1 3 0 R /F2 4 0 R >> >> /Contents 6 0 R >> endobj 6 0 obj << /Length 5091 >> stream BT /F2 22 Tf 0.06 0.08 0.12 rg 1 0 0 1 46 789.89 Tm (How to Install Clawdbot on a Linux Virtual Machine) Tj ET BT /F2 22 Tf 0.06 0.08 0.12 rg 1 0 0 1 46 762.89 Tm (\(VM\)) Tj ET BT /F2 11 Tf 0.72 0.14 0.18 rg 1 0 0 1 46 725.89 Tm (TechRounder PDF Edition) Tj ET BT /F1 9.5 Tf 0.36 0.39 0.46 rg 1 0 0 1 46 709.89 Tm (Live article: https://www.techrounder.com/how-to/how-to-install-clawdbot-on-a-linux-virtual-machine-vm/) Tj ET q 0.82 0.85 0.9 RG 1 w 46 691.39 m 549.28 691.39 l S Q BT /F1 10 Tf 0.24 0.27 0.32 rg 1 0 0 1 46 679.39 Tm (By Vipin PG | Published January 28, 2026 | Updated March 9, 2026 | Format: Guide | 5 min read) Tj ET BT /F2 13 Tf 0.72 0.14 0.18 rg 1 0 0 1 46 656.39 Tm (Quick answer) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 636.39 Tm (To install Clawdbot on a Linux VM fast, run curl -fsSL https://clawd.bot/install.sh | bash , then launch) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 621.39 Tm (the setup with clawdbot onboard --install-daemon to configure your Gateway, workspace, and chat) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 606.39 Tm (channels. If the CLI isn't found, fix your PATH to include your global npm bin directory.) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 579.39 Tm (Key points) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 559.39 Tm (The article walks through installing Clawdbot \(also called Moltbot\) on a Linux VM-typically Ubuntu or) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 544.39 Tm (Debian-with the goal of running it in a stable, "always-on" configuration. It recommends using the) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 529.39 Tm (official installer \(`curl -fsSL https://clawd.bot/install.sh | bash`\), which installs the CLI, ensures) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 514.39 Tm (Node.js 22+ is available, and can launch an onboarding wizard to set up the Gateway, workspace, and) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 499.39 Tm (channels. Before you start, you'll need shell access \(SSH or console\) and reliable outbound internet) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 484.39 Tm (\(DNS + HTTPS\), since integrations like Telegram and Discord must reach their APIs. It also flags VM) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 469.39 Tm (networking as a common pain point-especially broken IPv6, blocked DNS, or corporate proxy) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 454.39 Tm (restrictions-and suggests fixing those first because Clawdbot depends on consistent outbound HTTPS,) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 439.39 Tm (with a manual fallback of `npm install -g clawdbot@latest` if you already have Node installed.) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 417.39 Tm (This step-by-step guide shows you how to install Clawdbot \(Moltbot\) on a Linux virtual machine and) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 402.39 Tm (configure it for stable, "always-on" operation. It also includes practical troubleshooting tips-especially) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 387.39 Tm (for IPv6 issues that can occur in VMs.) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 365.39 Tm (Recommended approach: Use the official installer and then run the onboarding wizard to configure the) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 350.39 Tm (Gateway, workspace, and channels.) Tj ET BT /F2 15 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 322.39 Tm (Prerequisites) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 298.39 Tm (- Linux VM \(Ubuntu/Debian are common choices\). You need shell access \(SSH or console\).) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 281.59 Tm (- Outbound internet access from the VM \(DNS + HTTPS\). Telegram/Discord need access to their APIs.) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 264.79 Tm (- Node.js 22+ \(the installer can set this up for you\).) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 247.99 Tm (- Optional but recommended: enough RAM/CPU for your model/tooling workload.) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 231.19 Tm (Tip for VMs: If your VM provider has restrictive networking \(corporate proxy, blocked DNS, broken) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 216.19 Tm (IPv6\), address that first-Clawdbot depends on stable outbound HTTPS.) Tj ET BT /F2 15 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 188.19 Tm (Step 1: Install Clawdbot \(Recommended Installer\)) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 164.19 Tm (The official installer is the easiest path. It installs the CLI \(and ensures Node 22+\), and can run) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 149.19 Tm (onboarding.) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 121.19 Tm (1.1 Run the installer) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 97.19 Tm (curl -fsSL https://clawd.bot/install.sh | bash) Tj ET q 0.86 0.88 0.92 RG 1 w 46 42 m 549.28 42 l S Q BT /F1 8.4 Tf 0.42 0.45 0.5 rg 1 0 0 1 46 30 Tm (TechRounder | Page 1 of 6) Tj ET BT /F1 7.2 Tf 0.42 0.45 0.5 rg 1 0 0 1 46 19 Tm (https://www.techrounder.com/pdf/blog/how-to-install-clawdbot-on-a-linux-virtual-machine-vm.pdf) Tj ET endstream endobj 7 0 obj << /Type /Page /Parent 2 0 R /MediaBox [0 0 595.28 841.89] /Resources << /Font << /F1 3 0 R /F2 4 0 R >> >> /Contents 8 0 R >> endobj 8 0 obj << /Length 4126 >> stream BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 789.89 Tm (1.2 \(Optional\) View installer help / flags) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 765.89 Tm (curl -fsSL https://clawd.bot/install.sh | bash -s -- --help) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 741.39 Tm (1.3 If you prefer a manual install \(when Node is already installed\)) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 717.39 Tm (npm install -g clawdbot@latest) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 692.89 Tm (1.4 If "clawdbot: command not found" happens) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 670.89 Tm (This is typically a PATH issue. Check:) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 646.89 Tm (node -v) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 630.015 Tm (npm -v) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 613.14 Tm (npm prefix -g) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 596.265 Tm (echo "$PATH") Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 577.765 Tm (Ensure your global npm bin directory is on PATH. Example:) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 553.765 Tm (export PATH="$\(npm prefix -g\)/bin:$PATH") Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 535.265 Tm (Add that export line to your shell startup file \(e.g., `~/.bashrc` or `~/.zshrc`\).) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 507.265 Tm (1.5 If "npm install -g ..." fails with permissions \(EACCES\) on Linux) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 485.265 Tm (Avoid using `sudo npm install -g`. Instead switch npm's prefix to a user-writable directory:) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 461.265 Tm (mkdir -p "$HOME/.npm-global") Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 444.39 Tm (npm config set prefix "$HOME/.npm-global") Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 427.515 Tm (export PATH="$HOME/.npm-global/bin:$PATH") Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 409.015 Tm (Persist the PATH change in your shell profile, then open a new terminal.) Tj ET BT /F2 15 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 381.015 Tm (Step 2: Run Onboarding \(Configure Gateway + Workspace\)) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 357.015 Tm (The onboarding wizard is the recommended way to configure the Clawdbot Gateway, workspace,) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 342.015 Tm (model/auth, and channels in one guided flow.) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 314.015 Tm (2.1 Run onboarding and install the daemon) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 290.015 Tm (clawdbot onboard --install-daemon) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 271.515 Tm (During onboarding you typically choose:) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 249.515 Tm (- Gateway mode: Local \(on the VM\) vs Remote \(client attaches to another Gateway\).) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 232.715 Tm (- Auth: API key or OAuth \(depending on provider/model choice\).) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 215.915 Tm (- Workspace: commonly `~/clawd` \(recommended; keep it backed up\).) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 199.115 Tm (- Channels: Telegram bot token, Discord token, WhatsApp QR, etc.) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 182.315 Tm (- Daemon runtime: Node is recommended \(and required for stable WhatsApp/Telegram usage\).) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 159.515 Tm (2.2 If you skipped onboarding earlier) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 135.515 Tm (clawdbot onboard --install-daemon) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 111.015 Tm (2.3 Where your configuration typically lives) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 89.015 Tm (- Config: `~/.clawdbot/clawdbot.json`) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 72.215 Tm (- Workspace: `~/clawd`) Tj ET q 0.86 0.88 0.92 RG 1 w 46 42 m 549.28 42 l S Q BT /F1 8.4 Tf 0.42 0.45 0.5 rg 1 0 0 1 46 30 Tm (TechRounder | Page 2 of 6) Tj ET BT /F1 7.2 Tf 0.42 0.45 0.5 rg 1 0 0 1 46 19 Tm (https://www.techrounder.com/pdf/blog/how-to-install-clawdbot-on-a-linux-virtual-machine-vm.pdf) Tj ET endstream endobj 9 0 obj << /Type /Page /Parent 2 0 R /MediaBox [0 0 595.28 841.89] /Resources << /Font << /F1 3 0 R /F2 4 0 R >> >> /Contents 10 0 R >> endobj 10 0 obj << /Length 3900 >> stream BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 789.89 Tm (- Sessions: `~/.clawdbot/agents//sessions/`) Tj ET BT /F2 15 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 767.09 Tm (Step 3: Run Clawdbot as an Always-On Service \(systemd + lingering\)) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 743.09 Tm (On Linux, Clawdbot commonly runs as a systemd user service. In many VM setups, user services stop) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 728.09 Tm (when you log out unless "lingering" is enabled.) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 700.09 Tm (3.1 Enable lingering \(recommended for VMs\)) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 676.09 Tm (sudo loginctl enable-linger $USER) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 657.59 Tm (This keeps your user's systemd services running even when you disconnect your SSH session.) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 642.59 Tm (Onboarding often attempts this automatically, but on locked-down systems you may need to run it) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 627.59 Tm (manually.) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 599.59 Tm (3.2 Check service status) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 575.59 Tm (clawdbot gateway status) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 551.09 Tm (3.3 Restart the gateway if needed) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 527.09 Tm (clawdbot gateway restart) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 502.59 Tm (3.4 Manual foreground run \(for debugging\)) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 478.59 Tm (clawdbot gateway --port 18789 --verbose) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 460.09 Tm (Default dashboard URL \(on the VM\): `http://127.0.0.1:18789/` \(If you're accessing remotely, you'll) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 445.09 Tm (typically SSH port-forward.\)) Tj ET BT /F2 15 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 417.09 Tm (Step 4: Verify the Installation) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 393.09 Tm (Run these checks after installation:) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 369.09 Tm (clawdbot status) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 352.215 Tm (clawdbot health) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 333.715 Tm (If health indicates missing auth \(model credentials\), re-run configuration \(or onboarding\) to set your) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 318.715 Tm (provider keys.) Tj ET BT /F2 15 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 290.715 Tm (Linux VM Best Practices \(Stability + Security\)) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 260.715 Tm (Use a dedicated user and lock down access) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 238.715 Tm (- Use SSH keys \(disable password logins if possible\).) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 221.915 Tm (- Keep your bot tokens/API keys in config or environment securely.) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 205.115 Tm (- Don't expose the Gateway publicly without authentication.) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 182.315 Tm (Back up your workspace and config) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 160.315 Tm (- `~/clawd` \(workspace: prompts, skills, notes\)) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 143.515 Tm (- `~/.clawdbot/` \(config, credentials, sessions\)) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 120.715 Tm (Prefer Node runtime for WhatsApp/Telegram) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 98.715 Tm (If you plan to use WhatsApp or Telegram channels, run the Gateway with Node for best compatibility.) Tj ET q 0.86 0.88 0.92 RG 1 w 46 42 m 549.28 42 l S Q BT /F1 8.4 Tf 0.42 0.45 0.5 rg 1 0 0 1 46 30 Tm (TechRounder | Page 3 of 6) Tj ET BT /F1 7.2 Tf 0.42 0.45 0.5 rg 1 0 0 1 46 19 Tm (https://www.techrounder.com/pdf/blog/how-to-install-clawdbot-on-a-linux-virtual-machine-vm.pdf) Tj ET endstream endobj 11 0 obj << /Type /Page /Parent 2 0 R /MediaBox [0 0 595.28 841.89] /Resources << /Font << /F1 3 0 R /F2 4 0 R >> >> /Contents 12 0 R >> endobj 12 0 obj << /Length 4213 >> stream BT /F2 15 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 789.89 Tm (IPv6 Troubleshooting \(Common VM Problem\)) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 765.89 Tm (VMs sometimes have "partial IPv6": DNS returns IPv6 \(AAAA\) records, but outbound IPv6 routing is) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 750.89 Tm (broken. This can cause Telegram \(and other APIs\) to fail or become flaky.) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 722.89 Tm (Symptoms) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 700.89 Tm (- Telegram bot starts, then stops responding.) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 684.09 Tm (- Gateway logs show network errors such as `HttpError: Network request ... failed` .) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 667.29 Tm (- Requests to `api.telegram.org` intermittently fail even though IPv4 works.) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 644.49 Tm (Quick checks) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 622.49 Tm (Check which DNS records you get:) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 598.49 Tm (dig +short api.telegram.org A) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 581.615 Tm (dig +short api.telegram.org AAAA) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 563.115 Tm (Check whether the VM can reach the internet over IPv6:) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 539.115 Tm (ping -6 -c 3 google.com || true) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 522.24 Tm (curl -6 https://api.telegram.org 2>/dev/null | head -n 1 || true) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 497.74 Tm (Fix options) Tj ET BT /F2 11.5 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 469.74 Tm (Option A \(Best\): Enable working IPv6 egress in your VM network) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 449.24 Tm (If your VM provider supports IPv6, ensure the VM has a proper IPv6 address, gateway, and egress) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 434.24 Tm (route. This is the cleanest fix if you need IPv6.) Tj ET BT /F2 11.5 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 406.24 Tm (Option B: Prefer IPv4 for Telegram by adjusting the host networking/DNS behavior) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 385.74 Tm (If IPv6 is unreliable, force the system to prefer IPv4 for outbound connections \(or specifically for) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 370.74 Tm (Telegram\). Exact steps vary by distro/provider, but the goal is: when both A and AAAA exist, use A) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 355.74 Tm (first.) Tj ET BT /F2 11.5 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 327.74 Tm (Option C: Pin an IPv4 address for api.telegram.org \(last resort\)) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 307.24 Tm (You can map `api.telegram.org` to an IPv4 address in `/etc/hosts` to bypass IPv6 resolution. This is) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 292.24 Tm (brittle \(IP can change\) but can be effective in emergencies.) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 268.24 Tm (# Example \(replace with current A record from dig\):) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 251.365 Tm (# 149.154.167.220 api.telegram.org) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 226.865 Tm (After making changes) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 204.865 Tm (Restart the gateway:) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 180.865 Tm (clawdbot gateway restart) Tj ET BT /F2 15 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 156.365 Tm (Optional: Configure Telegram on Clawdbot \(Bot Token Setup\)) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 132.365 Tm (If your goal is to run Clawdbot in a VM and interact via Telegram, here's the quick, reliable path.) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 117.365 Tm (Clawdbot supports Telegram via the Telegram Bot API \(long-polling by default; webhook optional\).) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 89.365 Tm (1\) Create a bot and token \(BotFather\)) Tj ET q 0.86 0.88 0.92 RG 1 w 46 42 m 549.28 42 l S Q BT /F1 8.4 Tf 0.42 0.45 0.5 rg 1 0 0 1 46 30 Tm (TechRounder | Page 4 of 6) Tj ET BT /F1 7.2 Tf 0.42 0.45 0.5 rg 1 0 0 1 46 19 Tm (https://www.techrounder.com/pdf/blog/how-to-install-clawdbot-on-a-linux-virtual-machine-vm.pdf) Tj ET endstream endobj 13 0 obj << /Type /Page /Parent 2 0 R /MediaBox [0 0 595.28 841.89] /Resources << /Font << /F1 3 0 R /F2 4 0 R >> >> /Contents 14 0 R >> endobj 14 0 obj << /Length 3857 >> stream BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 789.89 Tm (1. Open Telegram and chat with @BotFather .) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 773.09 Tm (2. Run `/newbot` and follow prompts.) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 756.29 Tm (3. Copy the token.) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 733.49 Tm (2\) Add token to Clawdbot config) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 709.49 Tm ({) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 692.615 Tm ("channels": {) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 675.74 Tm ("telegram": {) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 658.865 Tm ("enabled": true,) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 641.99 Tm ("botToken": "123:abc",) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 625.115 Tm ("dmPolicy": "pairing") Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 608.24 Tm (}) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 591.365 Tm (}) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 574.49 Tm (}) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 555.99 Tm (Alternatively, use an environment variable:) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 531.99 Tm (export TELEGRAM_BOT_TOKEN="123:abc") Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 507.49 Tm (3\) Restart the gateway) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 483.49 Tm (clawdbot gateway restart) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 458.99 Tm (4\) Approve pairing \(DM safety\)) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 436.99 Tm (By default, Telegram DMs require pairing approval. When you DM your bot the first time, approve the) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 421.99 Tm (code using:) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 397.99 Tm (clawdbot pairing list telegram) Tj ET BT /F1 9.5 Tf 0.18 0.2 0.24 rg 1 0 0 1 54 381.115 Tm (clawdbot pairing approve telegram ) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 356.615 Tm (Telegram + VM note) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 334.615 Tm (If Telegram behaves inconsistently on a VM, check IPv6 first \(see the IPv6 troubleshooting section) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 319.615 Tm (above\). Telegram API access is sensitive to broken IPv6 egress when DNS returns AAAA records.) Tj ET BT /F2 15 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 291.615 Tm (Common Problems & Fixes) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 261.615 Tm (Problem: "clawdbot" command not found) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 239.615 Tm (- Confirm Node/npm are installed and on PATH.) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 222.815 Tm (- Confirm the npm global bin dir is on PATH: `export PATH="$\(npm prefix -g\)/bin:$PATH"`) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 200.015 Tm (Problem: Installer finishes, but services stop when you log out) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 178.015 Tm (- Enable lingering: `sudo loginctl enable-linger $USER`) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 161.215 Tm (- Then restart: `clawdbot gateway restart`) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 138.415 Tm (Problem: Telegram bot doesn't register commands or can't send messages) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 116.415 Tm (- Confirm outbound HTTPS/DNS from the VM to `api.telegram.org` .) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 99.615 Tm (- Investigate IPv6 \(AAAA records + broken egress\) and apply fixes.) Tj ET BT /F2 13 Tf 0.08 0.1 0.14 rg 1 0 0 1 46 76.815 Tm (Problem: Global npm install fails with EACCES) Tj ET q 0.86 0.88 0.92 RG 1 w 46 42 m 549.28 42 l S Q BT /F1 8.4 Tf 0.42 0.45 0.5 rg 1 0 0 1 46 30 Tm (TechRounder | Page 5 of 6) Tj ET BT /F1 7.2 Tf 0.42 0.45 0.5 rg 1 0 0 1 46 19 Tm (https://www.techrounder.com/pdf/blog/how-to-install-clawdbot-on-a-linux-virtual-machine-vm.pdf) Tj ET endstream endobj 15 0 obj << /Type /Page /Parent 2 0 R /MediaBox [0 0 595.28 841.89] /Resources << /Font << /F1 3 0 R /F2 4 0 R >> >> /Contents 16 0 R >> endobj 16 0 obj << /Length 988 >> stream BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 789.89 Tm (- Set npm prefix to a user-writable directory \(avoid sudo installs\): `mkdir -p "$HOME/.npm-global" npm) Tj ET BT /F1 10.5 Tf 0.2 0.23 0.28 rg 1 0 0 1 46 776.09 Tm (config set prefix "$HOME/.npm-global" export PATH="$HOME/.npm-global/bin:$PATH"`) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 759.29 Tm (Summary: Install Clawdbot with the official installer, run onboarding, enable systemd lingering on) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 744.29 Tm (Linux VMs, verify with `clawdbot status`/`clawdbot health`, and treat IPv6 as a first-class) Tj ET BT /F1 11 Tf 0.14 0.16 0.2 rg 1 0 0 1 46 729.29 Tm (troubleshooting target on VMs.) Tj ET q 0.86 0.88 0.92 RG 1 w 46 42 m 549.28 42 l S Q BT /F1 8.4 Tf 0.42 0.45 0.5 rg 1 0 0 1 46 30 Tm (TechRounder | Page 6 of 6) Tj ET BT /F1 7.2 Tf 0.42 0.45 0.5 rg 1 0 0 1 46 19 Tm (https://www.techrounder.com/pdf/blog/how-to-install-clawdbot-on-a-linux-virtual-machine-vm.pdf) Tj ET endstream endobj xref 0 17 0000000000 65535 f 0000000015 00000 n 0000000064 00000 n 0000000154 00000 n 0000000224 00000 n 0000000299 00000 n 0000000441 00000 n 0000005583 00000 n 0000005725 00000 n 0000009902 00000 n 0000010045 00000 n 0000013997 00000 n 0000014141 00000 n 0000018406 00000 n 0000018550 00000 n 0000022459 00000 n 0000022603 00000 n trailer << /Size 17 /Root 1 0 R >> startxref 23642 %%EOF