پیاده سازی خودکار و هوشمند استکهای Docker روی VPS هاستینگر با n8n Form و Hostinger API
User Input & Dynamic Form: دریافت اطلاعات اولیه از طریق n8n Form Trigger و استعلام سرورهای مجازی فعال با Hostinger API. Stack Expansion & Secret Generation: تبدیل استک انتخابی کاربر به پروژههای مجزای Docker Compose و تولید اعتبارات امنیتی (Secrets) تصادفی به وسیله Nodeهای اسکریپتنویسی Code. Asynchronous Deployment & Polling: ارسال درخواست دیپلوی به Hostinger VPS API، توقف ۹۰ ثانیهای (Wait) و استعلام وضعیت نهایی اکشن. Health Check & Log Parsing: دریافت لیست کانتینرهای فعال در صورت موفقیت یا لاگهای داکر در صورت بروز خطا. Aggregation & Notification: تجمیع تمام گزارشهای دیپلوی برنامهها در قالب یک خروجی یکپارچه و ارسال گزارش جامع به ایمیل کاربر (SMTP). Step-by-Step Logic : When Form Submitted: دریافت فرم اولیه شامل نوع استک انتخابی (Developer, Hobbyist, Freelancer, AI/LLM) و ایمیل اطلاعرسانی. Fetch VPS List & Generate VPS Options: لیست VPSهای موجود در حساب هاستینگر فراخوانی شده و یک فرم دینامیک دوم (Display VPS Selection) برای انتخاب سرور مقصد ایجاد میشود. Set VPS Details & Create Deployment Items: کانفیگهای مربوط به پروژه Docker Compose برای هر برنامه استخراج شده و رمزهای عبور تصادفی برای دیتابیسها یا بخشهای مدیریتی (مانند PostgreSQL یا LiteLLM) تولید میشوند. Initiate Docker Deployment: درخواست ساخت پروژه Docker روی سرور مجازی هاستینگر از طریق endpoint اختصاصی ارسال میگردد. Wait 90 Seconds & Fetch Deployment Status: فرآیند به مدت ۹۰ ثانیه متوقف شده تا عملیات docker compose up روی VPS اجرا شود، سپس وضعیت دیپلوی استعلام میگردد. Check Deployment Success (If Node): مسیر موفقیت (Success): فراخوانی نود Retrieve Container List جهت استخراج کانتینرهای اجراشده و پورتهای مربوطه. مسیر خطا (Failure): فراخوانی نود Fetch Docker Logs جهت استخراج ۴۰ خط پایانی لاگهای کانتینر برای عیبیابی. Combine Results & Dispatch Summary Email: تمامی خروجیها توسط Aggregate Node تجمیع شده و گزارش کامل شامل لیست برنامهها، وضعیت کانتینرها، پورتهای باز و کلیدها/رمزهای عبور به ایمیل کاربر فرستاده میشود. Edge Cases & Error Handling : ارزیابی اکشنهای ناهمگام (Asynchronous Actions): استفاده از الگوی Polling و تاخیر زمنی با Wait Node جهت اطمینان از پایان دانلود Imageها و اجرای کانتینرها روی VPS. عیبیابی خودکار در صورت Failure: در صورت عدم موفقیت در استقرار پروژهها، ورکفلو بهصورت خودکار لاگهای داکر (Docker Logs) را استخراج کرده و علت خطای اجرا را در گزارش ایمیل درج میکند. جلوگیری از تداخل پورتها (Port Conflicts): تمامی پروژههای موجود در کاتالوگ استکها به پورتهای مجزا و استاندارد مپ شدهاند تا هیچ دو برنامهای روی یک پورت بومی VPS دچار تداخل نشوند.
Form Trigger · Hostinger Api · Code · Form · Docker · Wait · If · Aggregate · Email Send