๐ฆ OpenClaw Docker Compose ์ค์ ๋ฐ ๋ธ๋ผ์ฐ์ ์ฌ์ฉํ๊ฒ ํ๊ธฐ
Dockerfile, docker-compose.yml ๊ธฐ๋ฐ์ผ๋ก OpenClaw๋ฅผ ๋น ๋ฅด๊ฒ ์ฌ๋ฆฌ๊ณ ๋ธ๋ผ์ฐ์ ์คํ๊น์ง ์ฐ๊ฒฐํ๊ธฐ
์ด์ ์๋ Ubuntu ์ปจํ ์ด๋์ ์ ์ํด์ ํจํค์ง๋ฅผ ์ผ์ผ์ด ์ค์นํ๋ ๋ฒ๊ฑฐ๋ก์ด ๊ณผ์ ์ด ํ์ํ์ต๋๋ค. ๐ญ
์ด์ ๋ Dockerfile๊ณผ docker-compose.yml์ ํ์ฉํ์ฌ ๋ ๋น ๋ฅด๊ณ ๊ฐ๋จํ๊ฒ OpenClaw๋ฅผ ์ค์นํ๊ณ ,
๐ฆ OpenClaw๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค !
1) ์์ ๋๋ ํ ๋ฆฌ ์ค๋น
1
2
mkdir -p ~/Documents/openclaw-docker-compose
cd ~/Documents/openclaw-docker-compose
2) Dockerfile ์์ฑ
์๊ทผํ ์ค๋ ๊ฑธ๋ฆฌ๋ npm ์ค์น์๊ฐ์ ๋จ์ถํ๊ธฐ ์ํด์ node, npm ์ด ์ด๋ฏธ ์ค์น๋์ด ์๋ node:22-bookworm ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ธฐ์กด์ Ubuntu ์ปจํ ์ด๋์ ์ ์ํด ์๋์ผ๋ก ํจํค์ง๋ฅผ ์ค์นํ๋ ๊ณผ์ ์ Dockerfile๋ก ๋ฏธ๋ฆฌ ์ ์ํด๋๋ฉด, ์ฌ์ค์น ์ ๋น๋๋ง์ผ๋ก ๋์ผํ ํ๊ฒฝ์ ๋น ๋ฅด๊ฒ ์ฌํํ ์ ์์ด ์๊ฐ์ ํฌ๊ฒ ๋จ์ถํ ์ ์์ต๋๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# npm ์ค์น์๊ฐ ๋จ์ถ์ ์ํด node:22 ์ด๋ฏธ์ง ์ฌ์ฉ
FROM node:22-bookworm
SHELL ["/bin/bash", "-c"]
# ํ์ or ์์ฃผ ์ฌ์ฉํ๋ ํจํค์ง ์ค์น (apt update & install ๋ฌถ์), chromium ๋ธ๋ผ์ฐ์ ์ค์น
RUN apt-get update && apt-get install -y \
ca-certificates \
curl \
jq \
git \
chromium \
fonts-liberation \
xdg-utils \
&& rm -rf /var/lib/apt/lists/*
# OpenClaw ๊ธ๋ก๋ฒ ์ค์น
RUN which node && node -v && npm -v && npm i -g openclaw
# ๊ธฐ๋ณธ ์์
๋๋ ํ ๋ฆฌ ์ค์
WORKDIR /workspace
# ์คํ ์ ๊ธฐ๋ณธ ์
CMD ["bash"]
3) docker-compose.yml ์์ฑ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: '3.8'
services:
openclaw-base:
build: .
container_name: openclaw-base
stdin_open: true
tty: true
volumes:
- "$HOME/Documents/openclaw/openclaw-workspace:/workspace"
- "$HOME/Documents/openclaw/openclaw-data:/root/.openclaw"
working_dir: /workspace
ports:
- "18789:18789"
command: bash
4) ์ด๋ฏธ์ง ๋น๋ ๋ฐ ์ปจํ ์ด๋ ์คํ
1
docker compose up -d --build
5) OpenClaw ์จ๋ณด๋ฉ
1
openclaw onboard
์จ๋ณด๋ฉ ์์๋ ๊ธฐ์กด๊ณผ ๊ฐ์ต๋๋ค !
์จ๋ณด๋ฉ ๊ณผ์ ์ ์ด ํฌ์คํ ์์ ๋ ์์ธํ๊ฒ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
- QuickStart ์ ํ
- ๋ชจ๋ธ/์ธ์ฆ ๋ฐฉ์ ์ ํ
- Telegram Bot Token ์ ๋ ฅ
- ์๋ฃ
6) ๋ธ๋ผ์ฐ์ ์ฌ์ฉ ์ค์ (Chromium)
์ปจํ ์ด๋ ๊ธฐ๋ฐ์์๋ ๋ธ๋ผ์ฐ์ ๊ฒฝ๋ก์ ์๋๋ฐ์ค ์ต์ ์ ๋ช ์ํ๋ ๊ฒ ์์ ํ๋ค๊ณ ํฉ๋๋ค.
(cdpPort ๋ณ๊ฒฝ์ openclaw ์๊ฒ ๊ถ์ ๋ฐ์์ ์ธํ ํจ. ํฌํธ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ด ์์ด ๋ณ๊ฒฝํ๋ค๊ณ ํจ.)
1
2
3
4
openclaw config set browser.headless true
openclaw config set browser.noSandbox true
openclaw config set browser.executablePath /usr/bin/chromium
openclaw config set browser.profiles.openclaw.cdpPort 18900
Gateway ์ฌ์์ ํ ๋ธ๋ผ์ฐ์ ์ํ ํ์ธ:
1
2
3
4
5
6
openclaw gateway stop || true
rm -f ~/.openclaw/run/gateway.lock ~/.openclaw/run/gateway.pid 2>/dev/null || true
openclaw gateway &
sleep 3
openclaw browser --browser-profile openclaw start
openclaw browser --browser-profile openclaw status --json
7) ๋ธ๋ผ์ฐ์ ์ฐ๊ฒฐ ํ์ธ !
1
openclaw browser --browser-profile openclaw status
์๋์ ๊ฐ์ด ์ถ๋ ฅ๋๋ฉด ์ฐ๊ฒฐ ์ฑ๊ณต !
1
2
3
4
5
6
7
8
9
profile: openclaw
enabled: true
running: true
cdpPort: 18800
cdpUrl: http://127.0.0.1:18800
browser: custom
detectedBrowser: custom
detectedPath: /usr/bin/chromium
profileColor: #FF4500

