GuidesMigrate from Render
Service keys
Most keys of a service have the same meaning on Ferry. Ferry changes some keys and ignores others.
Same meaning
name, repo, branch, rootDir, dockerfilePath, buildCommand, startCommand, staticPublishPath, healthCheckPath, numInstances, autoDeploy, schedule, domains, envVars.
Changed
| Key | On Ferry |
|---|---|
runtime (old name: env) | docker, image, node, python, go, rust, ruby, static. |
image | {url: …} or a plain string. |
dockerCommand | It becomes the start command. |
dockerContext | It becomes the root directory. dockerfilePath becomes relative to it. |
autoDeployTrigger | commit: auto-deploy on. off: auto-deploy off. |
disk | Ferry uses mountPath. |
plan | The memory and CPU limits of each instance and job run. See Plans. |
port | A Ferry key: the port that your app listens on. |
memoryLimit, cpuLimit | Ferry keys: they set the limits directly and replace the limits of the plan. |
Ignored
Ferry ignores all other keys with a warning: region, scaling, preDeployCommand, buildFilter, headers, routes, and more.
runtime: another value, such aselixir, gives a warning. Ferry then finds the runtime from your files. Add a Dockerfile.image: Ferry ignorescredswith a warning. Docker must be able to pull the image without credentials.dockerCommand: if the file also setsstartCommand, Ferry usesstartCommandand shows a warning.dockerContext: if the file setsrootDir, Ferry ignoresdockerContextwith a warning.autoDeployTrigger: withchecksPass, Ferry deploys on each commit and shows a warning.disk: Ferry acceptsnameandsizeGBand ignores them. A disk has no size limit.numInstanceson a cron job: Ferry ignores it with a warning.planon a static site: Ferry ignores it. Static sites have no plans on Render.