
최근 OpenClaw를 Mac mini에 설치해서 개인 AI 에이전트처럼 사용해보고 싶었다.
처음부터 거창하게 자동화, MCP, Ollama, 외부 API 연동까지 한 번에 붙이려고 하면 구조가 너무 복잡해질 것 같았다. 그래서 이번 1차 목표는 아주 단순하게 잡았다.
1차 목표
Mac mini M4에서 Docker로 OpenClaw Gateway를 실행하고,
Discord Bot과 연결해서
Discord 채널에서 @OpenClaw를 호출했을 때 응답을 받기
처음에는 Ollama를 기본 모델로 붙이는 것도 고민했지만, 일단은 동작 범위를 빠르게 확인하고 싶었다. 그래서 이번에는 외부 Provider로 Gemini를 먼저 연결하고, 로컬 LLM인 Ollama는 나중에 추가하기로 했다.
이번 글은 설치 성공 과정뿐 아니라, 중간에 발생했던 오류와 직접 수정했던 설정까지 같이 기록한다.
이번에 만든 구조는 다음과 같다.
Discord 사용자 메시지
↓
Discord Bot
↓
Mac mini의 Docker 컨테이너
↓
OpenClaw Gateway
↓
Gemini 2.5 Flash
↓
OpenClaw Gateway
↓
Discord 채널 응답
OpenClaw 자체가 AI 모델은 아니다.
OpenClaw는 Discord 같은 채널에서 메시지를 받고, 설정된 모델 Provider를 호출하고, 필요한 도구나 세션을 관리하는 Gateway/Agent Runtime에 가깝다.
OpenClaw Gateway
= 메시지 수신, 세션 관리, 모델 호출, 도구 실행 조율
Gemini / GPT / Ollama
= 실제 답변을 생성하는 모델 Provider
Discord Bot
= Discord와 OpenClaw를 연결하는 입구
OpenClaw는 나중에 파일 접근, shell 실행, 브라우저 조작, 외부 API 호출 같은 기능과 연결될 수 있다. 그래서 Mac mini에 직접 설치하는 것보다 Docker 컨테이너 안에서 실행하는 쪽이 더 안전하다고 판단했다.
Docker가 완전한 보안 방패는 아니지만, 실행 환경을 Mac 본체와 분리해주는 격리 계층 역할을 한다.
Docker 사용의 장점
- OpenClaw 실행 환경을 Mac mini 본체와 분리할 수 있다.
- 컨테이너 삭제/재생성이 쉽다.
- 설정과 실행 환경을 Docker 기준으로 관리할 수 있다.
- 실험 중 로컬 환경이 꼬일 가능성을 줄일 수 있다.
다만 Docker를 쓴다고 무조건 안전한 것은 아니다. 예를 들어 Mac의 홈 디렉토리 전체를 컨테이너에 mount하거나, Docker socket을 열어주면 격리 효과가 크게 줄어든다.