튜토리얼 카테고리 Skills 소개
ZH EN JA KO
설치 및 배포

시놀로지 NAS에 OpenClaw 배포 튜토리얼

· 12 분 소요

들어가며

시놀로지 NAS는 많은 가정과 소규모 기업의 데이터 센터로, Docker 기능을 활용하여 OpenClaw를 배포하면 24시간 온라인 AI 어시스턴트 서비스를 구현할 수 있습니다. 본 문서에서는 시놀로지의 Container Manager(이전 버전에서는 Docker 패키지)를 통해 OpenClaw를 배포하는 방법을 상세히 안내합니다.

사전 요구 사항

요구 사항 설명
NAS 모델 Docker를 지원하는 x86 아키텍처 시놀로지 (예: DS220+, DS920+, DS1621+ 등)
DSM 버전 DSM 7.2 이상
메모리 최소 4GB (8GB+ 권장)
저장 공간 최소 2GB 여유 공간
패키지 Container Manager 설치 필요

참고: ARM 아키텍처의 입문형 시놀로지(예: DS120j, DS220j)는 Docker를 지원하지 않아 본 튜토리얼의 방법을 사용할 수 없습니다.

1단계: Container Manager 설치

아직 Container Manager 패키지를 설치하지 않았다면:

  1. DSM을 열고 "패키지 센터"에 진입합니다
  2. "Container Manager"를 검색합니다
  3. "설치"를 클릭합니다
  4. 설치가 완료될 때까지 기다립니다

2단계: OpenClaw 이미지 다운로드

방법 1: Container Manager 인터페이스를 통해

  1. Container Manager를 엽니다
  2. 왼쪽의 "레지스트리"(Registry)를 클릭합니다
  3. 검색창에 openclaw/openclaw를 입력합니다
  4. 공식 이미지를 선택하고 "다운로드"를 클릭합니다
  5. 태그로 latest를 선택하고 다운로드를 확인합니다

방법 2: SSH 명령줄을 통해

먼저 DSM에서 SSH를 활성화합니다: 제어판 > 터미널 및 SNMP > SSH 서비스 활성화.

# 시놀로지에 SSH 연결
ssh admin@NAS주소

# sudo 권한으로 이미지 풀
sudo docker pull openclaw/openclaw:latest

3단계: 구성 디렉토리 준비

시놀로지에 OpenClaw 구성 및 데이터를 저장할 디렉토리를 생성합니다.

File Station을 통해

  1. File Station을 엽니다
  2. docker 공유 폴더로 이동합니다 (없으면 먼저 스토리지 관리자에서 생성)
  3. openclaw 폴더를 생성합니다
  4. openclaw 하위에 두 개의 하위 폴더를 생성합니다: configdata

최종 디렉토리 구조:

/docker/openclaw/
├── config/
└── data/

SSH를 통해

sudo mkdir -p /volume1/docker/openclaw/config
sudo mkdir -p /volume1/docker/openclaw/data
sudo chown -R 1000:1000 /volume1/docker/openclaw

4단계: 구성 파일 생성

config 디렉토리에 openclaw.json5 구성 파일을 생성합니다. File Station을 통해 업로드하거나 SSH를 통해 생성할 수 있습니다.

cat > /volume1/docker/openclaw/config/openclaw.json5 << 'EOF'
{
  // OpenClaw 구성 파일
  // 상세 설정은 구성 파일 가이드를 참조하십시오

  gateway: {
    port: 18789,
    host: "0.0.0.0",
  },

  models: {
    default: "claude",
    providers: {
      claude: {
        apiKey: "sk-ant-your-api-key-here",
        model: "claude-sonnet-4-20250514",
      },
    },
  },

  channels: {
    // 필요에 따라 통신 채널을 구성합니다
  },

  logging: {
    level: "info",
    file: "/app/data/openclaw.log",
  },
}
EOF

sk-ant-your-api-key-here를 실제 API 키로 교체하십시오.

5단계: 컨테이너 생성

방법 1: Container Manager 인터페이스를 통해

  1. Container Manager를 열고 "컨테이너" > "생성"을 클릭합니다
  2. openclaw/openclaw:latest 이미지를 선택합니다
  3. 컨테이너 이름을 openclaw로 설정합니다
  4. "자동 재시작 활성화"를 선택합니다

포트 설정:

로컬 포트 컨테이너 포트 프로토콜
18789 18789 TCP

스토리지 설정 (볼륨 매핑):

로컬 경로 컨테이너 경로 권한
/volume1/docker/openclaw/config /app/config 읽기/쓰기
/volume1/docker/openclaw/data /app/data 읽기/쓰기

환경 변수:

변수명
OPENCLAW_CONFIG /app/config/openclaw.json5
TZ Asia/Shanghai
NODE_ENV production
  1. "다음"을 클릭하고 설정을 확인한 후 "완료"를 클릭합니다

방법 2: docker-compose를 통해 (권장)

/volume1/docker/openclaw/ 디렉토리에 docker-compose.yml을 생성합니다.

version: "3.8"

services:
  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    restart: always
    ports:
      - "18789:18789"
    volumes:
      - ./config:/app/config
      - ./data:/app/data
    environment:
      - OPENCLAW_CONFIG=/app/config/openclaw.json5
      - TZ=Asia/Shanghai
      - NODE_ENV=production
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:18789/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 30s
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

SSH를 통해 시작합니다.

cd /volume1/docker/openclaw
sudo docker-compose up -d

6단계: 배포 확인

컨테이너 상태 확인

Container Manager에서 컨테이너가 정상적으로 실행 중인지 확인합니다(녹색 상태). 또는 명령줄을 통해:

sudo docker ps | grep openclaw

로그 확인

sudo docker logs -f openclaw

다음과 유사한 출력이 표시되어야 합니다.

[OpenClaw] Gateway started on port 18789
[OpenClaw] Model provider: Claude (claude-sonnet-4-20250514)
[OpenClaw] Channels: ready

Dashboard 접속

브라우저에서 다음을 엽니다.

http://NAS주소:18789/dashboard

7단계: 시놀로지 방화벽 설정

시놀로지에서 방화벽을 활성화한 경우 18789 포트를 허용해야 합니다.

  1. DSM 제어판을 엽니다
  2. "보안" > "방화벽"으로 이동합니다
  3. "규칙 편집"을 클릭합니다
  4. 새 규칙을 생성합니다:
    • 포트: 사용자 정의, 18789 입력
    • 프로토콜: TCP
    • 동작: 허용
  5. 저장하고 적용합니다

8단계: 리버스 프록시 설정 (선택 사항)

시놀로지에는 리버스 프록시 기능이 내장되어 있어 도메인명으로 OpenClaw에 접근할 수 있습니다.

  1. DSM 제어판을 엽니다
  2. "로그인 포털" > "고급" > "리버스 프록시 서버"로 이동합니다
  3. 새 규칙을 생성합니다:
    • 설명: OpenClaw
    • 소스 프로토콜: HTTPS
    • 소스 호스트명: openclaw.yourdomain.com
    • 소스 포트: 443
    • 대상 프로토콜: HTTP
    • 대상 호스트명: localhost
    • 대상 포트: 18789

시놀로지의 DDNS와 Let's Encrypt 인증서를 함께 사용하면 외부 네트워크에서 안전하게 접근할 수 있습니다.

자동 재시작 정책

Container Manager에서 설정

컨테이너 설정에서 "자동 재시작 활성화"를 선택하면 됩니다. 이렇게 하면 NAS 재부팅 후 컨테이너가 자동으로 시작됩니다.

헬스 체크

docker-compose의 healthcheck 구성을 사용하면 Docker가 주기적으로 OpenClaw의 건강 상태를 확인합니다. 비정상이 감지되면 자동으로 컨테이너를 재시작합니다.

건강 상태 확인:

sudo docker inspect --format='{{.State.Health.Status}}' openclaw

데이터 백업

시놀로지의 Hyper Backup을 활용하여 OpenClaw의 구성과 데이터를 백업합니다.

  1. Hyper Backup을 엽니다
  2. 새 백업 작업을 생성합니다
  3. 백업 대상을 선택합니다
  4. 폴더 선택에서 /docker/openclaw/를 선택합니다
  5. 정기 백업 일정을 설정합니다 (매일 백업 권장)

수동 백업도 간단합니다.

# 백업 생성
sudo tar -czf /volume1/backups/openclaw-backup-$(date +%Y%m%d).tar.gz \
  /volume1/docker/openclaw/config \
  /volume1/docker/openclaw/data

자주 발생하는 문제

문제 해결 방법
컨테이너 시작 불가 포트 사용 여부 확인: sudo netstat -tlnp | grep 18789
구성 파일 미적용 볼륨 매핑 경로가 정확하고 파일 권한이 읽기 가능한지 확인
외부 네트워크 접근 불가 라우터 포트 포워딩 및 시놀로지 방화벽 설정 확인
이미지 풀 실패 Docker 미러 가속기 설정 시도
컨테이너 메모리 부족 컨테이너 설정에서 메모리 제한을 늘리기

Docker 미러 가속 설정

이미지 풀 속도가 느린 경우 미러 가속기를 설정할 수 있습니다. SSH를 통해 Docker 설정을 편집합니다.

sudo tee /etc/docker/daemon.json > /dev/null << 'EOF'
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com"
  ]
}
EOF

sudo systemctl restart docker

마무리

시놀로지 NAS의 Docker 기능을 통해 OpenClaw를 배포하면 안정적이고 저전력으로 24시간 온라인 AI 어시스턴트 서비스를 얻을 수 있습니다. 시놀로지의 스토리지 관리, 백업 및 리버스 프록시 기능 덕분에 운영 관리가 매우 간편합니다. Hyper Backup을 사용하여 구성 데이터를 정기적으로 백업하여 데이터 안전을 확보하시기 바랍니다.

OpenClaw는 무료 오픈소스 개인 AI 어시스턴트로, WhatsApp, Telegram, Discord 등 다양한 플랫폼을 지원합니다