Runbook : app ne démarre pas ou ne répond pas

Le déploiement a réussi mais l'app ne répond pas. Méthode d'investigation, causes probables.

Vérifier l'état des process

$ paas ps:list --app monsite
TYPE   COUNT  STATE
web    1/2    crash-loop
worker 1/1    running

crash-loop indique que le pod redémarre en boucle. C'est presque toujours un crash applicatif.

Lire les logs runtime

$ paas logs --app monsite --tail
$ paas logs --source web --num 200 --app monsite

Causes probables

Variable d'environnement manquante

KeyError: 'STRIPE_SECRET_KEY'

Vérifiez que les secrets et variables sont bien définis :

$ paas config:list --app monsite
$ paas secrets:list --app monsite

Process web qui n'écoute pas sur $PORT

healthcheck failed: connection refused on port 8080

Votre app doit écouter sur le port défini par la variable $PORT, pas sur un port codé en dur. Exemple Express : app.listen(process.env.PORT || 3000).

Base de données injoignable

could not connect to server: Connection refused

Vérifiez l'état du Postgres attaché :

$ paas addons:list --app monsite
$ paas addons:info db-12345

Commande release qui échoue

release command failed: migrations failed

Si la commande release est défaillante, le déploiement est abandonné. Vérifiez les logs de la release :

$ paas releases:logs v48 --app monsite

Rollback rapide

Si le problème est urgent et que vous ne pouvez pas le diagnostiquer rapidement, ramenez la version précédente :

$ paas releases:rollback v47 --app monsite
✓ rollback v48 → v47 effectué en 18 s

Vérifier la status page

S'il y a un incident plateforme : status.di2amp.com.