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 17+.
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 will run
./kestra-VERSION server local
. - in standalone mode (you need to provide a configuration with a connection to a database) , you will run
./kestra-VERSION server standalone
.
Running the jar version will come 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
.
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-full)
docker cp $id:/app/kestra kestra
docker cp $id:/app/plugins plugins
docker rm $id
./kestra server local
Installation on Windows
Here is how you can launch a Standalone Kestra server on Windows:
- Install java jre 17 -- 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 by coying 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 will read from ${HOME}/.kestra/config.yml
.
If you are using KESTRA_CONFIGURATION
environment variable, you'll 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.