Skip to main content

Raspberry Pi

Run a persistent, always-on Velaclaw Gateway on a Raspberry Pi. Since the Pi is just the gateway (models run in the cloud via API), even a modest Pi handles the workload well.

Prerequisites

  • Raspberry Pi 4 or 5 with 2 GB+ RAM (4 GB recommended)
  • MicroSD card (16 GB+) or USB SSD (better performance)
  • Official Pi power supply
  • Network connection (Ethernet or WiFi)
  • 64-bit Raspberry Pi OS (required — do not use 32-bit)
  • About 30 minutes

Setup

1

Flash the OS

Use Raspberry Pi OS Lite (64-bit) — no desktop needed for a headless server.
  1. Download Raspberry Pi Imager.
  2. Choose OS: Raspberry Pi OS Lite (64-bit).
  3. In the settings dialog, pre-configure:
    • Hostname: gateway-host
    • Enable SSH
    • Set username and password
    • Configure WiFi (if not using Ethernet)
  4. Flash to your SD card or USB drive, insert it, and boot the Pi.
2

Connect via SSH

3

Update the system

4

Install Node.js 24

5

Add swap (important for 2 GB or less)

6

Install Velaclaw

7

Run onboarding

Follow the wizard. API keys are recommended over OAuth for headless devices. Telegram is the easiest channel to start with.
8

Verify

9

Access the Control UI

On your computer, get a dashboard URL from the Pi:
Then create an SSH tunnel in another terminal:
Open the printed URL in your local browser. For always-on remote access, see Tailscale integration.

Performance tips

Use a USB SSD — SD cards are slow and wear out. A USB SSD dramatically improves performance. See the Pi USB boot guide. Enable module compile cache — Speeds up repeated CLI invocations on lower-power Pi hosts:
Reduce memory usage — For headless setups, free GPU memory and disable unused services:

Troubleshooting

Out of memory — Verify swap is active with free -h. Disable unused services (sudo systemctl disable cups bluetooth avahi-daemon). Use API-based models only. Slow performance — Use a USB SSD instead of an SD card. Check for CPU throttling with vcgencmd get_throttled (should return 0x0). Service will not start — Check logs with journalctl --user -u velaclaw-gateway.service --no-pager -n 100 and run velaclaw doctor --non-interactive. If this is a headless Pi, also verify lingering is enabled: sudo loginctl enable-linger "$(whoami)". ARM binary issues — If a skill fails with “exec format error”, check whether the binary has an ARM64 build. Verify architecture with uname -m (should show aarch64). WiFi drops — Disable WiFi power management: sudo iwconfig wlan0 power off.

Next steps