Server CLI
Reference for 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.
In production you might run a similar pattern either by:
- 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.
- 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
: forDEBUG
,-vv
forTRACE
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.
This option enables logs of very high verbosity.
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?