<a href="https://go.kestra.io/video/product-overview" target="_blank">
<img src="https://kestra.io/startvideo.png" alt="Get started in 3 minutes with Kestra" width="640px" />
</a>
Click on the image to learn how to get started with Kestra in 3 minutes.
Kestra is an open-source, event-driven orchestration platform that makes both scheduled and event-driven workflows easy. By bringing Infrastructure as Code best practices to data, process, and microservice orchestration, you can build reliable workflows directly from the UI in just a few lines of YAML.
Key Features:
- Everything as Code and from the UI: keep workflows as code with a Git Version Control integration, even when building them from the UI.
- Event-Driven & Scheduled Workflows: automate both scheduled and real-time event-driven workflows via a simple trigger definition.
- Declarative YAML Interface: define workflows using a simple configuration in the built-in code editor.
- Rich Plugin Ecosystem: hundreds of plugins built in to extract data from any database, cloud storage, or API, and run scripts in any language.
- Intuitive UI & Code Editor: build and visualize workflows directly from the UI with syntax highlighting, auto-completion and real-time syntax validation.
- Scalable: designed to handle millions of workflows, with high availability and fault tolerance.
- Version Control Friendly: write your workflows from the built-in code Editor and push them to your preferred Git branch directly from Kestra, enabling best practices with CI/CD pipelines and version control systems.
- Structure & Resilience: tame chaos and bring resilience to your workflows with namespaces, labels, subflows, retries, timeout, error handling, inputs, outputs that generate artifacts in the UI, variables, conditional branching, advanced scheduling, event triggers, backfills, dynamic tasks, sequential and parallel tasks, and skip tasks or triggers when needed by setting the flag disabled to true.
🧑💻 The YAML definition gets automatically adjusted any time you make changes to a workflow from the UI or via an API call. Therefore, the orchestration logic is always managed declaratively in code, even if you modify your workflows in other ways (UI, CI/CD, Terraform, API calls).

Deploy Kestra on AWS using our CloudFormation template:
Deploy Kestra on Google Cloud Infrastructure Manager using our Terraform module.
Make sure that Docker is running. Then, start Kestra in a single command:
docker run --pull=always -it -p 8080:8080 --user=root \
--name kestra --restart=always \
-v kestra_data:/app/storage \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp:/tmp \
kestra/kestra:latest server local
If you're on Windows and use PowerShell:
docker run --pull=always -it -p 8080:8080 --user=root `
--name kestra --restart=always `
-v "kestra_data:/app/storage" `
-v "/var/run/docker.sock:/var/run/docker.sock" `
-v "C:/Temp:/tmp" `
kestra/kestra:latest server local
If you're on Windows and use Command Prompt (CMD):
docker run --pull=always -it -p 8080:8080 --user=root ^
--name kestra --restart=always ^
-v "kestra_data:/app/storage" ^
-v "/var/run/docker.sock:/var/run/docker.sock" ^
-v "C:/Temp:/tmp" ^
kestra/kestra:latest server local
If you're on Windows and use WSL (Linux-based environment in Windows):
docker run --pull=always -it -p 8080:8080 --user=root \
--name kestra --restart=always \
-v kestra_data:/app/storage \
-v "/var/run/docker.sock:/var/run/docker.sock" \
-v "/mnt/c/Temp:/tmp" \
kestra/kestra:latest server local
Check our Installation Guide for other deployment options (Docker Compose, Podman, Kubernetes, AWS, GCP, Azure, and more).
Access the Kestra UI at http://localhost:8080 and start building your first flow!
Create a new flow with the following content:
id: hello_world
namespace: dev
tasks:
- id: say_hello
type: io.kestra.plugin.core.log.Log
message: "Hello, World!"
Run the flow and see the output in the UI!
Kestra's functionality is extended through a rich ecosystem of plugins that empower you to run tasks anywhere and code in any language, including Python, Node.js, R, Go, Shell, and more. Here's how Kestra plugins enhance your workflows:
Docker and Kubernetes Support: Seamlessly run Docker containers within your workflows or launch Kubernetes jobs to handle compute-intensive workloads.
Code in Any Language:
Flexible Automation: Execute shell commands, run SQL queries against various databases, and make HTTP requests to interact with APIs.
Event-Driven and Real-Time Processing:
Custom Events: Define custom events to trigger flows based on specific conditions or external signals, enabling highly responsive workflows.
Cloud Integrations:
Big Data Processing: Run big data processing tasks using tools like Apache Spark or interact with analytics platforms like Google BigQuery.
Monitoring and Notifications:
Kestra's plugin ecosystem is continually expanding, allowing you to tailor the platform to your specific needs. Whether you're orchestrating complex data pipelines, automating scripts across multiple environments, or integrating with cloud services, there's likely a plugin to assist. And if not, you can always build your own plugins to extend Kestra's capabilities.
🧑💻 Note: This is just a glimpse of what Kestra plugins can do. Explore the full list on our Plugins Page.
Kestra provides an intuitive UI that allows you to interactively build and visualize your workflows:
Create custom plugins to extend Kestra's capabilities. Check out our Plugin Developer Guide to get started.
Stay connected and get support:
We welcome contributions of all kinds!
Kestra is licensed under the Apache 2.0 License © Kestra Technologies.
Give our repository a star to stay informed about the latest features and updates!
Thank you for considering Kestra for your workflow orchestration needs. We can't wait to see what you'll build!
$ claude mcp add kestra \
-- python -m otcore.mcp_server <graph>