メインコンテンツへスキップ

サーバーの起動

blocklet server start コマンドは、Blocklet Server インスタンスを起動するための主要な方法です。必要なすべてのコンポーネントをバックグラウンドのデーモンプロセスとして初期化して実行し、サーバーとその Blocklet にアクセスできるようにします。

基本的な使用法

設定ディレクトリからサーバーを起動するには、単に次を実行します:

Basic Start Command

bash
blocklet server start

起動が成功すると、コマンドはサーバーのダッシュボードへのアクセス URL を出力します。

起動プロセス

blocklet server start を実行すると、CLI は一連の重要なタスクを実行して、サーバーが正しく一貫した状態で起動することを保証します。このプロセスを理解することは、設定やトラブルシューティングに役立ちます。

Start Server

  1. バージョンチェック

    CLIはまず、そのバージョンがサーバーの config.yml ファイルで指定されたバージョンと互換性があることを確認し、潜在的な競合を防ぎます。

  2. データベースのマイグレーション

    バージョンのアップグレードが検出された場合、CLIは必要なデータベーススキーマとデータのマイグレーションを自動的に実行し、データベースが最新であることを保証します。

  3. 設定の同期

    config.yml の設定とデータベースに保存されている設定を比較します。差異が見つかった場合は、警告を発します。

  4. 依存関係のチェック

    サーバーは、RedisやPostgreSQLなどの必要なサービスが利用可能であることを確認し、設定されていれば(例えばDocker経由で)それらを起動しようと試みます。

  5. プロセスの起動

    PM2を使用して、CLIはコアとなるバックグラウンドプロセスを起動します。これには、メインの Daemon(Webリクエストとルーティングを処理)、Blocklet Service(Blockletのライフサイクルとサービスを管理)、および Event Hub(プロセス間通信を促進)が含まれます。

  6. Blockletの再開

    サーバーが最後に停止される前に running 状態だったBlockletは、自動的に再起動されます。

  7. URLの出力

    すべてのプロセスが正常に実行されていることが確認されると、CLIはサーバーダッシュボードへのアクセスURLを出力します。

コマンドオプション

以下のフラグを使用して、起動時の動作を変更できます:

オプション説明
--update-dbサーバーに config.yml の値からデータベース設定を強制的に更新させます。これは、設定ファイルを手動で編集し、変更を反映させたい場合に便利です。
--auto-init現在のディレクトリに Blocklet Server インスタンスが見つからない場合、このフラグは起動前に自動的にインスタンスを初期化します。これは、単一のコマンドで新しいサーバーをセットアップして実行する便利な方法です。
--force-intranetサーバーをイントラネットモードで実行するように制限し、外部IPアドレスを無視してローカルネットワークアクセスURLのみを提供します。
--mode <mode>特定の運用モードでサーバーを起動します。例えば、--mode maintenance を使用すると、サーバーはメンテナンスモードで起動します。

例: 設定の更新

サーバーポートなど、config.yml の設定を変更した場合、変更を適用するには --update-db フラグを使用する必要があります。

Applying Configuration Changes

bash
# 1. サーバーが実行中の場合は停止します
blocklet server stop

# 2. フラグを付けてサーバーを再起動し、設定変更を適用します
blocklet server start --update-db

例: 自動初期化

空のディレクトリで新しいサーバーインスタンスを素早く立ち上げるには:

Quick Setup with Auto-Init

bash
# これにより、.blocklet-server ディレクトリが作成され、サーバーが起動します
blocklet server start --auto-init

トラブルシューティング

サーバーの起動に失敗した場合、CLIは即座にフィードバックを提供します:

  • エラーログ: デーモンのエラーログ (daemon.stderr.log) の最後の15行がコンソールに直接出力されます。より詳細な情報については、出力に記載されている完全なログファイルを確認してください。
  • ルーターの問題: 起動の失敗は、ルーティングエンジンに関連していることがあります。blocklet server start を再度実行すると、これらの問題が解決することがよくあります。
  • 強制停止: サーバーが応答しなくなった場合は、blocklet server stop --force を実行してクリーンシャットダウンを確保してから、再度起動を試みてください。

サーバーが実行されたら、その健全性を確認し、Blockletを管理する必要があります。ステータスの確認またはサーバーの停止の方法を学びましょう。