startコマンド
startコマンドはアプリケーションの起動に必要なコマンドです。Nixpack、Buildpack、Dockerfileのいずれを使用し作成したアプリケーションであっても、必ず必要になります。startコマンドはアプリケーションの言語によって異なる場合があります。以下に一般的なプログラミング言語の例をご紹介します。
Nixpackのstartコマンド
アプリケーションをNixpackを用いて作成すると、アプリケーションのリポジトリの内容に基づいてstartコマンドが推測されます。または、アプリケーションを追加するときに「リソース」のステップで「startコマンド」を指定することもできます。
Buildpackのstartコマンド
アプリケーションをBuildpackを用いて作成すると、アプリケーションのリポジトリの内容に基づいてstartコマンドが推測されます。または、アプリケーションを追加するときに「リソース」のステップで「startコマンド」を指定することもできます。
Dockerfileのstartコマンド
アプリケーションでDockerfileを使用してコンテナイメージをセットアップした場合、コンテナを実行するにはDockerfileでENTRYPOINTまたはCMD命令を指定する必要があります。アプリケーションの命令を指定する方法について詳しくは、DockerfileリファレンスまたはDockerfileの記述に関するベストプラクティスをご覧ください。
コマンドの連結
複数のstartコマンドを追加するには、&&を使用することができます。その結果、例えば以下のような記述になります。
command one && command twostartコマンドの表示と編集
「プロセス」>「ランタイムプロセス」に移動し、「ウェブプロセス」を編集して「startコマンド」を変更することができます。その後、変更後の「startコマンド」を使ってアプリケーションが自動でデプロイされます。
startコマンドの言語別の例
Python
Python
python3 main.pyDjango
gunicorn .wsgiGo
bin/<repo name>PHP
PHP
heroku-php-apache2Laravel
heroku-php-apache2 /publicphp artisan serve -- host 0.0.0.0 --port 8080Statamic
heroku-php-apache2 public/Node.js
Node.js
npm start他のコマンドを使用するには、MyKinstaのウェブプロセスを編集する必要があります。
"scripts": {
"start": "node server.js"
},Node.jsとDockerfile
アプリを作成すると、KinstaのシステムによりCMD命令に基づいてプロセスが作成されます。
CMD ["npm", "run", "start"]リポジトリでこの命令を変更しても、プロセスはデフォルトでは変更されません。そのため、MyKinsta内のアプリケーションにあるプロセスを編集する必要があります。
pnpm with a Dockerfile
Dockerファイルでpnpmを使用する場合は、PNPM_HOMEに以下の場所を使用します。
ENV PNPM_HOME="~/.pnpm"Ruby
Ruby on Rails
rails serverRuby on RailsとDockerfile
最初にアプリケーションを作成すると、Kinstaのシステムにより、ENTRYPOINT命令からプロセスが作成されます。
ENTRYPOINT ["entrypoint.sh"]リポジトリでこの命令を変更しても、プロセスはデフォルトでは変更されません。そのため、MyKinsta内のアプリケーションにあるプロセスを編集する必要があります。
Java
アプリケーションをデプロイすると、リポジトリルートにあるProcfileに基づいてプロセスが自動的に作成されます。
Scala
target/universal/stage/bin/ -Dhttp.port=$PORT