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
Make sure to store your credentials in an application.yaml
file.
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:
chmod +x kestra-ee-VERSION # Replace VERSION with your version
Or with a file path:
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:
./kestra-ee-VERSION server standalone # Replace VERSION with your version
You need to provide a configuration with a connection to a database.
For Windows users:
java -jar kestra-ee-VERSION # Replace VERSION with your version
Or with a file path assuming execution from the current directory:
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:
# 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:
# 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 Parameter | Required | Documentation Link | Description |
---|---|---|---|
Enterprise License | Yes | EE License | License information for the Kestra instance |
Multi-tenancy | Yes | Multi-tenancy | Enables/disables multi-tenancy (required for SCIM) |
Secret Manager | Yes | Secret Managers | Configure a secret manager in RW or RO mode |
Encryption Key | Yes | Encryption | Key to encrypt inputs/outputs in flows |
Security | No | Security | Configure Super Admin (also settable in UI on startup) |
User Invitations | No | Kestra URL, Mail Server | Required for email invitations (not needed with LDAP/SCIM) |
SSO | No | SSO | Configure OIDC provider |
LDAP | No | LDAP | Connect to an existing LDAP provider |
SCIM | No | SCIM | Sync 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
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:
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?