Standalone Server Installation Guide (Enterprise Edition)​Standalone ​Server ​Installation ​Guide (​Enterprise ​Edition)

Available on: Enterprise Edition

Install Kestra on a standalone server with a simple executable file.

Standalone Server Installation Guide (Enterprise Edition)

To deploy Kestra without Docker, there's a standalone JAR available that allows deployment in any environment that has JVM version 21+.

Instructions

The following is a quick start guide to get your Kestra Enterprise Edition up and running in standalone mode.


Standalone JAR

Download the latest version of the Kestra EE JAR from:

http://registry.kestra.io/exe/latest

Credentials:

  • Username: license-id
  • Password: fingerprint

This provides a single JAR file that can be used to start Kestra. Store the file in your execution environment as kestra (make it executable).

To make the file executable, Linux or MacOS users use the following with filename:

bash
chmod +x kestra-ee-VERSION # Replace VERSION with your version

Or with a file path:

bash
mv kestra-ee-VERSION /usr/local/bin/kestra # Replace with your version and execution environment file path
chmod +x /usr/local/bin/kestra

The file is then executable with:

bash
./kestra-ee-VERSION server standalone # Replace VERSION with your version

For Windows users:

powershell
java -jar kestra-ee-VERSION # Replace VERSION with your version

Or with a file path assuming execution from the current directory:

powershell
java -jar kestra-ee-VERSION server standalone -c ./application.yaml -p ./plugins --port=8080 # Replace VERSION with your version

Plugins

In standalone JAR deployments, all plugins must be downloaded separately.

Kestra EE provides a command to install all available plugins:

shell
# Install all available plugins
kestra plugins install --all 

This installs task plugins in the plugins directory. To install them elsewhere, specify a path with the -p argument.

Additional Enterprise Edition plugins that are not task related may also be required -- such as secrets or storage plugins.


Secret Plugins

Secret plugins must be downloaded from the Kestra registry using the same credentials, and placed in your plugins directory.


MinIO Internal Storage

To enable MinIO storage, install the storage plugin:

shell
# Install MinIO internal storage plugin
kestra plugins install io.kestra.storage:storage-minio:LATEST

Enterprise Deployment Configuration

For the full list of configuration options, refer to the Configuration Reference.

To enable Kestra Enterprise features, configure the following parameters:

Configuration ParameterRequiredDocumentation LinkDescription
Enterprise LicenseYesEE LicenseLicense information for the Kestra instance
Multi-tenancyYesMulti-tenancyEnables/disables multi-tenancy (required for SCIM)
Secret ManagerYesSecret ManagersConfigure a secret manager in RW or RO mode
Encryption KeyYesEncryptionKey to encrypt inputs/outputs in flows
SecurityNoSecurityConfigure Super Admin (also settable in UI on startup)
User InvitationsNoKestra URL, Mail ServerRequired for email invitations (not needed with LDAP/SCIM)
SSONoSSOConfigure OIDC provider
LDAPNoLDAPConnect to an existing LDAP provider
SCIMNoSCIMSync user/group membership with SCIM 2.0

Starting Kestra

Kestra can be started in standalone mode or in a distributed setup for production.

Make sure to have a database configured and your Enterprise credentials stored in the application.yaml file.


Standalone Server

shell
kestra server standalone -c ./application.yaml -p ./plugins --port=8080

This starts Kestra as a standalone service on port 8080.


Distributed Mode

For production usage, Kestra should run in distributed mode for scalability and high availability.

Each component can run independently across servers, with shared access to the same database (no TCP communication is required between components).

Example with all components on one server:

shell
kestra server webserver -c ./application.yaml -p ./plugins --port=8080
kestra server scheduler -c ./application.yaml -p ./plugins --port=8081
kestra server worker -c ./application.yaml -p ./plugins --port=8082
kestra server executor -c ./application.yaml -p ./plugins --port=8083

Was this page helpful?