kestra

用 YAML 编排一切任务,自动调度、监控、重试,省心省力

Kestra 是一个面向关键任务应用的事件驱动编排与调度平台。它解决了复杂工作流中数据管道、任务调度和自动化流程难以统一管理的问题。核心能力包括:基于 YAML 的声明式工作流定义,支持事件触发、定时调度和手动触发;内置 600 多个插件,可连接数据库、云服务、消息队列等;提供可视化 UI 用于监控、日志查看和流程管理;支持分布式执行、弹性伸缩和失败重试。Kestra 将基础设施自动化、数据处理和业务逻辑编排整合到一个平台,降低运维复杂度,提升流程可靠性。

开源 freemium 智能体
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 28262
维护状态 活跃
是否开源 是
定价模式 freemium

项目数据

分类智能体
开发团队kestra-io
所属国家
定价模式freemium
价格说明提供免费社区版(开源),企业版需付费订阅,含高级功能与支持,可申请试用。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Java
技术栈/模型ai-agents,automation,control-plane,data-engineering,data-orchestration,data-orchestrator,devops,etl,hacktoberfest,high-availability,infra-automation,infra-ops,infrastructure-as-code,java,low-code,orchestration,pipeline,pipeline-as-code,scheduler,workflow
GitHub 星标★ 28262
30天Star增速
HF 下载量
上线时间2019-08-24 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数2

使用教程

难度:入门 约 10 分钟 部署方式:Docker 6 步

环境要求

  • 已安装并正在运行 Docker(README 要求先确认 Docker 已启动)
  • 本机 8080 端口可用(容器映射 -p 8080:8080)
  • 需要挂载 Docker socket(/var/run/docker.sock)与 /tmp 目录以供容器内任务执行
  • Windows 用户需注意:PowerShell/CMD/WSL 三种终端的命令换行与路径写法不同

安装与启动步骤

  1. 1确认 Docker 已运行

    README 明确要求先确保 Docker 处于运行状态,否则后续容器无法启动。

    docker info
  2. 2启动 Kestra 容器

    Linux/macOS/WSL 用户执行;使用 slim 镜像并开启插件自动安装。

    docker run --pull=always --rm -it -p 8080:8080 --user=root 
      --name kestra 
      -v kestra_data:/app/storage 
      -v kestra_db:/app/data 
      -v /var/run/docker.sock:/var/run/docker.sock 
      -v /tmp:/tmp 
      -e KESTRA_PLUGINS_AUTO_INSTALL_ENABLED=true 
      kestra/kestra:latest-slim server local
  3. 3Windows PowerShell 启

    PowerShell 用反引号作为换行符,注意路径需加引号。

    docker run --pull=always --rm -it -p 8080:8080 --user=root `
      --name kestra `
      -v "kestra_data:/app/storage" `
      -v "kestra_db:/app/data" `
      -v "/var/run/docker.sock:/var/run/docker.sock" `
      -v "C:/Temp:/tmp" `
      -e KESTRA_PLUGINS_AUTO_INSTALL_ENABLED=true `
      kestra/kestra:latest-slim server local
  4. 4Windows CMD 启动

    CMD 使用 ^ 作为续行符,路径同样需要引号包裹。

    docker run --pull=always --rm -it -p 8080:8080 --user=root ^
      --name kestra ^
      -v "kestra_data:/app/storage" ^
      -v "kestra_db:/app/data" ^
      -v "/var/run/docker.sock:/var/run/docker.sock" ^
      -v "C:/Temp:/tmp" ^
      -e KESTRA_PLUGINS_AUTO_INSTALL_ENABLED=true ^
      kestra/kestra:latest-slim server local
  5. 5Windows WSL 启动

    在 WSL 中使用 Linux 写法,但 /tmp 需映射到 /mnt/c/Temp。

    docker run --pull=always --rm -it -p 8080:8080 --user=root 
      --name kestra 
      -v kestra_data:/app/storage 
      -v kestra_db:/app/data 
      -v "/var/run/docker.sock:/var/run/docker.sock" 
      -v "/mnt/c/Temp:/tmp" 
      -e KESTRA_PLUGINS_AUTO_INSTALL_ENABLED=true 
      kestra/kestra:latest-slim server local
  6. 6访问 Web UI

    容器启动后在浏览器打开地址即可开始创建第一个流程。

关键配置

配置项必填说明示例
KESTRA_PLUGINS_AUTO_INSTALL_ENABLED否设为 true 时,流程首次用到某插件会从 Maven Central 自动下载true
镜像标签 latest-slim否不含内置插件、下载体积小;改用 kestra/kestra:latest 可预装全部插件kestra/kestra:latest-slim
-p 8080:8080否将容器 8080 端口映射到本机,UI 通过该端口访问-p 8080:8080
卷 kestra_data / kestra_db否分别持久化 /app/storage 与 /app/data,容器删除后数据仍在kestra_data:/app/storage

如何确认成功

容器日志正常输出后,浏览器访问 http://localhost:8080 能看到 Kestra 的 Web UI 界面即启动成功。

常见问题

Q:为什么用 latest-slim 镜像而不是 latest?

A:slim 镜像不含插件以减小下载体积,配合 KESTRA_PLUGINS_AUTO_INSTALL_ENABLED=true,流程首次需要某插件时才从 Maven Central 拉取;想一次性预装全部插件就换成 kestra/kestra:latest 并去掉该环境变量。

Q:8080 端口被占用怎么办?

A:README 未给出说明,可参考官方安装指南调整端口映射:把 -p 8080:8080 中左侧的本机端口改为其他空闲端口,再用新端口访问 UI。

Q:重启容器后数据会丢吗?

A:不会。命令挂载了 kestra_data 与 kestra_db 两个命名卷,分别对应 /app/storage 和 /app/data,容器被删除数据仍保留在卷中。

Q:还有哪些部署方式?

A:README 提到官方安装指南提供 Docker Compose、Podman、Kubernetes 以及 AWS、GCP、Azure 等部署方式;GCP 另提供 Terraform 模块部署。

Q:Windows 用户该选哪种命令?

A:README 给出了 PowerShell、CMD、WSL 三种写法,按你实际使用的终端选择即可;WSL 请把 /tmp 映射改为 /mnt/c/Temp:/tmp。

注意事项

  • 命令带 --rm,容器停止后会被自动删除,依赖命名卷保存数据
  • 挂载了 /var/run/docker.sock 并指定 --user=root,容器内任务才能调用宿主 Docker
  • 需要挂载 /tmp 目录(Windows 为 C:/Temp 或 /mnt/c/Temp),供任务执行时使用
  • 本地 single-command 方式适合体验,生产环境请参考官方安装指南选择其他部署方式

核心亮点

  • 声明式 YAML 定义工作流,上手快,版本可控
  • 600+ 插件覆盖数据库、云、消息等主流服务
  • 可视化 UI 实时监控流程状态和日志,排障高效

不足之处

  • Java 技术栈较重,部署和资源占用相对较高
  • 文档/社区待观察

适用场景

  • 数据管道 ETL 定时调度与监控
  • 微服务间复杂事件驱动自动化
  • 基础设施运维任务编排(如备份、发布)

替代项目

Apache Airflow、Prefect、Temporal

项目介绍

kestra 是自动化工作流领域的开源项目,由 kestra-io 开发,2019 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(28,262)位列前 2%,在自动化工作流分类的 509 个项目里位列前 5%。

近 41 天,它的 GitHub 星标从 27,787 增加到 28,262,净增 475。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。提供免费社区版(开源),企业版需付费订阅,含高级功能与支持,可申请试用。从国内网络环境看,访问稳定性一般,建议自备网络条件。

它主要面向的使用场景是:数据管道ETL定时调度与监控。同类可对比的替代方案包括 Apache Airflow、Prefect、Temporal。

上一篇:SwiftAutoGUI

下一篇:awesome-n8n-templates

同类项目推荐

n8n 开源

拖拽搭建自动化流程,轻松接入 AI 与 400+ 应用,搞定重复工作。

Fair-code workflow automation platform with native AI capabilities. Combine visual b···

★ 205700 2026-08-10
feishu-docx 开源

让 AI 代理轻松读写飞书文档,双向转换 Markdown

Feishu/Lark Docs、Sheet、Bitable <-> Markdown | AI Agent-friendly knowledge base exp···

★ 262 2026-08-09
robotcode 开源

让 Robot Framework 拥有现代 IDE 体验,调试、补全、运行一气呵成。

Open Source Toolkit for Robot Framework, providing Language Server Protocol support,···

★ 301 2026-08-10
puppeteer 开源

用 JavaScript 轻松操控无头浏览器,搞定自动化测试与网页抓取。

JavaScript API for Chrome and Firefox

★ 95609 2026-08-10