ลองใช้เลย - เอกสาร - Discord - Hub - คู่มือผู้ร่วมให้ข้อมูล
Windmill เป็น โอเพ่นซอร์สโดยสมบูรณ์ (AGPLv3) และ Windmill Labs มีอินสแตนซ์เฉพาะ รวมถึงการสนับสนุนและใบอนุญาตเชิงพาณิชย์
กำหนดสคริปต์ขั้นต่ำและทั่วไปใน Python, TypeScript, Go หรือ Bash ที่ช่วยแก้ปัญหางานเฉพาะ รหัสสามารถกำหนดได้ใน Web IDE ที่ให้มาหรือซิงโครไนซ์กับ repo GitHub ของคุณเอง (เช่นผ่านส่วนขยายรหัส VS):
เราจัดเตรียมการตั้งค่าการเขียนนักเทียบท่าไว้ที่นี่เท่านั้น สำหรับการตั้งค่าขั้นสูงเพิ่มเติม เช่น การคอมไพล์จากแหล่งที่มาหรือการใช้งานโดยไม่มีผู้ใช้ขั้นสูงของ postgres โปรดดูเอกสารประกอบของ Self-Host
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 และ voila :)
ผู้ใช้ผู้ดูแลระบบระดับสูงเริ่มต้นคือ: [email protected] / changeme
จากนั้น คุณสามารถติดตามแอปตั้งค่าและสร้างผู้ใช้รายอื่นได้
รายละเอียดเพิ่มเติมในเอกสารการโฮสต์ด้วยตนเอง
เราเผยแพร่แผนภูมิหางเสือที่: https://github.com/windmill-labs/windmill-helm-charts
แต่ละรุ่นจะมีไบนารีที่สอดคล้องกันสำหรับ x86_64 คุณสามารถดาวน์โหลดไบนารี windmill
ล่าสุดได้โดยใช้ชุดคำสั่ง bash ต่อไปนี้
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 ช่วยให้กำหนดค่า OAuth, SSO (รวมถึง Google Workspace SSO, Microsoft/Azure และ Okta) ได้โดยตรงจาก UI ในการตั้งค่าผู้ดูแลระบบขั้นสูง โปรดทราบว่ามีผู้ใช้ SSO ในรุ่นชุมชนได้ไม่เกิน 10 คน
ดูเอกสารประกอบ
หากต้องการโฮสต์ Windmill ด้วยตนเอง คุณต้องเคารพเงื่อนไขของใบอนุญาต AGPLv3 ซึ่งคุณไม่จำเป็นต้องกังวลเกี่ยวกับการใช้งานส่วนตัว สำหรับการใช้งานทางธุรกิจ คุณควรจะไม่เป็นไรหากคุณไม่เปิดเผย Windmill แก่ผู้ใช้ของคุณไม่ว่าในทางใดทางหนึ่ง และพอใจกับ AGPLv3
หากต้องการแสดงชิ้นส่วน Windmill แก่ผู้ใช้ของคุณอีกครั้งเป็นคุณลักษณะของผลิตภัณฑ์ของคุณ หรือเพื่อสร้างคุณลักษณะที่ด้านบนของ Windmill เพื่อให้สอดคล้องกับ AGPLv3 ผลิตภัณฑ์ของคุณต้องเป็น AGPLv3 หรือคุณต้องได้รับใบอนุญาตเชิงพาณิชย์ ติดต่อเราที่ [email protected] หากคุณมีข้อสงสัย
นอกจากนี้ ใบอนุญาตเชิงพาณิชย์ยังมอบวิศวกรเฉพาะให้คุณในการเปลี่ยนโครงสร้างพื้นฐานปัจจุบันของคุณเป็น Windmill รองรับด้วย SLA ที่เข้มงวด และการซิงค์แคชทั่วโลกของเราสำหรับประสิทธิภาพสูง/ไม่มีการพึ่งพาแคชที่พลาดของคลัสเตอร์จาก 10+ โหนดเป็น 200+ โหนด
ใน Windmill การบูรณาการจะเรียกว่าทรัพยากรและประเภททรัพยากร ทรัพยากรแต่ละรายการมีประเภททรัพยากรที่กำหนดสคีมาที่ทรัพยากรจำเป็นต้องนำไปใช้
บนอินสแตนซ์ที่โฮสต์เอง คุณอาจต้องการนำเข้าประเภททรัพยากรที่ได้รับอนุมัติทั้งหมดจาก WindmillHub สคริปต์การตั้งค่าจะแจ้งให้คุณซิงค์โดยอัตโนมัติทุกวัน
ชื่อตัวแปรสภาพแวดล้อม | ค่าเริ่มต้น | คำอธิบาย | เซิร์ฟเวอร์ Api/ผู้ปฏิบัติงาน/ทั้งหมด |
---|---|---|---|
ฐานข้อมูล_URL | URL ฐานข้อมูล Postgres | ทั้งหมด | |
คนงาน_กลุ่ม | ค่าเริ่มต้น | กลุ่มผู้ปฏิบัติงานที่ผู้ปฏิบัติงานเป็นสมาชิกอยู่และดึงการกำหนดค่าออกมา | คนงาน |
โหมด | แบบสแตนด์อโลน | โหมดถ้าไบนารี ค่าที่เป็นไปได้: สแตนด์อโลน ผู้ปฏิบัติงาน เซิร์ฟเวอร์ ตัวแทน | ทั้งหมด |
METRICS_ADDR | ไม่มี | (ee เท่านั้น) addr ซ็อกเก็ตที่จะเปิดเผยตัววัด Prometheus ที่เส้นทาง /metrics ตั้งค่าเป็น "จริง" เพื่อแสดงบนพอร์ต 8001 | ทั้งหมด |
JSON_FMT | เท็จ | ส่งออกบันทึกในรูปแบบ json แทน logfmt | ทั้งหมด |
ฐาน_URL | http://localhost:8000 | URL พื้นฐานที่เปิดเผยต่อสาธารณะเพื่อเข้าถึงอินสแตนซ์ของคุณ ถูกแทนที่โดยการตั้งค่าอินสแตนซ์ หากมี | เซิร์ฟเวอร์ |
ZOMBIE_JOB_TIMEOUT | 30 | การหมดเวลาหลังจากที่งานถือเป็นซอมบี้หากผู้ปฏิบัติงานไม่ส่ง Ping เกี่ยวกับการประมวลผลงาน (เซิร์ฟเวอร์ทุกเครื่องจะตรวจสอบงานซอมบี้ทุกๆ 30 วินาที) | เซิร์ฟเวอร์ |
RESTART_ZOMBIE_JOBS | จริง | หากเป็นจริง งานซอมบี้จะเริ่มต้นใหม่ (แทนที่ด้วย uuid เดียวกันและบันทึกบางส่วน) หากเป็นเท็จ งานซอมบี้จะล้มเหลว | เซิร์ฟเวอร์ |
SLEEP_QUEUE | 50 | จำนวน ms ที่จะเข้าสู่โหมดสลีประหว่างการตรวจสอบงานใหม่ในฐานข้อมูลครั้งล่าสุด คูณด้วย NUM_WORKERS โดยเฉลี่ยแล้ว สำหรับอินสแตนซ์ของผู้ปฏิบัติงานหนึ่งราย มีการดึงหนึ่งครั้งทุกๆ SLEEP_QUEUE มิลลิวินาที | คนงาน |
KEEP_JOB_DIR | เท็จ | เก็บไดเร็กทอรีงานไว้หลังจากงานเสร็จสิ้น มีประโยชน์สำหรับการดีบัก | คนงาน |
LICENSE_KEY (EE เท่านั้น) | ไม่มี | ตรวจสอบรหัสใบอนุญาตเมื่อเริ่มต้นสำหรับรุ่น Enterprise ของ Windmill | คนงาน |
SLACK_SIGNING_ความลับ | ไม่มี | ความลับในการลงนามแอป Slack ของคุณ ดูเอกสารประกอบของ Slack | เซิร์ฟเวอร์ |
COOKIE_DOMAIN | ไม่มี | โดเมนของคุกกี้ หากไม่ได้ตั้งค่า เบราว์เซอร์จะตั้งค่าคุกกี้ตามแหล่งที่มาแบบเต็ม | เซิร์ฟเวอร์ |
DENO_PATH | /usr/bin/deno | เส้นทางสู่ไบนารีดีโน | คนงาน |
PYTHON_PATH | /usr/local/bin/python3 | เส้นทางสู่ไบนารีหลาม | คนงาน |
GO_PATH | /usr/bin/go | เส้นทางสู่ไบนารีไป | คนงาน |
รัฐบาล | ตัวแปร env GOPRIVATE เพื่อใช้โมดูล go ส่วนตัว | คนงาน | |
โกพรอกซี | ตัวแปร env GOPROXY ที่จะใช้ | คนงาน | |
NETRC | เนื้อหา netrc เพื่อใช้รีจิสทรี go ส่วนตัว | คนงาน | |
เส้นทาง | ไม่มี | ตัวแปรสภาพแวดล้อมของเส้นทาง มักจะสืบทอดมา | คนงาน |
บ้าน | ไม่มี | โฮมไดเร็กตอรี่ที่จะใช้สำหรับ Go และ Bash มักจะสืบทอดมา | คนงาน |
DATABASE_CONNECTIONS | 50 (เซิร์ฟเวอร์)/3 (คนงาน) | จำนวนการเชื่อมต่อสูงสุดในกลุ่มการเชื่อมต่อฐานข้อมูล | ทั้งหมด |
SUPERADMIN_SECRET | ไม่มี | โทเค็นที่จะให้ผู้เรียกทำหน้าที่เป็นผู้ดูแลระบบขั้นสูงเสมือน [email protected] | เซิร์ฟเวอร์ |
TIMEOUT_WAIT_RESULT | 20 | จำนวนวินาทีที่ต้องรอก่อนหมดเวลาบนปลายทาง 'run_wait_result' | คนงาน |
QUEUE_LIMIT_WAIT_RESULT | ไม่มี | จำนวนงานสูงสุดในคิวก่อนที่จะปฏิเสธคำขอในปลายทาง 'run_wait_result' ทันที มีความสำคัญเหนือกว่าแบบสอบถามหาเรื่อง หากไม่มีการระบุ ก็ไม่มีขีดจำกัด | คนงาน |
DENO_AUTH_TOKENS | ไม่มี | DENO_AUTH_TOKENS แบบกำหนดเองเพื่อส่งต่อไปยังผู้ปฏิบัติงานเพื่ออนุญาตให้ใช้โมดูลส่วนตัว | คนงาน |
DISABLE_RESPONSE_LOGS | เท็จ | ปิดการใช้งานบันทึกการตอบกลับ | เซิร์ฟเวอร์ |
CREATE_WORKSPACE_REQUIRE_SUPERADMIN | จริง | หากเป็นจริง เฉพาะผู้ดูแลระบบขั้นสูงเท่านั้นที่สามารถสร้างพื้นที่ทำงานใหม่ได้ | เซิร์ฟเวอร์ |
ดูไฟล์ ./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