Standalone Server
Install Kestra on a standalone server with a simple executable file.
Overview
To deploy Kestra without Docker, there’s a standalone JAR available that allows deployment in any environment that has JVM version 21+.
Make sure that you have Java installed on your machine.
The latest JAR can be downloaded via Kestra API.
This is an executable JAR:
- For Linux & MacOS, run it with
./kestra-VERSION <command>
. - For Windows, rename the file
./kestra-VERSION
to./kestra-VERSION.bat
, and run it fromCMD
.
For example, to launch Kestra:
- In local mode (with an H2 local file database), you run
./kestra-VERSION server local
. - In standalone mode (you need to provide a configuration with a connection to a database) , you run
./kestra-VERSION server standalone
.
Running the jar version comes without any plugins. You need to install them manually with the kestra plugins install directory_with_plugins/
command. Alternatively, point to a directory with the plugins in the configuration file or an environment variable KESTRA_PLUGINS_PATH
(e.g., KESTRA_PLUGINS_PATH=/Users/anna/dev/plugins
).
systemd
On systemd-based systems, Kestra can be deployed as a systemd service. Below is a basic unit file template:
[Unit]Description=Kestra Event-Driven Declarative OrchestratorDocumentation=https://kestra.io/docs/After=network-online.target
[Service]Type=simpleExecStart=/bin/sh <PATH_TO_YOUR_KESTRA_JAR>/kestra-<VERSION> server standaloneUser=<KESTRA_UNIX_USER>Group=<KESTRA_UNIX_GROUP>RestartSec=5Restart=always# Send SIGTERM to the main Kestra process and wait up to 'TimeoutStopSec' for child processes in the cgroup to finish;# if there are any remaining running processes in the cgroup, send SIGKILL to all of them.KillMode=mixedTimeoutStopSec=150# Treat received SIGTERM as 'inactive'SuccessExitStatus=143# The syslog tagSyslogIdentifier=kestra
[Install]WantedBy=multi-user.target
Install plugins from a Docker image
To copy the plugins from a Docker container to your local machine, you can use the following commands:
id=$(docker create kestra/kestra:develop)docker cp $id:/app/kestra kestradocker cp $id:/app/plugins pluginsdocker rm $id./kestra server local
Installation on Windows
Below are the steps to launch a Standalone Kestra server on Windows:
- Install Java JRE 21 — use the
x64
version in the MSI format. - Go to the Releases page on the main Kestra repository.
- Select the desired version and download the binary from the
Assets
section. - Rename the downloaded file to
kestra.bat
. - Install the plugins you need from the following list using the command
kestra.bat plugins install io.kestra.plugin:plugin-script-powershell:LATEST io.kestra.plugin:plugin-script-python:LATEST
or copy the plugins from a Docker container to your local machine, as described in the section above. - Start the server using the command
kestra.bat server local
.
Configuration
You can either put your whole configuration in the environment variable KESTRA_CONFIGURATION
, or you can specify a configuration file to read through --config
(or -c
) option. If neither of these option is used, Kestra reads from ${HOME}/.kestra/config.yml
.
If you are using KESTRA_CONFIGURATION
environment variable, you need to have a directory called confs
in the directory where you run Kestra.
Configuration options are available in the Administrator Guide. You can also see the default configuration available on GitHub.