라즈베리파이 OpenClaw (Moltbot/Clawdbot) 설치 방법

Ashley Innocent

Ashley Innocent

12 February 2026

라즈베리파이 OpenClaw (Moltbot/Clawdbot) 설치 방법

OpenClaw는 빠르게 움직였습니다: Moltbot에서 Clawdbot으로 이름 변경 혼란을 겪은 후 안정적인 정체성을 확립하고 커뮤니티의 채택이 빠르게 증가했습니다. 이 글을 읽고 있다면, 아마도 한 가지 실용적인 결과를 원할 것입니다: 집이나 엣지 환경에서 신뢰할 수 있는 **라즈베리 파이에서 실행되는 안정적인 OpenClaw 노드**입니다.

이 가이드는 심층적인 기술 빌더를 위한 것입니다. OpenClaw를 다음과 같이 설정할 것입니다:

이 과정에서 **Apidog**가 OpenClaw 엔드포인트 검증, 회귀 테스트 구축, 팀 사용을 위한 로컬 API 표면 문서화에 어떻게 도움이 되는지 보여드리겠습니다.

button

1) 설치 전 아키텍처 결정

apt를 건드리기 전에, 라즈베리 파이가 추론 워크플로우를 어떻게 실행할지 결정하세요.

옵션 A: Pi를 오케스트레이터로, 모델은 오프로드

RAM이 제한적인 Raspberry Pi 4/5에 가장 적합합니다.

옵션 B: 경량 로컬 모델 전용 Pi

엄격한 프라이버시 및 오프라인 작업에 좋습니다.

옵션 C: 하이브리드 라우팅

가장 실용적인 아키텍처.

이 "저렴한 확인 먼저, 필요할 때만 모델 사용" 패턴은 비용, 열 압력 및 지연 시간 급증을 제어하므로 핵심 OpenClaw 안정성 전략이 되었습니다.

2) 하드웨어 및 OS 기준

권장 하드웨어

OS

Raspberry Pi OS Lite (64비트) 또는 ARM64용 Ubuntu Server 24.04를 사용하세요.

그런 다음 업데이트:

bash sudo apt update && sudo apt upgrade -y sudo reboot

호스트 이름 및 시간 동기화 설정 (로그 및 토큰 만료에 중요):

bash sudo hostnamectl set-hostname openclaw-pi sudo timedatectl set-ntp true

3) 런타임 의존성 설치

OpenClaw 스택은 플러그인에 따라 일반적으로 Python 및/또는 Node 워커를 사용합니다. 진화하는 모듈과 호환성을 유지하기 위해 둘 다 설치하세요.

sudo apt install -y   git curl wget jq build-essential pkg-config   python3 python3-venv python3-pip   nodejs npm   redis-server sqlite3

버전 확인:

bash python3 --version node --version npm --version redis-server --version

Redis + SQLite를 사용하는 이유는?

나중에 멀티 노드인 경우, 영속성을 Postgres로 마이그레이션하세요.


4) 전용 서비스 사용자 생성

pi 또는 root로 에이전트를 실행하지 마세요.

sudo useradd -m -s /bin/bash openclaw sudo usermod -aG sudo openclaw sudo mkdir -p /opt/openclaw sudo chown -R openclaw:openclaw /opt/openclaw

사용자 전환:

bash sudo su - openclaw cd /opt/openclaw

5) OpenClaw 복제 및 구성

bash git clone https://github.com//.git app cd app

OpenClaw 프로젝트 페이지의 현재 공식 저장소 경로로 바꾸세요.

Python 환경 생성:

python3 -m venv .venv source .venv/bin/activate pip install --upgrade pip pip install -r requirements.txt

Node 서비스가 있는 경우:

npm ci

환경 템플릿 복사:

cp .env.example .env

일반적인 .env 형태:

env OPENCLAW_HOST=0.0.0.0 OPENCLAW_PORT=8080 OPENCLAW_LOG_LEVEL=info
STATE_BACKEND=redis REDIS_URL=redis://127.0.0.1:6379 DB_URL=sqlite:////opt/openclaw/app/data/openclaw.db
MODEL_ROUTER=hybrid LOCAL_MODEL_ENABLED=true REMOTE_MODEL_ENABLED=true REMOTE_MODEL_API_KEY=your_key_here
HEARTBEAT_INTERVAL_SEC=15 HEARTBEAT_TIMEOUT_SEC=5 CHEAP_CHECKS_ENABLED=true
SANDBOX_MODE=on SANDBOX_PROVIDER=process

비밀을 보호하려면 chmod 600 .env를 사용하세요.


6) 안정성을 위한 systemd 서비스 추가

/etc/systemd/system/openclaw.service 생성:

ini [Unit] Description=OpenClaw Agent Service After=network-online.target redis.service Wants=network-online.target
[Service] Type=simple User=openclaw WorkingDirectory=/opt/openclaw/app Environment="PYTHONUNBUFFERED=1" ExecStart=/opt/openclaw/app/.venv/bin/python -m openclaw.server Restart=always RestartSec=3 TimeoutStartSec=30 TimeoutStopSec=20

기본 강화

NoNewPrivileges=true PrivateTmp=true ProtectSystem=full ProtectHome=true ReadWritePaths=/opt/openclaw/app/data /opt/openclaw/app/logs

[Install] WantedBy=multi-user.target

활성화 및 시작:

sudo systemctl daemon-reload sudo systemctl enable openclaw sudo systemctl start openclaw sudo systemctl status openclaw

로그 테일링:

bash journalctl -u openclaw -f

7) 심박수 전략 구현 (저렴한 확인 먼저)

반복되는 커뮤니티의 교훈: 명백한 실패를 감지하기 위해 모델 토큰을 낭비하지 마세요.

권장 계층형 심박수

  1. L0 프로세스 확인: 서비스 활성 상태, 포트 열림.
  2. L1 의존성 확인: Redis/DB 도달 가능, 큐 지연 허용 가능.
  3. L2 결정론적 작업 확인: 정적 유효성 검사 스크립트 실행.
  4. L3 모델 기반 프로브: 이전 확인이 통과했지만 신뢰도가 낮은 경우에만.

예시 유사 구성:

yaml heartbeat: interval_sec: 15 timeout_sec: 5 stages: - name: process type: tcp target: 127.0.0.1:8080 - name: deps type: internal checks: [redis_ping, db_read] - name: deterministic type: task command: "python scripts/selfcheck.py" - name: model_probe type: llm enabled_on: degraded_only

이 패턴은 제한된 하드웨어에서 가동 시간을 보호하면서 비용과 오탐을 줄입니다.

8) 샌드박스 경계를 사용한 보안 실행

OpenClaw가 도구 (쉘, 브라우저, 파일 쓰기)를 실행하는 경우, 실행을 격리하세요.

Pi에서의 최소 기준:

스택이 강화된 샌드박스 (보안 에이전트 샌드박스 모델과 유사)를 지원하는 경우, 신뢰할 수 없는 도구 호출에 사용하세요.

실용적인 보호 장치:

env TOOL_EXEC_TIMEOUT_MS=12000 TOOL_MAX_STDOUT_KB=256 TOOL_ALLOWED_PATHS=/opt/openclaw/app/workdir TOOL_BLOCK_NETWORK_BY_DEFAULT=true

네트워크가 활성화된 도구의 경우, 명시적인 호스트 목록만 허용하세요.

9) Apidog로 OpenClaw API 검증

OpenClaw가 작동하면, 다른 API 제품처럼 다루세요: 계약을 정의하고, 동작을 테스트하며, 회귀를 추적하세요.

여기서 Apidog를 사용하는 이유

Apidog를 사용하여 다음을 수행할 수 있습니다:

예시 상태 엔드포인트 테스트

엔드포인트를 가정:

GET /healthz

예상 응답:

{ "status": "ok", "checks": { "redis": "ok", "db": "ok", "queue_lag_ms": 12 } }

Apidog에서 테스트 시나리오를 생성하세요:

  1. HTTP 200을 어설션합니다.
  2. status == ok를 어설션합니다.
  3. checks.queue_lag_ms < 100을 어설션합니다.
  4. Redis가 중지된 부정적인 환경을 추가하고, 저하된 상태를 예상합니다.

이것은 "괜찮아 보임"을 반복 가능한 API 품질 게이트로 전환합니다.

10) Raspberry Pi 성능 튜닝

CPU 및 열 제어

모니터링:

bash vcgencmd measure_temp uptime top

온도가 안전한 지속 한계를 초과하면 스로틀링으로 인해 추론 지연 시간이 급증할 것입니다.

메모리 압력

필요하다면 zram 또는 적당한 스왑을 활성화하세요. 하지만 실시간 흐름에는 스왑 의존적인 워크로드를 피하세요.

큐 및 동시성

보수적으로 시작:

env WORKER_CONCURRENCY=1 MAX_INFLIGHT_TASKS=4

그런 다음 p95 지연 시간과 오류율을 관찰한 후 늘리세요.

로그 순환

SD/SSD 마모 방지:

bash sudo apt install -y logrotate

/opt/openclaw/app/logs/*.log에 대한 순환 규칙을 추가하세요.

11) 문제 해결 플레이북

서비스가 몇 초마다 불안정하게 작동함

bash sudo su - openclaw cd /opt/openclaw/app source .venv/bin/activate python -m openclaw.server

Redis 연결 거부됨

bash sudo systemctl status redis redis-cli ping

PONG이 아니면 OpenClaw를 디버깅하기 전에 Redis를 수정하세요.

몇 분 후 높은 지연 시간 발생

열 스로틀링 또는 메모리 압력일 가능성이 높습니다.

심박수는 통과하지만 작업이 실패함

확인이 너무 얕습니다. 실제 워크플로우를 모방하는 결정론적 작업 프로브 (파일 읽기, 구문 분석, 요약, 응답 인코딩)를 추가하세요.

12) 거의 프로덕션 수준의 엣지 사용을 위한 강화 체크리스트

백엔드, QA, 프론트엔드 팀 간에 협업하는 경우, OpenClaw API 스펙을 공유 Apidog 워크스페이스에 넣으세요. 그러면 스키마 변경, 테스트, 모의 및 문서를 도구 전반에 걸쳐 흩뿌리지 않고 동기화 상태로 유지할 수 있습니다.

13) 노출해야 할 예시 엔드포인트 맵

표면을 작고 명시적으로 유지하세요:

이것들을 OpenAPI에 문서화하세요. 그런 다음 Apidog의 스키마 우선 워크플로우를 사용하여 응답 일관성을 강제하고 OpenClaw 모듈이 진화할 때 소비자를 중단시키는 것을 방지하세요.

결론

제약을 고려하여 설계하면 라즈베리 파이에서 OpenClaw를 실행하는 것이 완전히 가능합니다:

이 조합은 일상적인 자동화에 충분히 저렴하고, 비공개적이며, 안정적인 노드를 제공합니다.

다음 단계로 깔끔하게 나아가고 싶다면, OpenClaw 엔드포인트를 Apidog로 가져와 오늘 healthz, readyz, 그리고 하나의 종단 간 작업 흐름이라는 세 가지 자동화된 테스트를 생성하세요. 이렇게 하면 회귀를 조기에 감지하고 에이전트 스택이 성장함에 따라 Pi 배포를 신뢰할 수 있게 유지할 수 있습니다.

button

Apidog에서 API 설계-첫 번째 연습

API를 더 쉽게 구축하고 사용하는 방법을 발견하세요