Il comando Start è il comando di cui MyKinsta ha bisogno per avviare un’applicazione. È indispensabile per qualsiasi applicazione, sia essa creata con un buildpack o con un Dockerfile.
Quando un’applicazione viene creata con un buildpack, cerchiamo di dedurre il comando Start in base al contenuto del repository dell’applicazione, ma è anche possibile specificare il comando Start nella fase delle Risorse, quando si aggiunge l’applicazione. Per aggiungere più comandi Start, usare &&
per concatenare i comandi in questo modo: command one && command two
.
Se l’applicazione utilizza un Dockerfile per configurare l’immagine del container, è necessario specificare ENTRYPOINT
nel Dockerfile per eseguire un container. Per maggiori informazioni su come specificare l’ENTRYPOINT
dell’applicazione, si legga la documentazione del Dockerfile.
Il comando Start varia a seconda del linguaggio dell’applicazione.
Python
- Python:
python3 main.py
- Django:
gunicorn .wsgi
Go
Go bin/<repo name>
PHP
- PHP:
heroku-php-apache2
- Laravel:
heroku-php-apache2 /public
php artisan serve --host 0.0.0.0 --port 8080
- Statamic:
heroku-php-apache2 public/
Node.js
Node.js
npm start
Se si vuole utilizzare un altro comando, è necessario modificare il processo web di MyKinsta.
"scripts": {
"start": "node server.js"
},
Node.js con un Dockerfile
Quando si crea l’applicazione, Kinsta crea un processo dall’istruzione CMD
.
CMD ["npm", "run", "start"]
Se si modifica questo comando nel repository, il processo non viene modificato di default, quindi è necessario modificare il processo nei Processi dell’applicazione in MyKinsta.
Ruby
Ruby on Rails: Quando si crea l’applicazione per la prima volta, Kinsta crea un processo dall’istruzione ENTRYPOINT
.
ENTRYPOINT ["entrypoint.sh"]
Se si modifica questo comando nel repository, il processo non viene modificato di default, quindi è necessario modificare il processo nei Processi dell’applicazione in MyKinsta.
Java
Java: Quando si distribuisce un’applicazione, Kinsta crea automaticamente dei processi basati sul Procfile presente nella root del repository.
Scala
Scala target/universal/stage/bin/ -Dhttp.port=$PORT