جربه - المستندات - Discord - Hub - دليل المساهمين
Windmill مفتوح المصدر بالكامل (AGPLv3) وتوفر Windmill Labs مثيلًا مخصصًا ودعمًا تجاريًا وتراخيص.
حدد برنامجًا نصيًا بسيطًا وعامًا في Python أو TypeScript أو Go أو Bash لحل مهمة محددة. يمكن تعريف الكود في Web IDE المقدم أو مزامنته مع GitHub repo الخاص بك (على سبيل المثال من خلال ملحق VS Code):
نحن نقدم فقط إعداد إنشاء عامل الإرساء هنا. لمزيد من الإعدادات المتقدمة، مثل التجميع من المصدر أو الاستخدام بدون مستخدم 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 et voilà :)
المستخدم المشرف المتميز الافتراضي هو: [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) مباشرة من واجهة المستخدم في إعدادات المشرف المتميز. لاحظ أن هناك حدًا أقصى لعدد مستخدمي الدخول الموحد (SSO) يبلغ 10 في إصدار المجتمع.
انظر الوثائق.
لكي تتمكن من استضافة Windmill ذاتيًا، يجب عليك احترام شروط ترخيص AGPLv3 الذي لا داعي للقلق بشأنه للاستخدامات الشخصية. بالنسبة للاستخدامات التجارية، يجب أن تكون على ما يرام إذا لم تقم بإعادة تعريض Windmill بأي شكل من الأشكال للمستخدمين لديك وكنت مرتاحًا مع AGPLv3.
لإعادة عرض أي أجزاء من Windmill لمستخدميك كميزة لمنتجك، أو لإنشاء ميزة أعلى Windmill، للتوافق مع AGPLv3، يجب أن يكون منتجك AGPLv3 أو يجب أن تحصل على ترخيص تجاري. اتصل بنا على [email protected] إذا كانت لديك أي شكوك.
بالإضافة إلى ذلك، يمنحك الترخيص التجاري مهندسًا مخصصًا لنقل البنية الأساسية الحالية لديك إلى Windmill، والدعم من خلال اتفاقية مستوى الخدمة المشددة، ومزامنة ذاكرة التخزين المؤقت العالمية الخاصة بنا لتحقيق الأداء العالي/عدم فقدان ذاكرة التخزين المؤقت للتبعية للمجموعة من أكثر من 10 عقد إلى أكثر من 200 عقدة.
في Windmill، يُشار إلى عمليات التكامل على أنها موارد وأنواع الموارد. يحتوي كل مورد على نوع المورد الذي يحدد المخطط الذي يحتاج المورد إلى تنفيذه.
في المثيلات المستضافة ذاتيًا، قد ترغب في استيراد كافة أنواع الموارد المعتمدة من WindmillHub. سيطالبك برنامج الإعداد النصي بمزامنته تلقائيًا كل يوم.
اسم متغير البيئة | تقصير | وصف | خادم API/العامل/الكل |
---|---|---|---|
DATABASE_URL | عنوان URL لقاعدة بيانات Postgres. | الجميع | |
WORKER_GROUP | تقصير | المجموعة العاملة التي ينتمي إليها العامل ويتم سحب التكوين الخاص بها منها | عامل |
وضع | مستقل | الوضع إذا كان ثنائي. القيم المحتملة: مستقل، عامل، خادم، وكيل | الجميع |
METRICS_ADDR | لا أحد | (ee فقط) عنوان المقبس الذي يتم من خلاله عرض مقاييس Prometheus على المسار /metrics. اضبط على "صحيح" لعرضه على المنفذ 8001 | الجميع |
JSON_FMT | خطأ شنيع | قم بإخراج السجلات بتنسيق json بدلاً من logfmt | الجميع |
BASE_URL | http://localhost:8000 | عنوان URL الأساسي الذي يتم عرضه للعامة للوصول إلى مثيلك. يتم تجاوزه بواسطة إعدادات المثيل إن وجدت. | الخادم |
ZOMBIE_JOB_TIMEOUT | 30 | المهلة التي تعتبر المهمة بعدها كمهمة زومبي إذا لم يرسل العامل أوامر ping حول معالجة المهمة (يقوم كل خادم بالتحقق من وظائف زومبي كل 30 ثانية) | الخادم |
RESTART_ZOMBIE_JOBS | حقيقي | إذا كان صحيحًا، فسيتم إعادة تشغيل مهمة zombie (في نفس المكان باستخدام نفس uuid وبعض السجلات)، وإذا كان خطأ، فستفشل مهمة zombie | الخادم |
SLEEP_QUEUE | 50 | عدد فترات السكون بين آخر عملية فحص للوظائف الجديدة في قاعدة البيانات. يتم ضربها في NUM_WORKERS بحيث يكون هناك في المتوسط، لمثيل عامل واحد، سحب واحد كل SLEEP_QUEUE مللي ثانية. | عامل |
KEEP_JOB_DIR | خطأ شنيع | احتفظ بدليل المهام بعد الانتهاء من المهمة. مفيدة لتصحيح الأخطاء. | عامل |
LICENSE_KEY (EE فقط) | لا أحد | تم فحص مفتاح الترخيص عند بدء التشغيل لإصدار Enterprise من Windmill | عامل |
SLACK_SIGNING_SECRET | لا أحد | سر التوقيع لتطبيق Slack الخاص بك. راجع وثائق سلاك | الخادم |
ملف تعريف الارتباط_DOMAIN | لا أحد | مجال ملف تعريف الارتباط. إذا لم يتم تعيينه، فسيتم تعيين ملف تعريف الارتباط بواسطة المتصفح بناءً على الأصل الكامل | الخادم |
DENO_PATH | /usr/bin/deno | الطريق إلى ثنائي دينو. | عامل |
PYTHON_PATH | /usr/local/bin/python3 | المسار إلى ثنائي بايثون. | عامل |
GO_PATH | /usr/bin/go | الطريق إلى الذهاب الثنائي. | عامل |
القطاع الخاص | متغير env GOPRIVATE لاستخدام وحدات go الخاصة | عامل | |
جوبوكسي | متغير البيئة GOPROXY المطلوب استخدامه | عامل | |
NETRC | محتوى netrc لاستخدام سجل go الخاص | عامل | |
طريق | لا أحد | متغير بيئة المسار، عادة ما يكون موروثًا | عامل |
بيت | لا أحد | عادةً ما يكون الدليل الرئيسي المُستخدم في Go وBash موروثًا | عامل |
DATABASE_CONNECTIONS | 50 (الخادم)/3 (العامل) | الحد الأقصى لعدد الاتصالات في تجمع اتصال قاعدة البيانات | الجميع |
سوبر أدمين_سيكريت | لا أحد | رمز مميز يسمح للمتصل بالعمل كمسؤول افتراضي فائق [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