DigitalBase Docs

インストール

DigitalBase の導入から起動まで。API とフロントエンドを同梱した単一構成で、ポート 8000 で動作。

対象:管理者必要権限:サーバ管理権限エディション:vLLM 版 / Ollama 版

エディションと導入方法

vLLM 版(Linux + NVIDIA GPU)と Ollama 版(Linux / macOS / Windows)の 2 エディション。機能は同じで、ローカル LLM のバックエンドのみ異なる。

エディション環境スクリプトインストール先
vLLM 版Linux + GPUinstall-linux-vllm.sh~/.local/db
Ollama 版Linuxinstall-linux.sh~/.local/db
Ollama 版macOSinstall-macos.sh~/.local/db
Ollama 版Windowsinstall-windows.ps1%LOCALAPPDATA%\db
vLLM 版 / Ollama 版pip / uvuvx digitalbase~/.local/db
vLLM 版 / Ollama 版Dockerdocker-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 用)
ローカル LLMNVIDIA 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 運用時は次のいずれか:

  1. リバースプロキシで HTTPS 化する(推奨)
  2. 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) を参照。

次に読む