コンテンツにスキップ
Dashboard

サービス

サービスは、SnapVM がマシン上で管理すべきプロセスを記述する仕組みです。ブラウザ切断後やマシン復帰後も期待通りに起動してほしいものに使います。

一時的なコマンドではなく、ワークスペースの一部として扱いたいプロセスはサービスにします。

よくある例:

  • ポート 8080 の Web サーバー
  • ローカルデータベースまたはキュー
  • バックグラウンドワーカー
  • ファイルウォッチャー
  • AI エージェントプロセス
  • 言語サーバーやプロジェクト固有のデーモン

一般的なサービス定義には次の情報があります。

フィールド目的
名前コンソールで表示される安定した識別子
コマンド実行するプログラム
引数コマンドに渡すパラメータ
作業ディレクトリプロセスの開始ディレクトリ
環境変数プロセスに必要な変数
HTTP ポートゲートウェイで公開するポート
依存関係先に起動すべき他のサービス

サービスは作成、更新、開始、停止、再起動、削除できます。デプロイによっては PID、稼働時間、終了ステータス、再起動回数などの状態を確認できます。

マシンがハイバネーションすると、プロセスはランタイムとともに停止します。マシンが復帰すると、サービス定義により期待するプロセスを予測可能な形で再起動できます。

  • シェル履歴や対話的プロンプトに依存しない明示的なコマンドにします。
  • 長い一回限りのコマンドより、npm run devbin/server のようなプロジェクト内スクリプトを優先します。
  • シークレットはドキュメントやコミット済みサービス定義に書かず、デプロイが提供する秘密情報管理を使います。
  • ヘルスチェックやログで正常起動を確認します。
  • ゲートウェイとチームメンバーが扱いやすいよう、ポートは安定させます。