ReferenceBlueprint spec
Run and deploy keys
These keys set the port, the health check, the number of instances, auto-deploy and the schedule.
services:
- type: web
name: hello
port: 80 # the app listens here
healthCheckPath: / # the test before the deploy is live
numInstances: 2
- type: cron
name: nightly
schedule: "0 3 * * *" # each day at 03:00 UTCThe keys
| Key | Type | Default | Ferry setting and notes |
|---|---|---|---|
port | integer | detected | port, a Ferry key: the port of the app, 1 to 65535. |
healthCheckPath | string | TCP check | health_check_path: an HTTP path. Its answer must be below 400 before a deploy goes live. |
numInstances | integer | 1 | instances, 1 to 50. |
autoDeploy | boolean | true | auto_deploy: deploy at each push to branch. |
autoDeployTrigger | string | none | The newer key of Render. It wins over autoDeploy. |
schedule | string | required for cron | schedule: a cron expression of 5 fields in UTC, for example "*/15 * * * *" or @hourly. |
See Health checks, GitHub auto-deploy and Schedule syntax.
The values of autoDeployTrigger
| Value | Auto-deploy |
|---|---|
commit | On |
off | Off |
checksPass | On, with a warning: Ferry does not wait for checks. |
healthCheckPath: only services that listen on a port.schedule: only cron jobs.numInstances: Ferry ignores it on a cron job, with a warning.
Ferry uses the first value that it finds, in this order:
PORTfrom the environment- the hint of the build
- the one port that the image exposes
- the
--default-portof the server
A service that exists keeps its number of instances.