Node.js
サンプルリポジトリを使用するには、MyKinstaアカウントを作成する必要があります。GitHubリポジトリから弊社ウェブアプリケーションサーバーに以下Node.jsアプリケーションをデプロイ、セットアップする方法をご紹介します。
Node.js
- MyKinstaにログインし、「アプリケーション」>「アプリケーションを追加」をクリックして、「Gitリポジトリ」および「パブリックリポジトリ」を選択します。また、以下を設定してください。
- リポジトリ:https://github.com/kinsta/hello-world-nodejs
- デフォルトのブランチ:main
- 「名前」を入力し、「ロケーション」を選択します。「リソース」フィールドからPodサイズを選択して、「作成とデプロイ」をクリックします。
デプロイに際し、ウェブプロセスのstartコマンドが自動検出され、package.jsonファイルで定義された依存関係も自動インストールされます。デプロイ完了後、すぐにアプリケーションをご利用いただけます。アプリケーションのURLには、Kinstaのウェルカムページが表示されます。

Node.jsアプリのデプロイ方法について動画での解説もご用意しています。
ウェブサーバーのセットアップ
ポート
PORT
環境変数は自動的に設定されるため、お客様ご自身で定義したり、アプリケーションにハードコーディングで記述したりする必要はありません。サーバーポートを参照するには、以下のようにprocess.env.PORT
を使用してください。
app.listen(process.env.PORT, () => {
console.log(`Hello World Application is running on port ${process.env.PORT}`)
})
startコマンド
アプリケーションをデプロイすると、startコマンドとして自動的にnpm start
を持つウェブプロセスが検出されます。サーバーを実行にはこのコマンドを使用します。別のコマンドを使用する場合は、MyKinstaでウェブプロセスの編集を行ってください。
"scripts": {
"start": "node server.js"
},
環境変数
Node.jsアプリケーションのNODE_ENV
環境変数は、デフォルトでproduction
に設定されていないため、追加が必要になります。
デプロイメントライフサイクル
デプロイメントを開始すると(アプリケーションの作成、またはコミットの失敗による再デプロイ)、npm build
コマンド、その後にnpm start
コマンドが実行されます。
Dockerfileを使用したNode.jsアプリケーション
- MyKinstaにログインし、「アプリケーション」>「アプリケーションを追加」をクリックして、「Gitリポジトリ」および「パブリックリポジトリ」を選択します。また、以下を設定してください。
- リポジトリ:https://github.com/kinsta/hello-world-dockerfile-nodejs
- デフォルトのブランチ:main
- 「名前」を入力し、「ロケーション」を選択します。「リソース」フィールドからPodサイズを選択して、「作成とデプロイ」をクリックします。
Dockerfileには、startコマンドをCMD
行またはENTRYPOINT
命令のいずれかに含める必要があります。デプロイの完了後は、すぐにアプリケーションをご利用いただけます。アプリケーションのURLには、Hello Worldページが表示されます。

デプロイメントライフサイクル
弊社では、アプリケーション作成時にCMD
の命令からプロセスを作成します。
CMD ["npm", "run", "start"]
リポジトリでこの命令を変更しても、プロセスは自動的に更新されないため、MyKinsta内アプリケーションの「プロセス」画面でstartコマンドも編集する必要があります。プロセスを編集する必要があります。
メール送信用のNode.jsアプリケーション
弊社ウェブアプリケーションサーバーを利用して、GitHubリポジトリからSendGrid経由でメールを送信するNode.jsアプリケーションをデプロイ、セットアップする方法の一例をご紹介します。
弊社では、サーバーからのアウトバウンドのメールを標準でサポートしていません。SendGridまたはMailchimpなどのようなメール送信サービスを経由してメールを送信すると、トランザクションやキャンペーンメールのより高い柔軟性と成功率が期待できます。
- MyKinstaにログインし、「アプリケーション」>「アプリケーションを追加」をクリックして、「Gitリポジトリ」および「パブリックリポジトリ」を選択します。また、以下を設定してください。
- リポジトリ:https://github.com/kinsta/hello-world-email-nodejs
- デフォルトのブランチ:main
- 「名前」を入力し、「ロケーション」を選択します。「リソース」フィールドからPodサイズを選択して、「作成とデプロイ」をクリックします。
- アプリケーションを作成したら、「環境変数」>「環境変数を追加」をクリックして、以下を追加します。
SENDGRID_API_KEY
:SendGridからのAPIキーTEST_EMAIL_TO_ADDRESS
:テストメールの送信先アドレスTEST_EMAIL_FROM_ADDRESS
:テストメールの送信元アドレスTEST_ENDPOINT
:テストメールを送信するトリガーとして使用するエンドポイント。少なくとも8文字のランダムな文字列を使用してください。
- 「デプロイメント」>「デプロイする」>「アプリケーションをデプロイ」をクリックします。
デプロイの完了後は、すぐにアプリケーションをご利用いただけます。アプリケーションのURLには、Hello Worldページが表示されます。

メール送信のトリガー
ビルドのフェーズは不要です。startコマンドでnode server.js,
を実行し、2つのエンドポイントのあるExpressサーバーが起動します。
/
:Hello Worldメッセージを返すシンプルなページ/${TEST_ENDPOINT}
:テストメールをトリガーするページ
メールをトリガーするには、「デプロイメント」画面で確認できるデプロイのURLにテストエンドポイントを追加し、そのページにアクセスしてください。例えば、TEST_ENDPOINT
がo34nifnodhni4of
に設定され、最近のデプロイが「https://example.kinsta.app」にある場合は、ブラウザで「https://example.kinsta.app/o34nifnodhni4of」からテストメールを起動することができます。
テストメールが正常に送信されると、その旨を伝えるメッセージが表示されます。

SendGridで確認すると、以下のような受信完了メッセージが表示されます。
