Hey @hangman2! First of all, that should actually read Check 'alive' for group 'telegram' has no internal port set and there is no http_service to refer to
. That is, the check name and group name are transposed. That’s a bug in flyctl
!
Top-level checks (i.e., those defined in the [checks]
section) are not associated with a particular service. Therefore, you generally need to provide an explicit port to connect to like this:
[checks.alive]
...
port = 3000
As a convenience, if no port is defined, it will use your http_service
’s internal port.
Top-level checks also by default apply to all processes in your app. EDIT: My bad! Top-level checks apply only to your default process group. That’s app
if present (or if no processes are defined) and the first lexicographically otherwise. In your case, that’s telegram
. The suggested fix below should still work.
The error here is that the alive
check you have defined applies to all processes and has no port set, so it will default to using the http_service
; however, the http_service
does not apply to the telegram
and worker
processes.
EDIT: Perhaps you want to limit the alive
check to the web
process group, like this?
[checks.alive]
...
processes = ["web"]