Crowi

はじめに

Crowi 2.0 をローカルで動かすまでの 5 分間クイックスタート

このページでは、Crowi 2.0 (コードネーム Reignite) を手元のマシンで 起動するまでの最短手順を説明します。所要時間はおよそ 5 分です。

注意: Crowi v2 は現在 alpha 開発中です。安定版リリースはまだ ありません。本番環境では使用しないでください。 ここで説明するのは あくまで開発・評価用のローカル起動手順です。本番向けの詳細な インストールは インストール を参照して ください。

動作環境

ローカル開発には以下が必要です。

ソフトウェアバージョン用途
Node.js24.xランタイム (リポジトリの .nvmrc / engines で固定)
pnpm9.15.9 (corepack 経由)パッケージマネージャ (monorepo は pnpm workspaces)
Docker / Docker Compose最新MongoDB / Redis / Elasticsearch / PlantUML をコンテナで起動

Crowi 本体が必要とするミドルウェア (MongoDB / Redis / Elasticsearch / PlantUML) は、リポジトリ同梱の docker-compose.yml でまとめて立ち上げる ため、個別にインストールする必要はありません。

Tip: Node.js のバージョンは .nvmrc24 と記載されています。 nvm を使っているなら、リポジトリのルートで nvm use を実行すると 正しいバージョンに切り替わります。

1. リポジトリの取得

git clone https://github.com/crowi/crowi.git
cd crowi

2. 依存パッケージのインストール

pnpm install

pnpm install の過程で lefthook の Git フック (pre-commit / pre-push) も 自動でセットアップされます。

3. ミドルウェアの起動

docker compose up -d で、開発に必要なミドルウェアをバックグラウンドで 起動します。

docker compose up -d

デフォルトでは以下の 4 サービスが立ち上がります。アプリ本体 (api / web) はホスト側で pnpm dev から起動するため、ここでは含まれません。

サービスポート用途
MongoDB27017ページ・リビジョン・ユーザーなどの永続化先
Redis6379セッション / リアルタイム共同編集の pub/sub
Elasticsearch9200全文検索バックエンド (任意)
PlantUML8080PlantUML 図のレンダリングサーバ (任意)

4. 環境変数ファイルの用意

リポジトリルートの .env.example.env にコピーします。api は起動時に ルートの .envdotenv で読み込みます。

cp .env.example .env

ローカル開発では .env.example の初期値のままでも起動できますが、 CROWI_ENCRYPTION_KEY の設定を強く推奨します。未設定の場合、機密設定 (OAuth シークレットなど) が平文で保存され、起動時に警告が出ます。

pnpm --filter @crowi/api crypto:gen-key

で 32 バイトの AES-256 鍵を生成し、出力値を .envCROWI_ENCRYPTION_KEY に貼り付けてください。詳細は 設定の暗号化 を参照してください。

5. 開発サーバの起動

pnpm dev

pnpm dev は Turborepo 経由で api・web・各プラグインを並行起動します。 api は tsx watch で起動するため、初回起動はおよそ 1 秒で完了します (以前の ts-node + nodemon 構成では約 30 秒かかっていました)。起動後、 以下の URL でアクセスできます。

サービスURL
Web (フロントエンド)http://localhost:4302
APIhttp://localhost:4301

ブラウザで http://localhost:4302 を開くと Crowi の画面が表示されます。 初回はインストーラ画面が出るので、管理者ユーザーを作成してください。

片側だけ起動したい場合は、次の絞り込みスクリプトも使えます。

pnpm dev:api     # api + プラグインのみ (Next.js なし)
pnpm dev:web     # Next.js フロントエンドのみ
pnpm dev:site    # crowi.wiki LP + ドキュメント (このサイト、:4303)

次のステップ

On this page