MyKinstaでは、startコマンドを使用してアプリケーションを実行します。ビルドパックDockerfileで構築したアプリケーションを含め、すべてのアプリケーションに必須のコマンドです。startコマンドは、アプリケーションの言語によって異なるため、以下にいくつかの主要言語の例をご紹介します。

アプリケーションをビルドパックで構築する場合、アプリケーションを追加する際、「リソース」セクションでstartコマンドを指定することができます。指定がないと、リポジトリに基づいてstartコマンドが推測されます。複数のstartコマンドを追加するには、&&でコマンドを連結してください(例:command one && command two)。

Dockerfileを使用してコンテナイメージを設定するには、コンテナの実行にDockerfileでENTRYPOINTを指定します。アプリケーションのENTRYPOINTを指定する方法についてはこちらをご覧ください

startコマンドは、「デプロイメントの詳細」セクションで確認することができます。アプリケーションの「デプロイメント」>「履歴」に移動し、デプロイメントを選択して、画面下にある「ロールアウトプロセス」を展開してください。

ロールアウトプロセス完了
ロールアウトプロセス完了
ロールアウトプロセス失敗
ロールアウトプロセス失敗

Python

  • Pythonpython3 main.py
  • Djangogunicorn .wsgi

Go

Gobin/<repo name>

PHP

  • PHPheroku-php-apache2
  • Laravel :
    • heroku-php-apache2 /public
    • php artisan serve --host 0.0.0.0 --port 8080
  • Statamicheroku-php-apache2 public/

Node.js

Node.js

npm start

これ以外のコマンドを使用するには、ウェブプロセスの変更が必要になります。

"scripts": {
"start": "node server.js"
},

Dockerfileを使用したNode.jsアプリケーションの構築

Kinstaでは、アプリ作成時に、CMDコマンドからプロセスを作成します。

CMD ["npm", "run", "start"]

リポジトリでこのコマンドを変更しても、デフォルトでは変更されないため、アプリケーションの「プロセス」画面での編集が必要です。

Ruby

Ruby on Rails:初めてのアプリケーション構築時に、ENTRYPOINTコマンドからプロセスを作成します。

ENTRYPOINT ["entrypoint.sh"]

リポジトリでこのコマンドを変更しても、デフォルトでは変更されないため、アプリケーションの「プロセス」画面での編集が必要です。

Java

Java:アプリケーションをデプロイすると、リポジトリのルートにあるProcfileに基づき自動でプロセスが作成されます。

Scala

Scalatarget/universal/stage/bin/ -Dhttp.port=$PORT