「社内マニュアルや議事録をAIに読み込ませて、自然な日本語で質問したい」——そんな要望をクラウドAPIなし・無料・完全ローカルで実現できるのが AnythingLLM です。
AnythingLLMはRAG(Retrieval Augmented Generation)をブラウザのGUIだけで設定できるオールインワンツールで、PDFや.txtファイルをドラッグ&ドロップするだけで「その文書を知っているAI」が作れます。正直、ここまでセットアップが簡単なRAGツールはなかなかありません。
本記事では、Ubuntu 24.04 LTS 環境に AnythingLLM 1.14.0(2026-06-11リリース)を Docker で構築し、実際に起動した画面のスクリーンショットと実測データを元に手順を解説します。
この記事のポイント
- AnythingLLM は
docker run1コマンドで起動。GUIから文書アップロード〜RAGチャットまで完結 - LLMバックエンドは Ollama(完全ローカル)・OpenAI・Anthropic など8種類以上から選択可能
- ベクトルDBは LanceDB をデフォルト内蔵。外部DBへの切り替えも GUI から設定できる
- 実測: Docker イメージは
mintplexlabs/anythingllm:latest(バージョン 1.14.0、Node.js v18.20.8 内蔵) - ポート 3001 でブラウザアクセス。ストレージは
-vマウントでホストに永続化できる
AnythingLLMとは:RAGをGUIで動かすオールインワンツール
RAG(Retrieval Augmented Generation)は「ユーザーの質問に近い文書を検索して、その内容をLLMに渡す」仕組みです。LLMが本来知らない情報(社内規程・製品マニュアル・過去の議事録など)に対しても、正確に答えられるようになります。
ただし、従来のRAG構築はPythonコードとベクトルDBの設定が必要で、初学者には敷居が高いものでした。AnythingLLMはその複雑さをすべてGUIに隠蔽し、ブラウザ操作だけでRAGチャットが作れるように設計されています。
機能の核は「ワークスペース」という概念です。ワークスペースごとに文書を分けて管理でき、たとえば「営業資料ワークスペース」と「技術仕様書ワークスペース」を別々に作って使い分けることができます。

動作確認済み環境
| 項目 | 環境・バージョン |
|---|---|
| OS | Ubuntu 24.04.4 LTS(Noble Numbat) |
| Docker | 29.1.3(docker.io、Ubuntu 24.04 aptリポジトリ) |
| AnythingLLM | 1.14.0(mintplexlabs/anythingllm:latest、2026-06-11リリース) |
| Node.js(コンテナ内) | v18.20.8 |
| デフォルトベクトルDB | LanceDB(コンテナ内に内蔵) |
| アクセスポート | 3001/tcp |
| 確認日 | 2026-06-14 |
注意
本記事の手順は Ubuntu 24.04 LTS で検証しています。Ubuntu 22.04 でも基本的な手順は同じですが、Docker のバージョンや依存パッケージが異なる場合があります。本番運用の場合は公式の最新ドキュメントも合わせて確認してください。

手順1:Docker のインストール
AnythingLLM は Docker イメージとして提供されています。まずUbuntuに Docker をインストールします。
手順1-1:パッケージリストを更新してDockerをインストールする
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:2 http://security.ubuntu.com/ubuntu noble-security InRelease
Reading package lists… Done
$ sudo apt-get install -y docker.io
Reading package lists… Done
The following NEW packages will be installed:
docker.io …
Setting up docker.io (29.1.3-0ubuntu3~24.04.2) …
手順1-2:Docker を自動起動に設定してユーザーをdockerグループに追加する
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/docker.service.
$ sudo usermod -aG docker $USER
$ newgrp docker
$ docker –version
Docker version 29.1.3, build af0b1d9
sudo usermod -aG docker $USER を実行したあとは、newgrp docker で即時反映するか、一度ログアウトして再ログインしてください。これをしないと次のコマンドで permission denied が出ます。
手順2:AnythingLLM のストレージディレクトリを作成する
AnythingLLM はデータ(文書・会話履歴・ベクトルDB)をコンテナ内の /app/server/storage/ に保存します。このディレクトリをホスト側にマウントしておかないと、コンテナを削除した時にデータが消えます。
$ ls ~/anythingllm_storage
(空の状態でOK。初回起動時に自動で作成される)
手順3:AnythingLLM コンテナを起動する
手順3-1:docker run でAnythingLLMを起動する
–name anythingllm \
-p 3001:3001 \
-v ~/anythingllm_storage:/app/server/storage \
–restart unless-stopped \
mintplexlabs/anythingllm:latest
Unable to find image ‘mintplexlabs/anythingllm:latest’ locally
latest: Pulling from mintplexlabs/anythingllm
Digest: sha256:2be879706ac122c5e75fdb7c2ae3b60881c606445a4e8bbd1034e08c4aac386d
Status: Downloaded newer image for mintplexlabs/anythingllm:latest
b6bdc8d06280c97700d86441fb4e8799ab0d9307ba11bb8e6277be8ddf24c391
手順3-2:起動状態を確認する
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b6bdc8d06280 mintplexlabs/anythingllm:latest “/bin/sh -c ‘node –…” 2 minutes ago Up 2 minutes (healthy) 0.0.0.0:3001->3001/tcp anythingllm
$ curl -s http://localhost:3001/api/ping
{“online”:true}
STATUS が Up ... (healthy) になっていれば起動成功です。{"online":true} が返ってくれば API も正常に動いています。
VPSで使う場合はファイアウォールに注意
Vultr・DigitalOceanなどのVPSではデフォルトでポートが閉じています。sudo ufw allow 3001 でポートを開放してからブラウザでアクセスしてください。セキュリティが気になる場合は、SSHポートフォワード(ssh -L 3001:localhost:3001 user@your-vps-ip)でローカルからのみアクセスする方法もあります。
手順4:ブラウザからアクセスして初期設定をする
コンテナが起動したら、ブラウザで http://localhost:3001(VPSの場合は http://サーバーIP:3001)を開きます。

「Get Started」ボタンをクリックするとセットアップウィザードが始まります。最初の画面で LLMバックエンドを選択します。

選択肢は8種類以上あります。用途に合わせて選んでください。

Ollamaをバックエンドに設定する場合
Ollamaを選択した場合、接続先URLを設定します。同一ホストで動かしている場合は http://localhost:11434 ではなく、DockerコンテナからホストのOllamaへ接続するため http://host.docker.internal:11434 を使います。
…
$ docker exec ollama ollama pull llama3.2:3b
pulling manifest
pulling 8eeb52dfb3bb… 100% ▕████████████████████████████▏ 2.0 GB
success
Ollamaのモデルダウンロードには数分〜十数分かかります。llama3.2:3b(約2GB)はスペックの低いVPSでも動くサイズです。
手順5:ワークスペースを作成して文書をアップロードする
初期設定が完了するとメインのチャット画面が表示されます。左サイドバーに「My Workspace」というデフォルトのワークスペースが作られています。

画面上部のクリップアイコン(「Upload documents」)をクリックすると文書アップロード画面が開きます。対応フォーマットは PDF・.txt・.docx・.md・.html など20種類以上です。
アップロードできる文書の種類
| ファイル形式 | 対応 | メモ |
|---|---|---|
| ○ | 日本語PDF、スキャンPDF(OCRは非対応) | |
| .txt / .md | ○ | マニュアル・議事録テキストに最適 |
| .docx | ○ | Word文書をそのままアップロード可 |
| .html | ○ | 社内Wikiのエクスポートなど |
| YouTube URL | ○ | 字幕をテキストとして取り込む |
| Webページ URL | ○ | URLを貼るとページをクロール |
ファイルをアップロードした後、「Move to Workspace」ボタンをクリックしてワークスペースに追加します。自動でテキスト分割・埋め込みが行われるので、数秒〜1分ほど待てば準備完了です。
手順6:実際にRAGチャットを試す
文書の追加が終わったら、チャット入力欄から質問を打ち込みます。アップロードした文書の内容に基づいた回答が返ってきます。

回答の下に「Sources」セクションが表示され、どの文書のどの部分を参照して答えたかが確認できます。これがRAGの最大の強みで、「なぜその答えになったか」をトレースできるため、社内用途での信頼性が高まります。
チャットモードの切り替え
AnythingLLMのチャット入力欄の左側に「Chat」と「Query」の切り替えがあります。
- Chat モード:会話履歴を記憶しながら対話。文書+会話の流れを踏まえて回答
- Query モード:文書のみを参照して回答。会話履歴を使わない。文書検索用途に向く
ストレージの確認:データはどこに保存されているか
AnythingLLM は起動すると ~/anythingllm_storage/ 以下に以下のディレクトリを自動生成します。実際にコンテナ内で確認した結果です。
anythingllm.db comkey documents lancedb models push-notifications vector-cache
$ ls -lh ~/anythingllm_storage/anythingllm.db
-rw-r–r– 1 user user 344K Jun 14 04:10 anythingllm.db
各ディレクトリの役割は以下の通りです。
anythingllm.db:SQLite データベース。ワークスペース設定・会話履歴・ユーザー情報を保存documents/:アップロードされた元ファイルlancedb/:埋め込みベクトルを保存する LanceDB のデータファイルvector-cache/:チャンクごとのベクトル計算結果キャッシュ
よくあるエラーと解決策
① コンテナが起動しない / ポートが使えない
別のプロセスがポート 3001 を使っています。sudo lsof -i :3001 で確認して対象プロセスを停止するか、-p 3002:3001 のように別ポートを使ってください。
② OllamaにAnythingLLMから接続できない
Docker コンテナ内から localhost を指定しても、それはコンテナ自身を指します。ホスト側の Ollama に接続するには http://host.docker.internal:11434 を使ってください。Linux の場合は --add-host=host.docker.internal:host-gateway オプションをコンテナ起動時に追加する必要があります。
–name anythingllm \
-p 3001:3001 \
–add-host=host.docker.internal:host-gateway \
-v ~/anythingllm_storage:/app/server/storage \
–restart unless-stopped \
mintplexlabs/anythingllm:latest
③ 文書をアップロードしても回答に反映されない
文書をアップロードしただけでは不十分です。アップロード後に「Move to Workspace」ボタンをクリックして、ワークスペースに明示的に追加する必要があります。このステップを忘れるとチャットで参照されません。
④ 日本語の文書がうまく処理されない
PDF の日本語テキスト抽出は、スキャンPDF(画像PDF)では機能しません。テキストとして保存されているPDFか、.txt や .md 形式への変換をおすすめします。また、LLMバックエンドに日本語対応のモデル(llama3.2:3b や gemma2:2b など多言語対応モデル)を選ぶことで精度が上がります。
Docker Compose で管理する場合(応用)
本番運用や複数サービスと組み合わせる場合は Docker Compose を使うと管理しやすくなります。
services:
anythingllm:
image: mintplexlabs/anythingllm:latest
container_name: anythingllm
ports:
– “3001:3001”
volumes:
– ./storage:/app/server/storage
environment:
– SERVER_PORT=3001
restart: unless-stopped
extra_hosts:
– “host.docker.internal:host-gateway”
$ docker compose up -d
[+] Running 1/1
✔ Container anythingllm Started
まとめ
AnythingLLM を Ubuntu + Docker で構築する手順をまとめます。
- Docker のインストールは
sudo apt-get install -y docker.io(Ubuntu 24.04 で バージョン 29.1.3 が入る) - AnythingLLM の起動は
docker run -d -p 3001:3001 -v ~/anythingllm_storage:/app/server/storage mintplexlabs/anythingllm:latestの1コマンド - ブラウザで
http://localhost:3001にアクセスし、LLMバックエンドを選択するだけでセットアップ完了 - ローカルで完全無料にするなら Ollama と組み合わせる。Dockerから繋ぐには
host.docker.internalを使う - アップロードした文書は「Move to Workspace」で追加して初めてRAGに使われる
- データは
~/anythingllm_storage/に永続化されるので、コンテナを削除してもデータは残る
VPS で AnythingLLM を公開して複数人で使う場合は、Settings > Users からユーザーを追加し、各ワークスペースへのアクセス権を設定することもできます。
「VPSを借りてAnythingLLMを社内向けに公開したい」という場合は、下記のVPS選び記事も参考にしてください。



コメント