はじめに
Synology NAS は多くの家庭や中小企業のデータセンターとして利用されています。Docker 機能を活用して OpenClaw をデプロイすることで、24時間365日オンラインのAIアシスタントサービスを実現できます。本記事では、Synology の Container Manager(旧称 Docker パッケージ)を使用して OpenClaw をデプロイする方法を詳しく解説します。
前提条件
| 要件 | 説明 |
|---|---|
| NAS モデル | Docker対応のx86アーキテクチャSynology(DS220+、DS920+、DS1621+ など) |
| DSM バージョン | DSM 7.2 以上 |
| メモリ | 4GB以上(8GB+推奨) |
| ストレージ容量 | 2GB以上の空き容量 |
| パッケージ | Container Manager がインストール済み |
注意:ARMアーキテクチャのエントリーモデルSynology(DS120j、DS220j など)はDockerに対応していないため、本チュートリアルの方法は使用できません。
ステップ1:Container Managerのインストール
Container Manager パッケージがまだインストールされていない場合:
- DSM を開き、「パッケージセンター」に移動
- 「Container Manager」を検索
- 「インストール」をクリック
- インストール完了を待つ
ステップ2:OpenClawイメージのダウンロード
方法1:Container Manager画面から
- Container Manager を開く
- 左側の「レジストリ」をクリック
- 検索ボックスに
openclaw/openclawと入力 - 公式イメージを選択し、「ダウンロード」をクリック
- タグは
latestを選択して確認
方法2:SSHコマンドラインから
まず DSM で SSH を有効にします:コントロールパネル > ターミナルと SNMP > SSH サービスを有効にする。
# SSHでSynologyに接続
ssh admin@あなたのNASアドレス
# sudo権限でイメージを取得
sudo docker pull openclaw/openclaw:latest
ステップ3:設定ディレクトリの準備
Synology 上に OpenClaw の設定とデータを保存するディレクトリを作成します。
File Stationから
- File Station を開く
docker共有フォルダに移動(ない場合はストレージマネージャーで先に作成)openclawフォルダを作成openclawの下にconfigとdataの2つのサブフォルダを作成
最終的なディレクトリ構成:
/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画面から
- Container Manager を開き、「コンテナ」>「作成」をクリック
openclaw/openclaw:latestイメージを選択- コンテナ名を
openclawに設定 - 「自動再起動を有効にする」にチェック
ポート設定:
| ローカルポート | コンテナポート | プロトコル |
|---|---|---|
| 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 |
- 「次へ」をクリックし、設定を確認後「完了」をクリック
方法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:Synologyファイアウォールの設定
Synology でファイアウォールを有効にしている場合は、18789番ポートを開放する必要があります。
- DSM コントロールパネルを開く
- 「セキュリティ」>「ファイアウォール」に移動
- 「ルールの編集」をクリック
- 新しいルールを作成:
- ポート:カスタム、
18789を入力 - プロトコル:TCP
- アクション:許可
- ポート:カスタム、
- 保存して適用
ステップ8:リバースプロキシの設定(任意)
Synology にはリバースプロキシ機能が組み込まれており、ドメイン名で OpenClaw にアクセスできます。
- DSM コントロールパネルを開く
- 「ログインポータル」>「詳細」>「リバースプロキシサーバー」に移動
- 新しいルールを作成:
- 説明:OpenClaw
- ソースプロトコル:HTTPS
- ソースホスト名:openclaw.yourdomain.com
- ソースポート:443
- 宛先プロトコル:HTTP
- 宛先ホスト名:localhost
- 宛先ポート:18789
Synology の DDNS と Let's Encrypt 証明書を組み合わせることで、外部ネットワークからの安全なアクセスを実現できます。
自動再起動ポリシー
Container Managerでの設定
コンテナ設定で「自動再起動を有効にする」にチェックを入れるだけです。NAS の再起動後、コンテナが自動的に起動します。
ヘルスチェック
docker-compose の healthcheck 設定を使用している場合、Docker は定期的に OpenClaw の健全性を確認します。異常が検出された場合、コンテナが自動的に再起動されます。
ヘルス状態の確認:
sudo docker inspect --format='{{.State.Health.Status}}' openclaw
データバックアップ
Synology の Hyper Backup を使用して OpenClaw の設定とデータをバックアップします。
- Hyper Backup を開く
- 新しいバックアップタスクを作成
- バックアップ先を選択
- フォルダ選択で
/docker/openclaw/にチェック - 定期バックアップスケジュールを設定(毎日のバックアップを推奨)
手動バックアップも簡単です。
# バックアップを作成
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 |
| 設定ファイルが反映されない | ボリュームマッピングパスが正しいこと、ファイルが読み取り可能であることを確認 |
| 外部からアクセスできない | ルーターのポートフォワーディングとSynologyのファイアウォール設定を確認 |
| イメージの取得に失敗 | 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
まとめ
Synology NAS の Docker 機能を使用して OpenClaw をデプロイすることで、安定した低消費電力の24時間オンラインAIアシスタントサービスを実現できます。Synology に組み込まれたストレージ管理、バックアップ、リバースプロキシ機能により、運用管理が非常に簡単になります。Hyper Backup を使用した定期的な設定データのバックアップで、データの安全性を確保することをお勧めします。