Raspberry Pi에서 OpenClaw 실행
목표
~$35-80 1회 비용(월별 수수료 없음)으로 Raspberry Pi에서 지속적이고 상시 가동되는 OpenClaw Gateway를 실행합니다.
다음에 완벽:
- 24/7 개인 AI 어시스턴트
- 홈 자동화 허브
- 저전력, 상시 사용 가능한 Telegram/WhatsApp bot
하드웨어 요구사항
| Pi 모델 | RAM | 작동? | 비고 |
|---|---|---|---|
| Pi 5 | 4GB/8GB | ✅ 최고 | 가장 빠르고 권장 |
| Pi 4 | 4GB | ✅ 좋음 | 대부분의 사용자에게 최적 |
| Pi 4 | 2GB | ✅ 괜찮음 | 작동하지만 swap 추가 |
| Pi 4 | 1GB | ⚠️ 빡빡 | swap으로 가능, 최소 구성 |
| Pi 3B+ | 1GB | ⚠️ 느림 | 작동하지만 느림 |
| Pi Zero 2 W | 512MB | ❌ | 권장하지 않음 |
최소 사양: 1GB RAM, 1 코어, 500MB 디스크 권장: 2GB+ RAM, 64비트 OS, 16GB+ SD 카드 (또는 USB SSD)
필요한 것
- Raspberry Pi 4 또는 5 (2GB+ 권장)
- MicroSD 카드 (16GB+) 또는 USB SSD (더 나은 성능)
- 전원 공급 장치 (공식 Pi PSU 권장)
- 네트워크 연결 (Ethernet 또는 WiFi)
- ~30분
1) OS 플래시
Raspberry Pi OS Lite (64비트) 사용 — 헤드리스 서버에는 데스크톱이 필요 없습니다.
- Raspberry Pi Imager 다운로드
- OS 선택: Raspberry Pi OS Lite (64-bit)
- 톱니바퀴 아이콘(⚙️)을 클릭하여 사전 구성:
- 호스트명 설정: gateway-host
- SSH 활성화
- 사용자 이름/비밀번호 설정
- WiFi 구성 (Ethernet 미사용 시)
- SD 카드 / USB 드라이브에 플래시
- 삽입 후 Pi 부팅
2) SSH로 연결
ssh user@gateway-host
# 또는 IP 주소 사용
ssh [email protected]
3) 시스템 설정
# 시스템 업데이트
sudo apt update && sudo apt upgrade -y
# 필수 패키지 설치
sudo apt install -y git curl build-essential
# 시간대 설정 (cron/알림에 중요)
sudo timedatectl set-timezone America/Chicago # 시간대로 변경
4) Node.js 22 설치 (ARM64)
# NodeSource를 통해 Node.js 설치
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
# 확인
node --version # v22.x.x를 표시해야 함
npm --version
5) Swap 추가 (2GB 이하에 중요)
Swap은 메모리 부족 충돌을 방지합니다:
# 2GB swap 파일 생성
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 영구 설정
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# 낮은 RAM 최적화 (swappiness 감소)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
6) OpenClaw 설치
옵션 A: 표준 설치 (권장)
curl -fsSL https://openclaw.bot/install.sh | bash
옵션 B: Hackable 설치 (수정 용도)
git clone https://github.com/openclaw/openclaw.git
cd openclaw
npm install
npm run build
npm link
Hackable 설치는 로그와 코드에 직접 접근할 수 있어 ARM 특정 문제 디버깅에 유용합니다.
7) 온보딩 실행
openclaw onboard --install-daemon
마법사 따르기:
- Gateway 모드: Local
- 인증: API 키 권장 (OAuth는 헤드리스 Pi에서 까다로울 수 있음)
- Channels: Telegram이 시작하기 가장 쉬움
- Daemon: Yes (systemd)
8) 설치 확인
# 상태 확인
openclaw status
# 서비스 확인
sudo systemctl status openclaw
# 로그 보기
journalctl -u openclaw -f
9) 대시보드 접근
Pi가 헤드리스이므로 SSH 터널을 사용하세요:
# 노트북/데스크톱에서
ssh -L 18789:localhost:18789 user@gateway-host
# 그런 다음 브라우저에서 열기
open http://localhost:18789
또는 상시 접근을 위해 Tailscale 사용:
# Pi에서
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# 구성 업데이트
openclaw config set gateway.bind tailnet
sudo systemctl restart openclaw
성능 최적화
USB SSD 사용 (엄청난 개선)
SD 카드는 느리고 마모됩니다. USB SSD는 성능을 극적으로 향상시킵니다:
# USB에서 부팅하는지 확인
lsblk
설정은 Pi USB 부팅 가이드를 참조하세요.
메모리 사용량 감소
# GPU 메모리 할당 비활성화 (헤드리스)
echo 'gpu_mem=16' | sudo tee -a /boot/config.txt
# 필요하지 않은 경우 Bluetooth 비활성화
sudo systemctl disable bluetooth
리소스 모니터링
# 메모리 확인
free -h
# CPU 온도 확인
vcgencmd measure_temp
# 실시간 모니터링
htop
ARM 특정 참고사항
바이너리 호환성
대부분의 OpenClaw 기능은 ARM64에서 작동하지만 일부 외부 바이너리는 ARM 빌드가 필요할 수 있습니다:
| 도구 | ARM64 상태 | 비고 |
|---|---|---|
| Node.js | ✅ | 잘 작동함 |
| WhatsApp (Baileys) | ✅ | 순수 JS, 문제 없음 |
| Telegram | ✅ | 순수 JS, 문제 없음 |
| gog (Gmail CLI) | ⚠️ | ARM 릴리스 확인 |
| Chromium (browser) | ✅ | sudo apt install chromium-browser |
Skill이 실패하면 해당 바이너리에 ARM 빌드가 있는지 확인하세요. 많은 Go/Rust 도구는 있지만 일부는 없습니다.
32비트 vs 64비트
항상 64비트 OS를 사용하세요. Node.js와 많은 최신 도구가 필요합니다. 확인:
uname -m
# 다음을 표시해야 함: aarch64 (64비트) armv7l (32비트) 아님
권장 Model 설정
Pi는 Gateway일 뿐이므로 (models는 클라우드에서 실행), API 기반 models를 사용하세요:
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-sonnet-4-20250514",
"fallbacks": ["openai/gpt-4o-mini"]
}
}
}
}
Pi에서 로컬 LLM을 실행하려고 하지 마세요 — 작은 models조차도 너무 느립니다. Claude/GPT가 무거운 작업을 하도록 하세요.
부팅 시 자동 시작
온보딩 마법사가 이를 설정하지만 확인하려면:
# 서비스가 활성화되어 있는지 확인
sudo systemctl is-enabled openclaw
# 활성화되지 않은 경우 활성화
sudo systemctl enable openclaw
# 부팅 시 시작
sudo systemctl start openclaw
문제 해결
메모리 부족 (OOM)
# 메모리 확인
free -h
# 더 많은 swap 추가 (5단계 참조)
# 또는 Pi에서 실행 중인 서비스 줄이기
느린 성능
- SD 카드 대신 USB SSD 사용
- 사용하지 않는 서비스 비활성화: sudo systemctl disable cups bluetooth avahi-daemon
- CPU 스로틀링 확인: vcgencmd get_throttled (0x0을 반환해야 함)
서비스가 시작되지 않음
# 로그 확인
journalctl -u openclaw --no-pager -n 100
# 일반적인 수정: 재빌드
cd ~/openclaw # hackable 설치 사용 시
npm run build
sudo systemctl restart openclaw
ARM 바이너리 문제
Skill이 "exec format error"로 실패하는 경우:
- 바이너리에 ARM64 빌드가 있는지 확인
- 소스에서 빌드 시도
- 또는 ARM 지원이 있는 Docker 컨테이너 사용
WiFi 연결 끊김
WiFi를 사용하는 헤드리스 Pi의 경우:
# WiFi 전원 관리 비활성화
sudo iwconfig wlan0 power off
# 영구 설정
echo 'wireless-power off' | sudo tee -a /etc/network/interfaces
비용 비교
| 설정 | 1회 비용 | 월별 비용 | 비고 |
|---|---|---|---|
| Pi 4 (2GB) | ~$45 | $0 | + 전력 (~$5/년) |
| Pi 4 (4GB) | ~$55 | $0 | 권장 |
| Pi 5 (4GB) | ~$60 | $0 | 최고 성능 |
| Pi 5 (8GB) | ~$80 | $0 | 과한 것 같지만 미래 보장 |
| DigitalOcean | $0 | $6/월 | $72/년 |
| Hetzner | $0 | €3.79/월 | ~$50/년 |
손익분기점: Pi는 클라우드 VPS 대비 ~6-12개월 안에 본전을 뽑습니다.
관련 문서
- Linux 가이드 — 일반 Linux 설정
- DigitalOcean 가이드 — 클라우드 대안
- Hetzner 가이드 — Docker 설정
- Tailscale — 원격 접근
- Nodes — Pi gateway와 노트북/휴대폰 페어링