試試看 - 文件 - Discord - 中心 - 貢獻者指南
Windmill 是完全開源的 (AGPLv3) ,Windmill Labs 提供專用執行個體和商業支援及授權。
使用 Python、TypeScript、Go 或 Bash 定義解決特定任務的最小通用腳本。程式碼可以在提供的 Web IDE 中定義或與您自己的 GitHub 儲存庫同步(例如透過 VS Code 擴充功能):
我們在這裡只提供 docker-compose 設定。對於更高級的設置,例如從原始程式碼編譯或在沒有 postgres 超級使用者的情況下使用,請參閱自託管文件。
Windmill 可以在單一指令中使用 3 個檔案進行部署:(docker-compose.yml、Caddyfile 和 .env)。
確保 Docker 已啟動,然後運行:
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 等等:)
預設的超級管理員使用者是:[email protected]/changeme。
從那裡,您可以按照設定應用程式並創建其他用戶。
更多詳細信息,請參閱自託管文件。
我們在以下位置發布 helm 圖表:https://github.com/windmill-labs/windmill-helm-charts。
每個版本都包含 x86_64 的相應二進位。您可以使用以下一組 bash 指令簡單地下載最新的windmill
二進位。
BINARY_NAME= ' windmill-amd64 ' # or windmill-ee-amd64 for the enterprise edition
LATEST_RELEASE= $( curl -L -s -H ' Accept: application/json ' https://github.com/windmill-labs/windmill/releases/latest )
LATEST_VERSION= $( echo $LATEST_RELEASE | sed -e ' s/.*"tag_name":"([^"]*)".*/1/ ' )
ARTIFACT_URL= " https://github.com/windmill-labs/windmill/releases/download/ $LATEST_VERSION / $BINARY_NAME "
wget " $ARTIFACT_URL " -O windmill
Windmill Community Edition 允許直接從超級管理員設定中的 UI 配置 OAuth、SSO(包括 Google Workspace SSO、Microsoft/Azure 和 Okta)。請注意,社群版的 SSO 使用者數量限制為 10 個。
請參閱文件。
要自行託管 Windmill,您必須遵守 AGPLv3 授權的條款,您無需擔心個人用途。對於商業用途,如果您不以任何方式向用戶重新公開 Windmill 並且熟悉 AGPLv3,那麼您應該沒問題。
若要將任何 Windmill 零件作為產品的功能重新向使用者公開,或在 Windmill 之上建置功能,為了遵守 AGPLv3,您的產品必須是 AGPLv3,或者您必須獲得商業授權。如果您有任何疑問,請透過 [email protected] 與我們聯繫。
此外,商業許可證還為您提供一名專門的工程師,將您當前的基礎設施遷移到Windmill,提供嚴格的SLA 支持,以及我們的全域快取同步,以實現從10 多個節點到200 多個節點的叢集的高效能/無依賴性快取缺失。
在 Windmill 中,整合稱為資源和資源類型。每個資源都有一個資源類型,它定義資源需要實現的架構。
在自架執行個體上,您可能想要從 WindmillHub 匯入所有核准的資源類型。安裝腳本將提示您每天自動同步。
環境變數名稱 | 預設 | 描述 | API 伺服器/工作人員/全部 |
---|---|---|---|
DATABASE_URL | Postgres 資料庫 URL。 | 全部 | |
工人組 | 預設 | 工作人員所屬的工作小組並從中取得其配置 | 勞工 |
模式 | 獨立的 | 如果是二進位模式。可能的值:standalone、worker、server、agent | 全部 |
指標_地址 | 沒有任何 | (僅限 ee)在 /metrics 路徑中公開 Prometheus 指標的套接字位址。設定為“true”以在連接埠 8001 上公開它 | 全部 |
JSON_FMT | 錯誤的 | 以json格式輸出日誌,而不是logfmt | 全部 |
BASE_URL | http://本地主機:8000 | 公開公開以存取您的執行個體的基本 URL。被實例設定覆蓋(如果有)。 | 伺服器 |
ZOMBIE_JOB_TIMEOUT | 30 | 如果工作執行緒未傳送有關處理作業的 ping,則作業被視為殭屍作業的逾時時間(每台伺服器每 30 秒檢查一次殭屍作業) | 伺服器 |
RESTART_ZOMBIE_JOBS | 真的 | 如果為 true,則殭屍作業將重新啟動(使用相同的 uuid 和一些日誌就地),如果為 false,則殭屍作業將失敗 | 伺服器 |
睡眠隊列 | 50 | 上次檢查資料庫中的新作業之間休眠的毫秒數。它乘以 NUM_WORKERS,這樣平均而言,對於一個工作實例,每 SLEEP_QUEUE 毫秒就有一次拉取。 | 勞工 |
KEEP_JOB_DIR | 錯誤的 | 作業完成後保留作業目錄。對於調試很有用。 | 勞工 |
LICENSE_KEY(僅限 EE) | 沒有任何 | Windmill 企業版在啟動時檢查許可證金鑰 | 勞工 |
SLACK_SIGNING_SECRET | 沒有任何 | Slack 應用程式的簽名秘密。請參閱 Slack 文檔 | 伺服器 |
COOKIE_DOMAIN | 沒有任何 | cookie 的網域。如果未設置,cookie將由瀏覽器根據完整來源設置 | 伺服器 |
德諾路徑 | /usr/bin/deno | deno 二進位檔案的路徑。 | 勞工 |
PYTHON_路徑 | /usr/local/bin/python3 | python 二進位檔案的路徑。 | 勞工 |
路徑 | /usr/bin/去 | go 二進位檔案的路徑。 | 勞工 |
私有化 | 使用私有 go 模組的 GOPRIVATE 環境變量 | 勞工 | |
代理伺服器 | 要使用的 GOPROXY 環境變量 | 勞工 | |
網路研究中心 | 使用私有 go 註冊表的 netrc 內容 | 勞工 | |
小路 | 沒有任何 | 路徑環境變量,通常是繼承的 | 勞工 |
家 | 沒有任何 | 用於 Go 和 Bash 的主目錄,通常是繼承的 | 勞工 |
資料庫連線 | 50(伺服器)/3(工作人員) | 資料庫連線池最大連線數 | 全部 |
超管理員_秘密 | 沒有任何 | 讓呼叫者充當虛擬超級管理員 [email protected] 的令牌 | 伺服器 |
逾時_等待_結果 | 20 | “run_wait_result”端點逾時之前等待的秒數 | 勞工 |
QUEUE_LIMIT_WAIT_RESULT | 沒有任何 | 在立即拒絕「run_wait_result」端點中的請求之前佇列中的最大作業數。優先於查詢參數。如果沒有指定,則沒有限制。 | 勞工 |
DENO_AUTH_TOKENS | 沒有任何 | 自訂 DENO_AUTH_TOKENS 傳遞給工作人員以允許使用私有模組 | 勞工 |
DISABLE_RESPONSE_LOGS | 錯誤的 | 禁用回應日誌 | 伺服器 |
CREATE_WORKSPACE_REQUIRE_SUPERADMIN | 真的 | 如果為 true,則只有超級管理員才能建立新工作區 | 伺服器 |
有關所有運行選項,請參閱 ./frontend/README_DEV.md 檔案。
使用尼克斯。
這將使用 https://app.windmill.dev 的後端,但使用您自己的前端並進行熱程式碼重新載入。請注意,由於 CSRF 檢查使用不同的身份驗證提供者,您將需要使用使用者名稱/密碼登入。
在frontend/
目錄中:
npm install
(或pnpm install
或yarn
)安裝依賴項 npm run generate-backend-client
## on mac use
npm run generate-backend-client-mac
npm run dev
運行您的開發伺服器http://localhost/
上使用有關所有運行選項,請參閱 ./frontend/README_DEV.md 檔案。
cargo install sqlx-cli
env DATABASE_URL=<YOUR_DATABASE_URL> sqlx migrate run
query!
宏/usr/bin/deno
和/usr/local/bin/python3
frontend/
:npm install
, npm run generate-backend-client
然後npm run dev
export NODE_OPTIONS="--max-old-space-size=4096"
npm run build
否則後端將找不到frontend/build
資料夾且無法編譯。sudo caddy run --config Caddyfile
backend/
: env DATABASE_URL=<DATABASE_URL_TO_YOUR_WINDMILL_DB> RUST_LOG=info cargo run
http://localhost/
上使用風車實驗室公司 2023