Creating apps (deployments? services?) with the CLI

Noob… apologies!

Koyeb is interesting.

I’ve a strong preference for CLI > UI.

I was able to deploy an app using the UI but would prefer to do this using the CLI.

It’s unclear to me:

  1. Whether it’s possible to use the CLI to deploy an app
  2. Deploy an application uses app init flags. Is the CLI fully-equivalent to the UI for app deployment?
  3. Is there an app spec (YAML?) that fully defines apps and can be used with the CLI?
  4. After deploying an app, I can app list, service list and deployment list; the difference between these resource types is unclear (documented?)

My primary cloud platform is Google but I deploy to Azure, Linode, Vultr and Fly also.


We are currently working on the CLI to improve it. Currently it’s working, but the experience using it is far from ideal.

At the moment, it is possible to deploy applications with koyeb app init or koyeb app create then koyeb service create.

For examples, you can run the help subcommand or checkout our custom github action which wraps the CLI.

It is not possible to have an app spec that defines the application but it’s a great idea!

Regarding the differences between the app, service and deployment:

  • services are inside applications, and can communicate between each other directly. For example, if the services api and worker are in the same application, they can use the private domains api or worker to reach each other.
  • the deployment defines how your application runs: if you update a service with a scale of 4, we will create a new deployment for your service, and 4 “regional deployments”: one per instance running your service. With koyeb deployment list , you can see a revision history of your service.
1 Like

This is very helpful, thank you!

I did not see this explanation in the service’s documentation and think, if it’s not currently explained there, that it would be helpful information to include.

1 Like