클라우드 플레어에서 OpenClaw(aka MoltBot)를 호스팅하는 MoltWorker 구축하기
서론 및 배경
26년 초부터 개발자 및 인공지능에 관심 있는 사람들이라면 100번쯤은 들어봤을
- 구구) 클로드봇
- 구) 몰트붓
- 현) 오픈클로
그리고 맥니의 조합.
아마 맥미니를 사는 사람들은 실리콘 벨리에서 품절되고 있고, LLM 머신으로 좋다는 얘기를 듣고 샀을텐데 이건 반은 맞고 반은 틀린 얘기다. 일단 맥미니를 "제대로" LLM 머신으로 구축하려면 아래 사진처럼 여러 대를 묶어서 사용해야 한다.

단일 깡통 맥미니 M4 스펙에서 로컬로 돌리만한 LLM 모델은 Ollama 정도인데 (개인적인 경험으로) 단순 질의 응답이라면 모를까 바이브 코딩이라던가 복잡한 작업을 시키기에는 스펙이 부족하다고 느낀다.
그러면 결국 맥미니의 역할은 "24시간 저전력 서버" 정도로 그치는데 애플스토어 공홈 기준 90만원은 약간 오바스러운 가격 아닐까 싶은 생각이 계속 들던 중 클라우드플레어에서 셀프로 구축할 수 있는 "Moltworker"를 출시했다.
Moltworker 란
OpenClaw(개인 AI 어시스턴스)를 클라우드플레어의 "Workers" 라는 서버리스 환경에서 실행하는 오픈소스 미들웨어며 다음과 같은 주요 기능을 가지고 있다.
- 관리 UI: 웹 기반의 관리 페이지
- 멀티 채널 지원: 텔레그램, 디스코드, 슬랙
- 디바이스 페어링: 외부에서 접근 가능한 디바이스 관리
- 영구 대화: 모든 세션에 대하여 대화 기록과 컨텍스트의 영구 저장
- 에이전트 런타임: "workspace"과 "skill"을 이용하여 인공지능이 다양한걸 할 수 있도록 지원
참고로 정식 제품이 아닌 개념 증명 수준이기 때문에 당장 내일이라도 작동이 안 될 수 있음을 유의해야 한다.
구축 준비사항
- 클라우드플레어 계정 ( Workers Paid 플랜 필수, $5/월 )
- 엔트로픽 API ( 유료 플랜 필수 )
- 깃허브(또는 깃랩) 계정
구축하기
1. 깃허브를 들어가보면 아래 사진처럼 'Deploy to Cloudflare' 버튼이 있는데 클릭

2 . 준비사항 섹션에서 말한것처럼 유료 플랜이 필요하다. 우선 "지금 업그레이드!" 버튼은 무시

3. 깃허브(랩) 계정 연결

4. 전체 레포 승인

5. 본인이 사용하고자 하는 위치에 최대한 가까운 곳 선택 ( 한국이라면 APAC )

6. 아래 사진에서 보이는 "Anthropic API key" 링크 클릭 ( 기존에 사용중인 키가 있으면 해당 키 사용해도 무방 )

7. 좌측 메뉴의 "API keys" 클릭

8. 키 생성 ( 이름은 적당히 알아서 )

9. 생성 후 나온 키를 6 단계 화면에 붙여넣기
10. "MOLTBOT_GATEWAY_TOKEN" 에 대한 설명은 여기에 나와 있는데 쉽게 말하면 웹 대시보드 접근용 비밀번호 같은 개념, 로컬에서 `openssl rand -hex 32` 실행해서 나온 값을 이용하면 됨
- 추후에 필요하니 메모

11. 제일 위쪽의 업그레이드 버튼 클릭

12. Workers 유료 구매 진행 ( 정확히 5달러 결제 됨 )

13. 이미 Workers 유료 플랜이거나 결제하면 아래 사진처럼 나타남

14. 두 번째 업그레이드 버튼 클릭하면 R2 구매 페이지로 연결됨 ( 제일 하위 플랜으로서 '무료' 가 있기 때문에 추가 결제 되지는 않음 )
- R2는 쉽게 말하면 S3랑 동일한건데 대화 내용 저장을 위해 사용 됨

15. 업그레이드 전부 하고 페이지 하단에 배포 누르면, 빌드가 시작 됨
- "빌드 환경 초기화 중" ~ "응용 프로그램 빌드 중" 까지는 전부 합쳐서 2분 미만 내 진행 됨
- 마지막 단계 "Cloudflare 전역 네트워크로 배포 중" 은 본인 기준 5분 정도 걸림

16. 위 단계가 전부 끝나면 아래 사진처럼 몰트봇 페이지로 자동으로 이동
- 아래 사진 보면 "moltbot-sand~~~" 라는 문자열이 보일텐데 이게 몰트워커의 페이지 도메인 값 ( 메모 필요 )

17. (관리자 UI를 위해서 "Cloudflare Access"를 설정해야 함) 이동 된 페이지에서 "설정" 가보면 "worker.dev" 있음, 햄버거 버튼 클릭 후 "Cloudflare Access" 활성화

18. 활성화 하면 아래사진처럼 어떤 문자열 2개가 나오는데 별도 메모

19. 변수 및 암호 추가

20. 반드시 "비밀" 유형으로 추가해야함
- 18 단계에서 메모한 "JWK URL" 값은 프로토콜이랑 뒤쪽 URI 부분 날리고 딱 도메인 값만 가지고 "CF_ACCESS_TEAM_DOMAIN" 이름으로 설정
- 18 단계에서 메모한 "대상 그룹(aud)" 값은 "CF_ACCESS_AUD" 이름으로 설정

- 추가 후 "재배포" 버튼 클릭
21. 재배포 되면 "방문" 클릭

22. 클라우드플레어 로그인 시 사용하는 이메일 입력

23. 이메일로 날라온 숫자 코드 입력하면 아래 화면 처럼 초기 설정 진행 ( 3분 정도 걸렸음 )

24.초기 설정 후 리다이렉트 되는 화면
- 디바이스 등록을 해야 하기 때문에 아직까지 빨간 오류가 뜨는것이 정상
- 10 단계에서 `openssl` 명령어 실행해서 나온 값을 이용하여 "https://{본인_몰트봇_도메인}/?token={10단계에서_나온_값}" 주소 새탭에서 열기

25. 다른 탭을 열어서 "https://{본인_몰트봇_도메인}/_admin/" 접속하면 아래 사진처럼 나옴
- "R2 Storage Not Configured" 는 오류가 아닌 경고로서, 대화내용을 영구적으로 저장하려면 설정해줘야 하는데 본인은 하지 않음
- 하단의 "Paired Devices" 에는 이미 디바이스가 하나 있는데 몰트봇 배포 중 클라우드플레어에서 자동으로 추가한 부분
- 중간의 "Pending Pairing Requests"에 뭔가 하나 있는데 이게 바로 조금 전에 다른 탭에서 토큰으로 등록 요청한 디바이스 (Approve 눌러서 승인)

26. 승인 결과 확인 ( 승인 과정에서 오류나면 캐시 삭제 -> 페이지 새로고침 )

27. 기존 24 단계에서 요청한 주소를 다시 요청하면 아래 사진처럼 우측 위에 "HEALTH OK" 나와야 함
- 이러면 구축 끝

28. (참고사항) "HEALTH_OK" 까지 나와서 대화 좀 해보려고 하는데 아래 사진처럼 나오면 둘 중 하나가 원인일 확률 높음
- 앤트로픽 API 키가 잘못 됨
- 앤트로픽 계정이 "무료 계정" 혹은 토큰 소진
