轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
ghcr.io/windmill-labs/windmill

ghcr.io/windmill-labs/windmill:1.669

ghcr.iolinux/amd641.669大小: 未知更新于 2026年5月17日
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

Windmill - 面向API、后台任务、工作流和UI的开发者平台

Windmill 完全开源(AGPLv3 许可),Windmill Labs 提供专用实例以及商业支持和许可。

  • Windmill - 面向API、后台任务、工作流和UI的开发者平台
  • 核心概念
  • 实际脚本代码示例
  • 本地开发
  • 技术栈
  • 最快的自托管工作流引擎
  • 安全性
  • 性能
  • 架构
  • 如何自托管
  • Docker Compose
  • Kubernetes(Helm 图表)
  • 云服务提供商
  • OAuth、SSO 和 SMTP
  • 许可协议
  • 集成
  • 环境变量
  • 运行本地开发环境
  • 仅前端
  • 后端+前端
  • 贡献者
  • 版权

核心概念

  1. 脚本参数会被自动解析并生成前端界面。

  2. 构建工作流!你可以将自己的脚本或社区在WindmillHub上共享的脚本链接起来。

  3. 在脚本和工作流之上构建复杂UI。

在Windmill之上构建你的整个基础设施!

实际脚本代码示例

//从npm导入任何依赖
import * as wmill from "windmill-client";
import * as cowsay from "cowsay@1.5.0";

// 填充类型,或使用+Resource类型获取资源的类型安全引用
type Postgresql = {
host: string;
port: number;
user: string;
dbname: string;
sslmode: string;
password: string;
};

export async function main(
a: number,
b: "my" | "enum",
c: Postgresql,
d = "从默认参数推断的字符串类型",
e = { nested: "object" }
//f: wmill.Base64
) {
const email = process.env["WM_EMAIL"];
// 变量按路径进行权限控制
let variable = await wmill.getVariable("f/company-folder/my_secret");
const lastTimeRun = await wmill.getState();
// 日志会被打印并始终可查看
console.log(cowsay.say({ text: "hello " + email + " " + lastTimeRun }));
await wmill.setState(Date.now());

// 返回值会序列化为JSON
return { foo: d, variable };
}

本地开发

Windmill 支持多种本地开发方式,并可与你的实例同步:

工具描述
CLI从本地文件或GitHub同步脚本,通过命令行运行脚本/工作流
VS Code 扩展直接在VS Code/Cursor中编辑和测试脚本与工作流,提供完整IDE支持
Git 同步Windmill与Git仓库之间的双向同步
Claude Code借助Claude进行AI辅助开发,支持脚本、工作流和应用

你可以通过传递正确的环境变量在本地运行脚本,使wmill客户端库能够从你的实例获取资源和变量。详见本地开发文档。

技术栈

  • 数据库:Postgres(兼容Aurora、Cloud SQL、Neon、Azure PostgreSQL)
  • 后端:Rust - 无状态API服务器和从Postgres队列拉取任务的工作器
  • 前端:Svelte 5
  • 沙箱:https://github.com/google/nsjail%E5%92%8CPID%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E9%9A%94%E7%A6%BB
  • 运行时:
  • TypeScript/JavaScript:Bun(默认)和Deno
  • Python:python3,使用uv进行依赖管理
  • Go、Bash、PowerShell、PHP、Rust、C#、Java、Ansible

最快的自托管工作流引擎

我们将Windmill与其他自托管工作流引擎(Airflow、Prefect和Temporal)进行了比较,Windmill在以下两个基准测试中都是性能最佳的解决方案:一个包含40个轻量级任务的工作流,以及一个包含10个长时间运行任务的工作流。

所有方法和结果详见我们的基准测试页面。

安全性

  • 沙箱:https://github.com/google/nsjail%E7%94%A8%E4%BA%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/%E8%B5%84%E6%BA%90%E9%9A%94%E7%A6%BB%EF%BC%8CPID%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E9%9A%94%E7%A6%BB%EF%BC%88%E9%BB%98%E8%AE%A4%E5%90%AF%E7%94%A8%EF%BC%89%E9%98%B2%E6%AD%A2%E4%BB%BB%E5%8A%A1%E8%AE%BF%E9%97%AE%E5%B7%A5%E4%BD%9C%E5%99%A8%E8%BF%9B%E7%A8%8B%E5%86%85%E5%AD%98
  • 密钥:每个工作区一个加密密钥,用于存储在Windmill K/V存储中的凭据。我们建议同时加密Postgres数据库。

详见安全文档。

性能

任务启动后,与在节点上使用相应运行器(Deno/Go/Python/Bash)运行相同脚本相比,没有额外开销。任务从队列拉取、启动到结果返回数据库的附加延迟约为50ms。一个典型的轻量级deno任务总共耗时约100ms。

架构

如何自托管

有关详细的设置选项,请参阅自托管文档。

Docker Compose

使用3个文件部署Windmill(docker-compose.yml、Caddyfile、.env):

curl https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml -o docker-compose.yml
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/Caddyfile -o Caddyfile
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/.env -o .env

docker compose up -d

访问 http://localhost - 默认凭据:admin@windmill.dev / changeme

使用外部数据库:在.env中设置DATABASE_URL指向你的托管Postgres(AWS RDS、GCP Cloud SQL、Azure、Neon等),并将数据库副本数设为0。

Kubernetes(Helm 图表)

helm repo add windmill https://windmill-labs.github.io/windmill-helm-charts/
helm install windmill-chart windmill/windmill --namespace=windmill --create-namespace

许可协议

社区版可免费在内部使用。如需商业再分发或托管服务,请联系 。详见LICENSE和Pricing。

Windmill“社区版”可通过托管于ghcr.io/windmill-labs/windmill的Docker镜像及GitHub二进制发行版获取,包含AGPLv3和Apache 2许可下的文件,同时也包含专有和非公开代码及功能,这些代码和功能并非开源,且受以下条款约束:Windmill Labs, Inc. 授予免费使用“社区版”所有功能的权利,除软件中设置的限制和配额外无其他限制;同时授予按原样分发社区版的权利,但未经明确协议,不得销售、转售、将Windmill作为托管服务提供、修改或以任何形式包装。

从本仓库源代码(未启用“enterprise”功能标志)编译的二进制文件遵循https://github.com/windmill-labs/windmill/blob/main/LICENSE-AGPL%E8%AE%B8%E5%8F%AF%E6%9D%A1%E6%AC%BE%EF%BC%8C%E4%B8%BA%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6%E3%80%82

若要将Windmill的任何部分作为您产品的功能直接重新暴露给用户(嵌入的公共Windmill“应用”除外),或在“Windmill社区版”基础上构建商业销售或嵌入可分发产品/二进制文件的功能,您必须获取商业许可。如有任何问题,请联系我们。若使用从本仓库源代码(未启用“enterprise”功能标志)编译的二进制文件进行上述操作,则必须遵守AGPLv3许可条款,或从Windmill Labs, Inc.获取商业许可。

若在组织内部按原样使用Windmill“社区版”,或按原样使用其API,则无需商业许可。

环境变量名称默认值描述作用范围(API服务器/工作器/全部)
DATABASE_URLPostgres 数据库 URL。全部
WORKER_GROUPdefault工作器所属的工作组,工作器将从中拉取配置工作器
MODEstandalone二进制文件的运行模式。可能的值:standalone(独立模式)、worker(工作器模式)、server(服务器模式)、agent(代理模式)全部
METRICS_ADDRNone(仅企业版)用于在 /metrics 路径暴露 Prometheus 指标的套接字地址。设置为 "true" 可在 8001 端口暴露指标全部
JSON_FMTfalse以 JSON 格式输出日志,而非 logfmt 格式全部
BASE_URLhttp://localhost:8000公开访问实例的基础 URL。如有实例设置,将覆盖此值服务器
ZOMBIE_JOB_TIMEOUT30若工作器未发送任务处理 ping(服务器每 30 秒检查一次僵尸任务),任务被视为僵尸任务的超时时间(秒)服务器
RESTART_ZOMBIE_JOBStrue若为 true,僵尸任务将重启(使用相同 UUID 原地重启并保留部分日志);若为 false,僵尸任务将标记为失败服务器
NATIVE_MODEfalse启用原生模式:设置 NUM_WORKERS=8,拒绝非原生任务(nativets、postgresql、mysql 等)工作器
SLEEP_QUEUE50数据库中最后一次检查新任务后休眠的毫秒数。该值乘以 NUM_WORKERS,使得单个工作器实例平均每 SLEEP_QUEUE 毫秒拉取一次任务工作器
KEEP_JOB_DIRfalse任务完成后保留任务目录。用于调试。工作器
LICENSE_KEY (EE only)NoneWindmill 企业版启动时检查的许可证密钥工作器
SLACK_SIGNING_SECRETNoneSlack 应用的签名密钥。参见 Slack 文档服务器
COOKIE_DOMAINNoneCookie 的域名。若未设置,浏览器将基于完整源设置 Cookie服务器
DENO_PATH/usr/bin/denodeno 二进制文件的路径。工作器
PYTHON_PATH若不想由 uv 管理 Python 二进制文件,可指定其路径工作器
GO_PATH/usr/bin/gogo 二进制文件的路径。工作器
GOPRIVATE用于私有 Go 模块的 GOPRIVATE 环境变量工作器
GOPROXY要使用的 GOPROXY 环境变量工作器
NETRC用于私有 Go 仓库的 netrc 内容工作器
PY_CONCURRENT_DOWNLOADS20设置 Windmill 在任何时候执行的最大并发 Python 下载数工作器
PATHNone路径环境变量,通常继承自系统工作器
HOMENone用于 Go 和 Bash 的主目录,通常继承自系统工作器
DATABASE_CONNECTIONS50(服务器)/3(工作器)数据库连接池中的最大连接数全部
SUPERADMIN_SECRETNone允许调用者以虚拟超级管理员 *** 身份操作的令牌服务器
TIMEOUT_WAIT_RESULT20'run_wait_result' 端点的超时等待时间(秒)工作器
QUEUE_LIMIT_WAIT_RESULTNone'run_wait_result' 端点在立即拒绝请求前的最大队列任务数。优先于查询参数。若未指定,则无限制工作器
DENO_AUTH_TOKENSNone传递给工作器的自定义 DENO_AUTH_TOKENS,以允许使用私有模块工作器
DISABLE_RESPONSE_LOGSfalse禁用响应日志服务器
CREATE_WORKSPACE_REQUIRE_SUPERADMINtrue若为 true,仅超级管理员可创建新工作区服务器
MIN_FREE_DISK_SPACE_MB***工作器的最小可用磁盘空间(MB)。若工作器可用空间不足,将发送严重警报工作器
RUN_UPDATE_CA_CERTIFICATE_AT_STARTfalse若为 true,在启动时先运行 CA 证书更新命令,再进行其他初始化全部
RUN_UPDATE_CA_CERTIFICATE_PATH/usr/sbin/update-ca-certificates当 RUN_UPDATE_CA_CERTIFICATE_AT_START 为 true 时,运行 CA 证书更新命令/脚本的路径全部

运行本地开发环境

我们建议使用 Nix。有关所有选项,请参见 ./frontend/README_DEV.md。

仅前端

使用本地前端(热重载)的后端:

cd frontend
npm install
npm run generate-backend-client # 或在 Mac 上使用 generate-backend-client-mac
npm run dev

Windmill 可通过 http://localhost/ 访问

后端 + 前端

有关所有运行选项,请参见 ./frontend/README_DEV.md 文件。

  1. 使用例如 start-dev-db.sh 脚本启动本地 Postgres 数据库,该脚本将在 postgres://postgres:changeme@localhost:5432/windmill 提供数据库。然后使用以下命令运行迁移:
cargo install sqlx-cli
env DATABASE_URL= sqlx migrate run

这也将避免 sqlx 的 query! 宏出现编译时问题。 2. (可选,仅 Linux)安装 https://github.com/google/nsjail 并确保其在 PATH 中可访问 3. 安装 bun、deno 和 python3(以及任何你想使用的语言),确保二进制文件位于 /usr/bin/bun、/usr/bin/deno 和 /usr/local/bin/python3,或设置相应的环境变量。 4. (可选)安装 https://lld.llvm.org/ 5. 进入 frontend/ 目录:

  1. 执行 npm install、npm run generate-backend-client,然后 REMOTE=http://localhost:8000 npm run dev
  2. 你可能需要为 node 运行时设置额外的堆空间:export NODE_OPTIONS="--max-old-space-size=4096"
  3. 使用 mkdir frontend/build 创建空的 frontend/build 文件夹
  4. 进入 backend/ 目录:
    1. 执行 env DATABASE_URL= RUST_LOG=info cargo run
    2. 你可以指定任何想要启用的功能标志,例如 cargo run --features python 以启用 Python 执行器。
  5. Windmill 应可通过 http://localhost:3000 访问

贡献者

版权

© 2023-2026 Windmill Labs, Inc.

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ghcr.io/windmill-labs/windmill
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱