어느 디바이스든 동일하게 설치할 수 있는 도커 환경에서 오픈클로를 설치해보자.
(참고로 디바이스는 맥미니 m4이다)
사전 준비
- 도커 데스크톱 설치(아래 포스트 참고)
2025.04.13 - [IT/Tech] - 맥미니에 파일서버 만들기 #1 도커 설치
맥미니에 파일서버 만들기 #1 도커 설치
MacOS 환경에서 외부에서도 사용가능한 파일서버를 만드는 것이 목표! 집에 있는 맥미니에 스토리지를 연결해서 집안 PC들의 파일공유용으로 사용하고 있는데외부에서도 자유롭게 NAS처럼 사용
servertrix.com
도커를 설치 했다면 도커 컴포즈를 이용해서 오픈클로를 설치해보자
docker-compose.yml 파일이란 일종의 설치설명서라고 보면된다. 왜냐? 이 설명서 파일만 있으면 도커가 설치되어있는 디바이스에서 동일한 구성으로 찍어내듯이 설치가 가능하니까!
1. 폴더 생성
적당한 경로에 openclaw 폴더를 하나 만들었다.
예시
docker
- (폴더 생성) openclaw

2. 깃허브에서 오픈클로 소스 클론(복사)
(문제) 언젠가는 나오겠지만 작성일자 기준 오픈클로 공식 도커 이미지 없다.
✘ Image openclaw/openclaw:latest Error pull ... 1.2s
Error response from daemon: pull access denied for openclaw/openclaw, repository does not exist or may require 'docker login'
(해결) 그렇기 때문에 깃허브에서 오픈클로 소스를 복사해서 도커 이미지로 빌드하면 된다
1. (권장) 깃허브에서 공식 파일을 받아서 도커로 설치하는 것!
2. 아래 이미지처럼 도커허브에 올라온 비공식 openclaw 이미지를 설치하는 것!
* 나는 깃허브를 받아서 설치하기로 결정

1. 경로 이동
cd /Volumes/Storage/Data/service/docker
2. openclaw 초기화(파일 삭제)
rm -rf openclaw
3. 깃허브 소스코드 클론 (Clone)
git clone https://github.com/openclaw/openclaw.git
3. openclaw 오픈클로 자동 설치 스크립트 설치
1. 이전 단계에서 클론한 경로로 이동한다
cd openclaw
2. 실행
./docker-setup.sh
이 스크립트는 다음 작업을 자동으로 수행
- ✅ Gateway 이미지 빌드
- ✅ 온보딩 마법사 실행
- ✅ 프로바이더 설정 힌트 출력
- ✅ Docker Compose를 통한 Gateway 시작
- ✅ Gateway 토큰 생성 및 .env 파일에 저장
4. 온보딩 마법사 설정
자동 설치 스크립트가 정상적으로 완료되었다면 온보딩 마법사가 자동으로 실행된다.
설정 항목들을 보면서 본인에게 맞는 설정으로 진행

| 번호 | 항목 | 선택값 |
| 1 | I understand this is powerful and inherently risky. Continue? | Yes |
| 2 | Onboarding mode | QuickStart |
| 3 | Model/auth provider │ ○ OpenAI │ ○ Anthropic │ ○ Chutes │ ○ vLLM │ ○ MiniMax │ ○ Moonshot AI (Kimi K2.5) │ ● Google (Gemini API key + OAuth) │ ○ xAI (Grok) │ ○ OpenRouter │ ○ Qwen │ ○ Z.AI │ ○ Qianfan │ ○ Copilot │ ○ Vercel AI Gateway │ ○ OpenCode Zen │ ○ Xiaomi │ ○ Synthetic │ ○ Together AI │ ○ Hugging Face │ ○ Venice AI │ ○ LiteLLM │ ○ Cloudflare AI Gateway │ ○ Custom Provider │ ○ Skip for now |
Google (Gemini API key + OAuth) 본인의 기호에 맞는 AI모델로 선택하면 된다. |
| 4 | Enter Gemini API key 구글 AI스튜디오에서 API키 발급(https://aistudio.google.com) |
AI로시작하는 발급받은 API 문자열 입력 |
| 5 | Default model │ ● Keep current (google/gemini-3-pro-preview) │ ○ Enter model manually │ ○ google/gemini-1.5-flash │ ○ google/gemini-1.5-flash-8b │ ○ google/gemini-1.5-pro │ ○ google/gemini-2.0-flash │ ○ google/gemini-2.0-flash-lite │ ○ google/gemini-2.5-flash │ ○ google/gemini-2.5-flash-lite │ ○ google/gemini-2.5-flash-lite-preview-06-17 │ ○ google/gemini-2.5-flash-lite-preview-09-2025 │ ○ google/gemini-2.5-flash-preview-04-17 │ ○ google/gemini-2.5-flash-preview-05-20 │ ○ google/gemini-2.5-flash-preview-09-2025 │ ○ google/gemini-2.5-pro │ ○ google/gemini-2.5-pro-preview-05-06 │ ○ google/gemini-2.5-pro-preview-06-05 │ ○ google/gemini-3-flash-preview │ ○ google/gemini-3-pro-preview │ ○ google/gemini-flash-latest │ ○ google/gemini-flash-lite-latest │ ○ google/gemini-live-2.5-flash │ ○ google/gemini-live-2.5-flash-preview-native-audio |
Keep current (google/gemini-3-pro-preview) |
| 6 | Select channel (QuickStart) │ ○ Telegram (Bot API) │ ○ WhatsApp (QR link) │ ○ Discord (Bot API) │ ○ IRC (Server + Nick) │ ○ Google Chat (Chat API) │ ○ Slack (Socket Mode) │ ○ Signal (signal-cli) │ ● iMessage (imsg) (not configured) │ ○ Feishu/Lark (飞书) │ ○ Nostr (NIP-04 DMs) │ ○ Microsoft Teams (Bot Framework) │ ○ Mattermost (plugin) │ ○ Nextcloud Talk (self-hosted) │ ○ Matrix (plugin) │ ○ BlueBubbles (macOS app) │ ○ LINE (Messaging API) │ ○ Zalo (Bot API) │ ○ Zalo (Personal Account) │ ○ Tlon (Urbit) │ ○ Skip for now |
iMessage 아이폰이라 그냥 선택해봄 |
| 7 | imsg CLI path | imsg |
| 8 | Selected channels This is still a work in progress. Ensure OpenClaw has Full Disk Access to Messages DB. Grant Automation permission for Messages when prompted. List chats with: imsg chats --limit 20 Docs: imessage Selected channels iMessage — this is still a work in progress. Docs: imessage Skills status Eligible: 3 Missing requirements: 40 Unsupported on this OS: 7 Blocked by allowlist: 0 |
안내성 문구로 선택항목 없음 |
| 9 | Configure skills now? (recommended) |
Yes |
| 10 | Install missing skill dependencies |
Skip for now (Continue without installing dependencies) |
| 11 | Set GOOGLE_PLACES_API_KEY for goplaces? Set GEMINI_API_KEY for nano-banana-pro? Set NOTION_API_KEY for notion? Set OPENAI_API_KEY for openai-image-gen? Set OPENAI_API_KEY for openai-whisper-api? Set ELEVENLABS_API_KEY for sag? |
No |
| 12 | Enable hooks? | Skip for now |
온보딩 로그 마지막에 Health check failed (1006)가 뜨는 이유는, 온보딩을 진행한 임시 컨테이너가 작업을 마치고 종료되면서 실제 실행 중인 게이트웨이 서버와의 연결을 스스로 끊었기 때문인데 즉, 설치가 실패한 게 아니라 온보딩 절차가 무사히 종료되었다는 신호이니 안심해도 된다!
| Health check failed: gateway closed (1006 abnormal closure (no close frame)): no close reason Gateway target: ws://127.0.0.1:18789 Source: local loopback Config: /home/node/.openclaw/openclaw.json Bind: loopback |
자 모든 것이 완료됐으니 Dashboard ready에 있는 URL(http://localhost:18789/#token=전체토큰값)을 웹브라우저에 복붙하자.

토큰을 못찾을 때는 아래 명령어를 입력하면 된다
1. docker compose run --rm openclaw-cli dashboard --no-open
또는
2. docker compose run --rm openclaw-cli config get gateway.auth.token
(오류 발생) disconnected (1008): unauthorized: device token mismatch (rotate/reissue device token)

(해결 방법) 오픈클로 게이트웨이를 삭제하고 재시작
# 1. 게이트웨이 컨테이너 내부의 기기 데이터베이스 삭제 (강제 로그아웃 효과)
docker compose exec openclaw-gateway rm -f /home/node/.openclaw/devices.json
# 2. 변경사항 적용을 위해 게이트웨이 재시작
docker compose restart openclaw-gateway
'IT > AI 자동화' 카테고리의 다른 글
| AI 자동화 돈이 될까? (0) | 2026.02.15 |
|---|---|
| AI 자동화를 알게 되면서 돈이 녹고 있다! (0) | 2026.01.25 |
| 맥미니M4(실리콘맥) remotion 및 fastapi 하이브리드 설치 및 도커 n8n 연동방법 (0) | 2026.01.07 |
| remotion 네이티브 설치방법! 도커 설치와 비교 (1) | 2026.01.05 |
| 맥에서 fastAPI 설치하는 방법 (0) | 2026.01.05 |