インストール
DigitalBase の導入から起動まで。API とフロントエンドを同梱した単一構成で、ポート 8000 で動作。
エディションと導入方法
vLLM 版(Linux + NVIDIA GPU)と Ollama 版(Linux / macOS / Windows)の 2 エディション。機能は同じで、ローカル LLM のバックエンドのみ異なる。
| エディション | 環境 | スクリプト | インストール先 |
|---|---|---|---|
| vLLM 版 | Linux + GPU | install-linux-vllm.sh | ~/.local/db |
| Ollama 版 | Linux | install-linux.sh | ~/.local/db |
| Ollama 版 | macOS | install-macos.sh | ~/.local/db |
| Ollama 版 | Windows | install-windows.ps1 | %LOCALAPPDATA%\db |
| vLLM 版 / Ollama 版 | pip / uv | uvx digitalbase | ~/.local/db |
| vLLM 版 / Ollama 版 | Docker | docker-compose.yml(または install-docker.sh) | 任意のディレクトリ(data/ を /app/data にマウント) |
| vLLM 版 / Ollama 版 | Linux(パッケージ) | digitalbase-<arch>.deb / .rpm | /opt/digitalbase |
- NVIDIA GPU 搭載の Linux サーバで複数人利用なら vLLM 版、それ以外は Ollama 版。バイナリは共通で
.envのLLM_BACKEND(vllm/ollama)で切替 - スクリプト / Docker / パッケージは DB・推論エンジンまで入れる一式導入。pip / uv は本体のみ
事前に必要なもの
| 用途 | 必要なもの |
|---|---|
| OS(Linux) | Ubuntu 24.04 以降 / RHEL 10 |
| データベース | PostgreSQL 16 以降 + pgvector 拡張(RAG 用) |
| ローカル LLM | NVIDIA GPU + CUDA(vLLM 版)/ Ollama(Ollama 版) |
| 文字認識 | Tesseract OCR(画像・PDF の文字認識) |
| 文字起こし(任意) | FFmpeg(文字起こしで WAV 以外の音声・動画ファイルを扱う場合のみ) |
事前の環境設定
使う OS の手順で PostgreSQL・pgvector・OCR を入れる。DB とユーザーの作成はインストーラが行う。
既存の PostgreSQL / RDS 等を使う場合は、.env の DATABASE_URL を書き換え、手動でのデータベース作成を行う。
Ubuntu
PostgreSQL と pgvector を入れる。
sudo apt install -y postgresql
sudo apt install -y postgresql-$(psql -V | grep -oE '[0-9]+' | head -1)-pgvector
pgvector のパッケージ名には PostgreSQL のメジャーバージョンが入る。
OCR と日本語データを入れる。
sudo apt install -y tesseract-ocr tesseract-ocr-jpn
Ollama 版は Ollama を入れる。
curl -fsSL https://ollama.com/install.sh | sh
vLLM 版は NVIDIA ドライバ / CUDA を入れ、nvidia-smi が動く状態にしておく。Python・vLLM・FFmpeg はインストーラが入れる。
RHEL 10
PostgreSQL と pgvector を入れ、初期化して起動する。RHEL はインストールだけでは初期化も起動もされない。
sudo dnf install -y postgresql-server postgresql-contrib pgvector
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql
postgresql-contrib は RAG のキーワード検索の索引 (pg_trgm) に使う。pgvector は標準の PostgreSQL 16 用で、PostgreSQL 18 を使う場合は postgresql18-pgvector。
アプリはパスワードで接続するので、ローカル接続の認証方式を ident から scram-sha-256 に変える。
sudo sed -i -E '/^host +all/s/ident$/scram-sha-256/' /var/lib/pgsql/data/pg_hba.conf
sudo systemctl reload postgresql
OCR と日本語データを入れる。
sudo dnf install -y tesseract tesseract-langpack-jpn
Ollama 版は Ollama を入れる。
curl -fsSL https://ollama.com/install.sh | sh
他の PC から開けるように、ファイアウォールで 8000 番を開ける。
sudo firewall-cmd --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
vLLM 版は NVIDIA ドライバ / CUDA を入れ、nvidia-smi が動く状態にしておく。FFmpeg と ninja-build は標準のリポジトリに無いので、CRB と EPEL を有効にして先に入れる。
sudo subscription-manager repos --enable codeready-builder-for-rhel-10-$(arch)-rpms
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
sudo dnf install -y python3-devel ninja-build ffmpeg-free
macOS
PostgreSQL と pgvector を入れる。
brew install postgresql@17 pgvector
対応バージョンの PostgreSQL が入っていれば、それを使える。
OCR と日本語データを入れる。
brew install tesseract tesseract-lang
Ollama を入れる。
brew install ollama
Windows
PostgreSQL・pgvector・Tesseract・Ollama をまとめて入れる。管理者の PowerShell で実行する。
irm https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/setup-windows.ps1 | iex
Bare Metal(スクリプトで導入)
「事前の環境設定」の後、エディションに応じたコマンドを実行。
1. Linux + GPU(vLLM 版)
vLLM 版を入れる。
curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-linux-vllm.sh | bash
モデルは初回起動時に HuggingFace から取得。バージョンの指定は vLLM が --vllm-version X.Y.Z(latest / nightly も可)、本体が --version 26.10.124。
2. Linux(Ollama 版)
Ollama 版を入れる。
curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-linux.sh | bash
Ollama も同時に入れる場合は --with-ollama を付ける。
curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-linux.sh | bash -s -- --with-ollama
3. macOS(Ollama 版)
Ollama 版を入れる。
curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-macos.sh | bash
4. Windows(Ollama 版 / PowerShell)
先に setup-windows.ps1 を管理者で実行しておく。本体は通常ユーザーで入れられる。
irm https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-windows.ps1 | iex
オフライン(閉域)でのインストール
ネットにつながる PC でインストール媒体(USB メモリ等)を作り、閉域のサーバーでその中のスクリプトを実行する。媒体には本体・Python 3.13・推論エンジンと依存パッケージが入るので、閉域側に Python は不要。
1. 媒体を作る
閉域のサーバーと同じ CPU アーキテクチャの、ネットにつながる PC で実行する。GPU は不要で、この PC には何も入らない。
Ollama 版の媒体を作る。
curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-linux.sh | bash -s -- --bundle /media/usb/db
vLLM 版の媒体を作る。--with-models を付けると、この PC の HuggingFace キャッシュのモデルも入る。
curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-linux.sh | bash -s -- --bundle /media/usb/db --engine vllm --with-models
2. 閉域のサーバーで入れる
Ubuntu 24.04 以降で実行する。PostgreSQL + pgvector と、Ollama 版なら Ollama は先に入れておく。
bash /media/usb/db/install-linux.sh
3. 更新する
新しい媒体を作って挿し、管理画面 > 登録管理 の 「USB の媒体から更新」 を押す(同じコマンドの再実行でも可)。媒体と違うエディションの機では押せない(エディションを替える時は 2. のコマンドで)。
運用時は .env に HF_HUB_OFFLINE=1。モデルの追加は閉域環境へのモデル持ち込み。
パッケージ(deb / rpm)
事前準備は「事前の環境設定」と同じ。
Ubuntu / Debian は deb を入れる。
curl -LO https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-latest/digitalbase-amd64.deb
sudo apt install ./digitalbase-amd64.deb
arm64 の場合はファイル名を digitalbase-arm64.deb にする。
RHEL / Rocky / AlmaLinux は rpm を入れる。
curl -LO https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-latest/digitalbase-amd64.rpm
sudo dnf install ./digitalbase-amd64.rpm
改ざんを確認する場合(任意)は、チェックサムと照合する。
curl -LO https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-latest/digitalbase-amd64.deb.sha256
sha256sum -c digitalbase-amd64.deb.sha256
入れた後は .env を確認(vLLM 版は LLM_BACKEND=vllm)して起動する。
db start
- 配置: 本体は
/opt/digitalbase、設定は/etc/digitalbase/.env(更新で上書きしない)。systemd のdb.serviceとdbコマンドを登録し、PostgreSQL 稼働中なら DB も自動作成 - アップデート: 同じコマンドで入れ直す。動いていたサービスは新しいバージョンで起動し直す(確認は
db status) - バージョン固定: URL の
vite-latestをvite-<バージョンタグ>に変更 - アンインストール:
sudo apt remove digitalbase/sudo dnf remove digitalbase(データと設定は残る)
pip / uv(Python で一から構築する)
PyPI の wheel(Python 3.13)。PostgreSQL(pgvector)と推論エンジン(vLLM / Ollama)を先に用意し、作業ディレクトリの .env に DATABASE_URL と LLM_BACKEND=vllm|ollama を書いてから起動する。
uv tool install --python 3.13 digitalbase
digitalbase serve
更新は uv tool upgrade digitalbase。
Docker
単一イメージ lmlight/digitalbase(vLLM / Ollama 共通、.env の LLM_BACKEND で切替)。PostgreSQL(pgvector)と LLM はイメージに含まれない。配備の正本は docker-compose.yml。要 Docker Compose v2.24 以降。
mkdir digitalbase && cd digitalbase
curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/docker-compose.yml -o docker-compose.yml
docker compose up -d
起動したら http://localhost:8000 を開く(admin@local / admin123)。
- 設定は同じディレクトリの
.env(無くても動く)。雛形はdocker.env.example。APP_PORT/LLM_BACKEND=ollama|vllm/DB_IMAGE_TAG/DB_PASSWORDのほか、OPENAI_API_KEYなど.envの全行がアプリに渡る - 既定はホスト側の Ollama(11434)/vLLM(8080 / 8081)に繋ぐ。既存の PostgreSQL / LLM は
.envのDATABASE_URL/OLLAMA_BASE_URL/VLLM_BASE_URL/VLLM_EMBED_BASE_URLで指定(dbサービスは消してよい) - データは
data/(ファイル・レイク・license.lic・自動生成する鍵・バックアップ)とpostgres-data/(DB)、stt-model/whisper/(文字起こしのモデル、任意)。バックアップは画面かコマンドで作る(バックアップと復元 › Docker の場合) - 更新は
docker compose pull && docker compose up -d、停止はdocker compose down。本番はDB_IMAGE_TAG(20261005.2の形)でバージョンを固定
GPU で vLLM も同梱する
NVIDIA GPU + NVIDIA Container Toolkit のホストでは、vLLM(chat / embed)も同じ compose で起動できる。.env の COMPOSE_PROFILES=cuda で有効になり、install-docker.sh --platform cuda がこれと LLM_BACKEND=vllm を書く。以後は素の docker compose up -d / down でも同じ構成になる。
モデルは初回に Hugging Face から取得し hf-cache/ に残る。.env の ENGINE_CHAT_MODEL(既定 Qwen/Qwen3-1.7B)/ VLLM_EMBED_MODEL(既定 Qwen/Qwen3-Embedding-0.6B)/ LLM_CONTEXT_LENGTH / VLLM_IMAGE_TAG / HF_TOKEN で調整。
install-docker.sh
curl | bash で済ませる場合。compose ファイルを ~/digitalbase(DB_INSTALL_DIR)に置き、.env が無ければ雛形から作って pull → up -d。再実行で更新(.env とデータは保持)。
curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-docker.sh | bash
vLLM も同梱する場合は --platform cuda を付ける(none で外す)。
curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-docker.sh | bash -s -- --platform cuda
バージョンを固定する場合は --version を付ける(latest で戻す)。
curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-docker.sh | bash -s -- --version 26.10.124
ポートを変える場合は --port を付ける。
curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-docker.sh | bash -s -- --port 8080
- 指定はいずれも
.envに記録され、次からは付けなくてよい - イメージが取れない・GPU の環境が無いなどで進められない時は、何も変えずに終わる
- 同じ名前(既定
digitalbase)の構成が別のディレクトリで動いていると止まる。2 つ目を並べる時は.envにCOMPOSE_PROJECT_NAMEとAPP_PORTを書く
手動でのデータベース作成
同梱の db を使わず既存の PostgreSQL(RDS 等)に繋ぐ場合、superuser/DBA が一度だけ実行する。
curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/db_setup.sh | DB_PASS=<任意のパスワード> bash
または superuser で SQL を実行する。CREATE EXTENSION vector は RAG(ベクトル検索)の前提。
CREATE USER digitalbase WITH PASSWORD '<任意のパスワード>';
CREATE DATABASE digitalbase OWNER digitalbase;
\c digitalbase
CREATE EXTENSION vector;
スキーマ・テーブル・初期管理者はアプリ起動時に自動作成。
pgvector が無い場合は RAG のみ停止。後から拡張を作成したら管理画面 > 登録管理 > RAG 検索強化 の 「有効化」 を押す。
Kubernetes
専用 chart は配布なし。lmlight/digitalbase:<tag> を自前のマニフェストで配備(compose と同じ構成)。
- 設定は環境変数(
.envと同じ名前)。DATABASE_URLと鍵類は Secret、他は ConfigMap /app/dataは PVC(ファイル・license.lic・自動生成する鍵。1 Pod で ReadWriteOnce)- PostgreSQL(pgvector)と vLLM / Ollama は別 Pod またはクラスタ外。URL を環境変数で渡す
- ライセンスは subscription。Secret を
/app/data/license.licに mount するか、起動後に管理画面から upload(永続版はハードウェアに紐付くため、Pod が別のノードに移ると通らない) - ヘルスチェックは
GET /health
データベース(自動セットアップ)
インストーラは DB ユーザー・データベース(どちらも digitalbase)の作成と CREATE EXTENSION vector のみ実行。スキーマ・初期管理者は初回起動時、移行はアップデート時に自動。既存 DB は .env の DATABASE_URL で指定。
追加コンポーネント
別途導入するオプション機能。未導入なら対応機能のみ無効。導入は管理画面 > 登録管理 の各項目から行う。
- Linux(Bare Metal): 項目の インストール ボタンで導入する。本体は止めずに実行し、記録は
~/.local/db/component.log。root が要るもの(Office画像化・リランカー・画像・動画生成)は、本体に root / パスワード無し sudo が無ければ画面に出るコマンドをサーバー機で実行する - その他の環境 / CLI で入れる場合: 項目名の横の インストール を押すと、その環境で実行するコマンドが出る
文字起こし(Whisper)
チャットの音声添付・マイク入力、ナレッジへの音声取込に必要。管理画面 > 登録管理 > 文字起こし から導入し、DigitalBase を再起動する。
NVIDIA GPU で動かす場合は、項目名の横の インストール に出る GPU 用のコマンドを使う(Linux x86_64)。状態はモデル管理 › 補助サーバーで確認。
WAV 以外の音声・動画を扱う場合は FFmpeg も入れる。Windows はインストーラが winget で入れる。
macOS:
brew install ffmpeg
Ubuntu:
sudo apt install -y ffmpeg
RHEL 10 は標準のリポジトリに無いので、CRB と EPEL の ffmpeg-free を入れる。一部のコーデックには対応していない。
sudo subscription-manager repos --enable codeready-builder-for-rhel-10-$(arch)-rpms
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
sudo dnf install -y ffmpeg-free
チャットのマイク入力
マイク録音は HTTPS か localhost のみ。HTTP 運用時は次のいずれか:
- リバースプロキシで HTTPS 化する(推奨)
- Chrome / Edge のポリシー
OverrideSecurityRestrictionsOnInsecureOriginに DigitalBase の URL を登録する
外部の文字起こし API を使う
環境変数 で STT_ENGINE=openai と STT_OPENAI_* を設定して再起動(音声は外部 API に送信される)。
読み上げ(TTS)
チャットの回答を読み上げる。既定はブラウザ内蔵の音声。声を揃える場合は、管理画面 > 登録管理 > 読み上げ からエンジンを導入する。導入後は再起動で反映。
| エンジン | 特徴 |
|---|---|
| Kokoro(既定) | 多言語、CPU でも実用速度、Apache-2.0。日本語は女性 1 声。Linux は db-tts.service で常駐(root / パスワード無し sudo が必要、約 3GB)。それ以外の環境は Docker か Podman が必要 |
| VOICEVOX | 日本語の話者が多い。話者ごとの利用規約(クレジット表記等)を確認して使う。Docker か Podman が必要 |
Docker 版は .env の COMPOSE_PROFILES に tts を足す(例: tts / cuda,tts)と、次回以降も同じ構成で起動する。設定する値は項目名の横の インストール に出る。応答の有無はモデル管理 › 補助サーバーで確認。
Office画像化(LibreOffice)
Office 文書をページ画像にして図・レイアウトを読み取る。旧形式(.xls / .doc / .ppt)に必須。管理画面 > 登録管理 > Office画像化 から導入する。再起動は不要で、状態も同じ項目で確認できる。
- Docker イメージは同梱済み
- RHEL 10 は dnf に LibreOffice が無いので、公式の AppImage を
~/.local/db/toolsに自動で展開する(x86_64 のみ)
カスタム MCP ランタイム
Python で書いた MCP サーバーを本体から起動するための土台。管理画面 > 登録管理 > カスタム MCP ランタイム から導入し、DigitalBase を再起動する。
検索リランカー(Reranker)
ナレッジ検索の候補を再採点して精度を上げる。vLLM 版は管理画面 > 登録管理 > RAG 検索強化 の リランカー から導入・削除でき、.env まで設定される。導入後は再起動で有効化。
Ollama / SGLang 版は手動で設定する。状態はモデル管理 › 補助サーバーで確認。
画像・動画生成(vLLM-Omni)
Linux + systemd(vLLM 版)で画像・動画生成サーバーを同じ機に常駐させる。管理画面 > 登録管理 > 画像・動画生成 から導入・削除できる。コマンドでの手順はモデル管理 › インストーラーで導入。
GPU 監視(DCGM exporter)
モデル管理画面に GPU の使用率・温度・電力・VRAM を表示。手順は モデル管理 › GPU 監視(DCGM) を参照。