UGREEN NASync DXP480T Plus 構築ログ:メモリ32GB積んで、Cloudflare_Tunnel経由の『自分専用AIサーバー』を構築する

はじめに

UGREENのNAS(DXPシリーズ)など、近年の高スペックNASはローカルLLMを動かすポテンシャルを秘めています。 本記事では、Dockerを用いたローカルLLM環境の構築手順と、Cloudflare Tunnelで外出先から安全にアクセスするまでの全工程をまとめます。

構築の前提:リソース設計

NASでローカルLLMを実用レベルで動かすには、以下の構成が鍵となります。

  • メモリ: 32GBへの換装を強く推奨。 モデルをRAM上に完全常駐させます。
  • ストレージ: モデルデータのロードを高速化するため、NVMe SSD領域をボリュームに割り当てます。
  • 外部アクセス: ポート開放は行わず、Cloudflare Tunnelでセキュアな経路を確保します。

docker-compose.yml

volume3は各自割り当て場所に読み替えてください。volume3にモデルデータ含め割り当てる例です。いつもながら、ollamaとopen-webuiフォルダはあらかじめ作成しておくこと。

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    volumes:
      - /volume3/docker/ollama:/root/.ollama  # 高速なSSD領域を推奨
    ports:
      - "11434:11434"
    environment:
      - OLLAMA_KEEP_ALIVE=24h  # メモリ32GBなら常駐させて即レス環境を構築
    restart: always

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    depends_on:
      - ollama
    ports:
      - "3001:8080"      
    environment:
      - 'OLLAMA_BASE_URL=http://ollama:11434'
      - 'WEBUI_SECRET_KEY=your_secure_random_key' # 任意の文字列
    volumes:
      - /volume3/docker/open-webui:/app/backend/data
    restart: always

Cloudflare Tunnelによる外部公開

外出先のモバイル端末から安全にアクセスするための設定です。

  1. Cloudflare側: Dashboardの「Zero Trust > Access > Tunnels」から新規作成。
  2. コネクタ設置: NAS上のDockerで cloudflared コンテナを動かす。
  3. Public Hostname設定: Service: http://[NASのIP]:3001 を指定。
  4. セキュリティ: 複雑なパスワード設定に加え、必要に応じてCloudflare Accessでの認証を追加。

モデルのロードと運用

内部LAN内なら、http://[NASのIP]:3001にアクセスし、Open WebUIにログインし、モデルのロードを行います。

  • 常駐の恩恵: OLLAMA_KEEP_ALIVE=24h に設定しておくことで、外部からアクセスした際もモデルのロード待ちが発生せず、即座に推論が始まります。

まとめ

インフラ、メモリ、セキュリティを整えることで、NASは単なるストレージから「自分専用のプライベートクラウドAI」へと進化します。 ポータブルな最強知能をポケットに入れて持ち歩きましょう。

結果

UGREEN NAS DXP480T Plus上でgemma4:26bをロードしてみた。

CPU:Core i5 1235u メモリ:DDR5 32GB(16GB×2枚) ストレージ:m.2 nvme Gen3 250GB

6.33token/s CPUのみで健闘してる方だが、やはり体感遅い。このモデルだと厳しいかな。 VRAMを持たないNAS(CPU推論)では、メモリ帯域がボトルネックになる。実用性を取るなら、軽量モデルにするか、素直にGPUを利用したほうがよいと思う。

タイトルとURLをコピーしました