---
title: "インストール"
description: "単一の Docker イメージが API・MCP・Web インターフェースをポート 3000 で提供し、単一の /data ボリュームがすべての状態を保持します。"
---

# インストール

Notarium は**単一の自己完結型イメージ**として配布されます。ひとつの Node プロセスが、REST API、エージェント向けの MCP エンドポイント、そしてビルド済みの Web インターフェースを、単一のポート(デフォルトは `3000`)でまとめて提供します。外部サービスは一切不要です — データベースも、メッセージブローカーも、独立した検索エンジンも要りません。ナレッジエンジンは同じプロセスの中で動きます。状態はすべて単一の `/data` ボリュームに収まります。メタデータデータベース、派生インデックス、あなたの Markdown ファイル(信頼できる唯一の情報源)、そしてエクスポート成果物です。

> [!note] 必要なもの
> **Docker**(または Docker Desktop)と空きポートだけです。Node もデータベースもベクトルインデックスも、別途インストールする必要はありません — すべてイメージの中に入っています。

## イメージを起動する

いちばん手早いのは、ビルド済みイメージからコンテナを立ち上げることです。

```bash
docker run -d --name notarium \
  -p 3000:3000 \
  -v notarium-data:/data \
  docouno/notarium:latest
```

単一の `/data` ボリュームがすべての状態を保持します。メタデータデータベース、インデックス、あなたのノート、そしてエクスポート成果物です。ほかに設定するものはありません — ポート `3000` とデータパス `/data` はすでにイメージに組み込まれています。ボリュームはコンテナを作り直しても残りますし、`:3000` の左側のポートは任意の空きポートに変更できます。

`docker run` にコマンドを書き足す必要はありません。イメージのエントリーポイントは組み込みの `notarium` CLI で、デフォルトでは `start` を実行します。オペレーター向けのコマンド — `backup`、`restore`、`admin`、`healthcheck`、`version` — も同じ CLI から実行します。[イメージCLI](/docs/self-hosting/cli/) を参照してください。

## Docker Compose を使う

長く使い続けるつもりのインスタンスなら、compose ファイルのほうが編集しやすくバージョン管理にも載せやすいですし、`restart` を書いておけばホストの再起動後にコンテナが自動で戻ってきます。

```yaml
services:
  notarium:
    image: docouno/notarium:latest
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - notarium-data:/data

volumes:
  notarium-data:
```

これを `compose.yaml` として保存し、`docker compose up -d` で立ち上げます。名前付きボリューム `notarium-data` はコンテナとは独立して存在します。`docker compose down` を実行しても残り、削除できるのは `docker volume rm` を明示的に実行したときだけです。

> [!note] 設定もここに書く
> 環境変数はサービスの `environment:` ブロックに書きます。別ファイルにまとめておきたい場合は、同じ場所に `env_file: .env` の行も足してください。compose ファイルの隣に `.env` を置いただけでは、その中身はコンテナに**届きません**。Docker Compose がそれを差し込むのは、compose ファイル自身のテキストに対してだけだからです。完全な一覧は [環境変数](/docs/reference/environment-variables/) にあります。

## 初回起動

`http://localhost:3000` を開くと、**初回起動のセットアップ画面**が迎えてくれます。デフォルトではインスタンスは `password` モードで動き、最初の訪問者が**オーナー** — 管理者権限を持ち、自分が作成したスペースの所有者にもなる唯一のアカウント — を作成します。あらかじめ設定されたパスワードはありません。オーナーの登録が済めば、セットアップは二度と開きません。モードの詳細は [認証](/docs/self-hosting/authentication/) を参照してください。

## データボリューム

| ボリューム | 保持するもの | 性質 |
|---|---|---|
| `/data` | あなたの Markdown ファイル(`/data/spaces`、スペースごとに 1 フォルダ)、メタデータデータベース(`/data/meta.db` — 識別子、バージョン履歴、ユーザー、アクセス権)、エンジンの派生インデックス(`/data/engine`)、そしてエクスポート成果物。 | ファイルが信頼できる唯一の情報源です(file-first 原則)。メタデータデータベースはファイルから導き出せません。インデックスは派生物であり、再構築すれば元に戻ります。 |

守るべきはボリュームそのものです。これを失えば、データもろとも失われます。`/data/engine` のインデックスは、失われてもファイルから作り直せますが、メタデータデータベース(`/data/meta.db` — 履歴、ユーザー、アクセス権)とノートそのもの(`/data/spaces`)は、どこからも復元できません。これらのバックアップは必須です。サービスを止めずに検証済みのバックアップを取る方法は、[バックアップとリストア](/docs/self-hosting/backup/) にあります。

## ソースからビルドする

Notarium のリポジトリで作業しているなら、Docker の唯一のエントリーポイントは `make` です。

```bash
cp .env.example .env   # デフォルト値のままで動く — 記入するものはない
make up                # 本番イメージをローカルで → http://localhost:3000
make dev               # ホットリロード(HMR)付きの dev スタック
```

便利なコマンド: `make logs`(ログ)、`make ps`(ステータス)、`make down`(停止して削除)、`make sh`(コンテナ内のシェル)。

## レジストリなしのインストール(エアギャップ環境)

隔離された環境へデプロイする場合は、レジストリにアクセスせず、イメージをファイルとして持ち込めます。

```bash
make image                              # イメージをビルド
make save                               # notarium-<version>.tar.gz へエクスポート
# アーカイブを対象ホストへ移し、そこで:
docker load < notarium-<version>.tar.gz # イメージをロード
```

あとは自前の `compose`/`.env` で起動してください。レジストリの参照先はイメージに焼き込まれていません。

次のステップは、インスタンスを自分の用途に合わせて調整することです。[設定](/docs/self-hosting/configuration/) を参照してください。
