Kestra Server CLI​Kestra ​Server ​C​L​I

This page describes the different server commands available in Kestra.

Kestra leverages five different server components. The kestra server command allows to start them individually, or run an all-inclusive standalone server.

Separate server components

Executor

./kestra server executor

Options:

  • --skip-executions: the list of execution identifiers to skip. Use it only for troubleshooting e.g. when an execution cannot be processed by Kestra.

Indexer

./kestra server indexer

Scheduler

./kestra server scheduler

Worker

./kestra server worker

Options:

  • -t or --thread: the number of threads that can handle tasks at the same time. By default, the worker will start 2 threads per CPU core available.
  • -g or --worker-group: the key of the worker group if using Worker Group (EE).

Webserver

./kestra server webserver

Kestra standalone, all server components in one process

./kestra server standalone

This server is a special server, since it will contain all the server components in one JVM. This works well for development or small-sized environments.

Options:

  • -f or --flow-path: the path to a directory with YAML flow files. These files will be loaded to the repository at startup.
  • --worker-thread: the number of worker threads. By default, the embedded worker will start 3 threads or a single thread per CPU core when more than 3 CPU cores are available.
  • --skip-executions: the list of execution identifiers to skip. Use it only for troubleshooting e.g. when an execution cannot be processed by Kestra.

Kestra local, development server with no dependencies

./kestra server local

This server is a local development server. It will contain all server components in one JVM, and use a local database (H2), and a local storage - perfect to start a development server. Data will be saved in the data directory within the current working directory.

Options:

  • -f or --flow-path: the path to a directory with YAML flow files. These files will be loaded to the repository at startup.
  • --worker-thread: the number of worker threads. By default, the embedded worker will start 3 threads or a single thread per CPU core when more than 3 CPU cores are available.

Kestra with server components in different services

Server components can run independently from each other. Each of them communicate through the database.

Here is a example Docker Compose configuration file running Kestra services with replicas on the Postgre database backend.

Docker Compose Example

In production you might run a similar pattern either by:

  1. Runing Kestra services on dedicated machines. For examples, running the webserver, the scheduler and the executor on one VM and running one or more workers on other instances.
  2. Using Kubernetes and Helm charts. Read more about how to set these up in the documentation.

Options for all server commands

Log Level

Log level can be changed with two options:

  • -l or --log-level: possible values: [TRACE, DEBUG, INFO, WARN, ERROR], default: INFO
  • -v or --verbose: for DEBUG, -vv for TRACE

These options affect global log levels for all flows only.

Internal Log

--internal-log: Kestra hides internal logs by default. Use this option to enable these logs.

Configuration Files

-c or --config: You can change the location of Kestra configuration files, the default is ~/.kestra/config.yml.

Plugins directory

-p or --plugins: Path to the plugins directory. The default is the plugins directory located in the same directory as the Kestra executable.

Server port

--port: The server port, the default is 8080.

Was this page helpful?