[{"data":1,"prerenderedAt":663},["ShallowReactive",2],{"header-service-categories":3,"footer-service-categories":212,"article-gitlab-runner-basics":287,"related-gitlab-runner-basics":308},[4,43,176],{"id":5,"name":6,"description":7,"image":8,"image_alt":9,"slug":10,"isSec":11,"features":12,"service_groups":13,"key":33,"title":6,"imageAlt":6,"services":34},1,"عملیات و پشتیبانی","پایداری  و پشتیبانی برای سرویس‌های حیاتی","",null,"support",false,[],[14,25],{"id":15,"category":5,"name":16,"listname":16,"name_en":17,"image":18,"image_alt":16,"description":19,"slug":17,"headline":20,"tagline":21,"hidden":11,"group_type":22,"sort_order":23,"features":24},10,"پشتیبانی و خدمات دواپس","devops-support","/media/service_group_images/group-10-devops-support.png","\u003Cp>خدمات پشتیبانی ماهانه DevOps برای راه‌اندازی، نگهداری و عیب‌یابی زیرساخت‌های استقرار و مانیتورینگ ارائه می‌شود. این سرویس شامل پیاده‌سازی CI/CD، داکرایز کردن پروژه‌ها، راه‌اندازی مانیتورینگ، مدیریت لاگ و بهینه‌سازی فرایندهای استقرار است. هر پلن شامل تعداد ساعت مشخصی پشتیبانی است و در صورت مصرف بیشتر، ساعات مازاد به‌صورت جداگانه محاسبه خواهد شد.\u003C/p>","پشتیبانی و خدمات DevOps","راه‌اندازی، نگهداری و بهینه‌سازی زیرساخت DevOps برای استقرار سریع‌تر و پایدارتر","F",91,[],{"id":5,"category":5,"name":26,"listname":26,"name_en":10,"image":27,"image_alt":26,"description":28,"slug":10,"headline":29,"tagline":30,"hidden":11,"group_type":22,"sort_order":31,"features":32},"پشتیبانی و مدیریت سرور لینوکسی","/media/service_group_images/group-01-support_r0RZtMn.png","\u003Cp>خدمات پشتیبانی ماهانه برای مدیریت، عیب‌یابی و نگهداری سرورهای لینوکسی ارائه می‌شود. هر پلن شامل تعداد ساعت مشخصی پشتیبانی است و در صورت مصرف بیشتر، ساعات مازاد به‌صورت جداگانه محاسبه خواهد شد.\u003C/p>","پشتیبانی تخصصی سرور، متناسب با نیاز کسب‌وکار شما","از رفع خطاهای زیرساختی تا مدیریت روزمره سرور، با پلن‌های ماهانه و شفاف",90,[],"operations",[35,39],{"id":15,"category":5,"name":16,"listname":16,"name_en":17,"image":36,"image_alt":16,"description":19,"slug":17,"headline":20,"tagline":21,"hidden":11,"group_type":22,"sort_order":23,"features":37,"listName":16,"imageAlt":16,"services":38,"serviceCategoryKey":33,"serviceCategoryImage":8,"serviceCategoryImageAlt":6},"https://api.dornadevops.com/media/service_group_images/group-10-devops-support.png",[],[],{"id":5,"category":5,"name":26,"listname":26,"name_en":10,"image":40,"image_alt":26,"description":28,"slug":10,"headline":29,"tagline":30,"hidden":11,"group_type":22,"sort_order":31,"features":41,"listName":26,"imageAlt":26,"services":42,"serviceCategoryKey":33,"serviceCategoryImage":8,"serviceCategoryImageAlt":6},"https://api.dornadevops.com/media/service_group_images/group-01-support_r0RZtMn.png",[],[],{"id":44,"name":45,"description":46,"image":8,"image_alt":9,"slug":47,"isSec":11,"features":48,"service_groups":62,"key":142,"title":45,"imageAlt":45,"services":143},2,"زیرساخت و میزبانی","میزبانی مطمئن برای محصولاتی که باید همیشه در دسترس باشند","Infrastructure",[49,53,57],{"id":5,"name":50,"description":51,"image":52,"imageAlt":50},"بهترین سرورهای مجازی","با زیرساختی مطمئن  با هارد SSD","https://api.dornadevops.com/media/service_group_category_feature_images/dorna.jpg",{"id":44,"name":54,"description":55,"image":56,"imageAlt":54},"بهترین هاست های اشتراکی","با منابع مشخص و هارد SSD","https://api.dornadevops.com/media/service_group_category_feature_images/logo.png",{"id":58,"name":59,"description":60,"image":61,"imageAlt":59},3,"لایسنس های اشتراکی","انواع لایسنس های اشتراکی دایرکت ادمین و سیپنل","https://api.dornadevops.com/media/service_group_category_feature_images/dorna_J0pkwr0.jpg",[63,73,93,103,113,123,132],{"id":44,"category":44,"name":64,"listname":64,"name_en":65,"image":66,"image_alt":64,"description":67,"slug":65,"headline":68,"tagline":69,"hidden":11,"group_type":70,"sort_order":71,"features":72},"لایسنس نرم‌افزارهای مدیریت سرور","license","/media/service_group_images/group-02-license.png","\u003Cp>در این بخش می‌توانید لایسنس‌های موردنیاز برای مدیریت، امنیت، مجازی‌سازی و بهینه‌سازی سرور را به‌صورت ماهانه تهیه یا تمدید کنید. تمامی لایسنس‌ها با هدف افزایش کارایی، امنیت و سهولت مدیریت سرور ارائه می‌شوند.\u003C/p>","لایسنس‌های ضروری برای مدیریت حرفه‌ای سرور","از کنترل‌پنل و وب‌سرور تا امنیت و مجازی‌سازی، همه‌چیز برای یک زیرساخت کامل","S",80,[],{"id":74,"category":44,"name":75,"listname":76,"name_en":77,"image":78,"image_alt":79,"description":80,"slug":77,"headline":81,"tagline":82,"hidden":11,"group_type":22,"sort_order":83,"features":84},5,"خرید سرورمجازی ایران (VPS)","سرورمجازی ایران (VPS)","vps-iran","/media/service_group_images/group-05-iran-vm.png","سرور مجازی ایران با منابع اختصاصی","\u003Cp>اگر به دنبال یک \u003Cstrong>سرورمجازی (Virtual Private Server)\u003C/strong> با \u003Cstrong>کیفیت خوب\u003C/strong> و قیمت \u003Cstrong>ارزان\u003C/strong> هستید، سرویس \u003Cstrong>VPS\u003C/strong> ایران ما در دو دیتاسنتر معتبر \u003Cstrong>شاتل و پیشگامان\u003C/strong> بهترین انتخاب برای \u003Cstrong>میزبانی وب\u003C/strong> و پروژه‌های شماست. این سرورها با بهره‌گیری از سخت‌افزار قدرتمند، پینگ بسیار پایین و پایداری بالا، سرعت دسترسی فوق‌العاده‌ای را برای کاربران داخل کشور فراهم می‌کنند. همچنین شما می‌توانید متناسب با نیاز خود، \u003Cstrong>انواع سیستم‌عامل‌های لینوکسی و ویندوزی\u003C/strong> را به صورت آنی روی سرور خود نصب و مدیریت کنید.\u003C/p>","قدرت بیشتر، کنترل کامل‌تر، میزبانی در ایران","از پروژه‌های در حال رشد تا سرویس‌های حرفه‌ای، با منابع اختصاصی و دسترسی پایدار",70,[85,89],{"id":5,"name":86,"description":87,"image":88},"هارد","با هاردهای پرسرعت SSD","/media/service_group_feature_images/logo.png",{"id":44,"name":90,"description":91,"image":92},"منابع اختصاصی","با منابع کاملا اختصاصی بدون ضریب اشتراک","/media/service_group_feature_images/dorna.jpg",{"id":94,"category":44,"name":95,"listname":95,"name_en":96,"image":97,"image_alt":95,"description":98,"slug":96,"headline":99,"tagline":100,"hidden":11,"group_type":22,"sort_order":101,"features":102},4,"هاست لینوکس ایران برای میزبانی سایت","linux-host","/media/service_group_images/group-04-linux-host.png","\u003Cp>هاست لینوکس ایران برای میزبانی سایت‌های شرکتی، فروشگاهی و شخصی با منابع متنوع، پهنای باند نامحدود و امکان استفاده از کنترل‌پنل‌های محبوب ارائه می‌شود. این سرویس برای راه‌اندازی سریع و پایدار وب‌سایت در داخل ایران مناسب است.\u003C/p>","میزبانی لینوکسی سریع و پایدار در ایران","انتخابی مناسب برای سایت‌های ایرانی با دسترسی بهتر، منابع متنوع و مدیریت آسان",63,[],{"id":104,"category":44,"name":105,"listname":105,"name_en":106,"image":107,"image_alt":105,"description":108,"slug":106,"headline":109,"tagline":110,"hidden":11,"group_type":22,"sort_order":111,"features":112},8,"هاست ایمیل حرفه‌ای","email","/media/service_group_images/group-08-email.png","\u003Cp>سرویس ایمیل برای راه‌اندازی و مدیریت ایمیل سازمانی با تنظیمات بهینه و کاهش ریسک اسپم‌شدن ارائه می‌شود. این سرویس دارای پنل تحت وب، امکان ساخت حساب‌های متعدد و بکاپ هفتگی است.\u003C/p>","ایمیل سازمانی پایدار و حرفه‌ای برای کسب‌وکار شما","ارسال و دریافت مطمئن ایمیل با تنظیمات بهینه، پنل تحت وب و پشتیبانی مداوم",62,[],{"id":114,"category":44,"name":115,"listname":115,"name_en":116,"image":117,"image_alt":115,"description":118,"slug":116,"headline":119,"tagline":120,"hidden":11,"group_type":22,"sort_order":121,"features":122},9,"هاست لینوکس خارج با کیفیت بین‌المللی","linux-host-eu","/media/service_group_images/group-09-linux-host-eu.png","\u003Cp>هاست لینوکس خارج برای سایت‌هایی مناسب است که به میزبانی با کیفیت بالا در خارج از کشور نیاز دارند. این سرویس با فضای مناسب، پهنای باند نامحدود، SSL و امکان استفاده از کنترل‌پنل‌های محبوب ارائه می‌شود.\u003C/p>","میزبانی لینوکسی خارج، مناسب پروژه‌های حرفه‌ای‌تر","کیفیت بالا، منابع مناسب و انتخابی مطمئن برای وب‌سایت‌های بین‌المللی یا خاص",61,[],{"id":58,"category":44,"name":124,"listname":124,"name_en":125,"image":126,"image_alt":124,"description":127,"slug":125,"headline":128,"tagline":129,"hidden":11,"group_type":22,"sort_order":130,"features":131},"فضای بکاپ و نگهداری نسخه پشتیبان","backup","/media/service_group_images/group-03-backup.png","\u003Cp>هاست بکاپ مناسب ذخیره‌سازی امن فایل‌های پشتیبان سایت و سرور است و با فضای متنوع، ترافیک نامحدود و دسترسی FTP/SFTP ارائه می‌شود. این سرویس برای نگهداری نسخه‌های پشتیبان منظم و دسترسی سریع طراحی شده است\u003C/p>","فضایی مطمئن برای نگهداری بکاپ‌های مهم شما","ذخیره‌سازی سریع، ترافیک نامحدود و دسترسی امن برای مدیریت بهتر نسخه‌های پشتیبان",50,[],{"id":133,"category":44,"name":134,"listname":134,"name_en":135,"image":136,"image_alt":134,"description":137,"slug":135,"headline":138,"tagline":139,"hidden":11,"group_type":22,"sort_order":140,"features":141},7,"خدمات مانیتورینگ","monitoring","/media/service_group_images/group-07-monitoring.png","\u003Cp>این سرویس برای پایش وضعیت دسترس‌پذیری و سلامت سرویس‌ها طراحی شده و با گزارش‌گیری، عیب‌یابی و اطلاع‌رسانی از طریق ایمیل و تلگرام، به شما در شناسایی سریع اختلال‌ها کمک می‌کند.\u003C/p>","همیشه از وضعیت سرویس‌های خود باخبر باشید","پایش لحظه‌ای آپتایم، گزارش دقیق و اطلاع‌رسانی سریع در زمان بروز اختلال",0,[],"infrastructure",[144,148,156,160,164,168,172],{"id":44,"category":44,"name":64,"listname":64,"name_en":65,"image":145,"image_alt":64,"description":67,"slug":65,"headline":68,"tagline":69,"hidden":11,"group_type":70,"sort_order":71,"features":146,"listName":64,"imageAlt":64,"services":147,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},"https://api.dornadevops.com/media/service_group_images/group-02-license.png",[],[],{"id":74,"category":44,"name":75,"listname":76,"name_en":77,"image":149,"image_alt":79,"description":80,"slug":77,"headline":81,"tagline":82,"hidden":11,"group_type":22,"sort_order":83,"features":150,"listName":76,"imageAlt":79,"services":155,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},"https://api.dornadevops.com/media/service_group_images/group-05-iran-vm.png",[151,153],{"id":5,"name":86,"description":87,"image":152,"imageAlt":86},"https://api.dornadevops.com/media/service_group_feature_images/logo.png",{"id":44,"name":90,"description":91,"image":154,"imageAlt":90},"https://api.dornadevops.com/media/service_group_feature_images/dorna.jpg",[],{"id":94,"category":44,"name":95,"listname":95,"name_en":96,"image":157,"image_alt":95,"description":98,"slug":96,"headline":99,"tagline":100,"hidden":11,"group_type":22,"sort_order":101,"features":158,"listName":95,"imageAlt":95,"services":159,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},"https://api.dornadevops.com/media/service_group_images/group-04-linux-host.png",[],[],{"id":104,"category":44,"name":105,"listname":105,"name_en":106,"image":161,"image_alt":105,"description":108,"slug":106,"headline":109,"tagline":110,"hidden":11,"group_type":22,"sort_order":111,"features":162,"listName":105,"imageAlt":105,"services":163,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},"https://api.dornadevops.com/media/service_group_images/group-08-email.png",[],[],{"id":114,"category":44,"name":115,"listname":115,"name_en":116,"image":165,"image_alt":115,"description":118,"slug":116,"headline":119,"tagline":120,"hidden":11,"group_type":22,"sort_order":121,"features":166,"listName":115,"imageAlt":115,"services":167,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},"https://api.dornadevops.com/media/service_group_images/group-09-linux-host-eu.png",[],[],{"id":58,"category":44,"name":124,"listname":124,"name_en":125,"image":169,"image_alt":124,"description":127,"slug":125,"headline":128,"tagline":129,"hidden":11,"group_type":22,"sort_order":130,"features":170,"listName":124,"imageAlt":124,"services":171,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},"https://api.dornadevops.com/media/service_group_images/group-03-backup.png",[],[],{"id":133,"category":44,"name":134,"listname":134,"name_en":135,"image":173,"image_alt":134,"description":137,"slug":135,"headline":138,"tagline":139,"hidden":11,"group_type":22,"sort_order":140,"features":174,"listName":134,"imageAlt":134,"services":175,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},"https://api.dornadevops.com/media/service_group_images/group-07-monitoring.png",[],[],{"id":58,"name":177,"description":178,"image":8,"image_alt":9,"slug":179,"isSec":180,"features":181,"service_groups":182,"key":179,"title":177,"imageAlt":177,"services":203},"امنیت و ابزارها","ریسک کمتر، کنترل بیشتر","security",true,[],[183,193],{"id":184,"category":58,"name":185,"listname":185,"name_en":186,"image":187,"image_alt":185,"description":188,"slug":186,"headline":189,"tagline":190,"hidden":11,"group_type":22,"sort_order":191,"features":192},12,"اسکن های امنیتی ایستا","static-scans","/media/service_group_images/group-12-static-scans.png","\u003Cp>پایش امنیت کد منبع، کتابخانه ها و اطلاعات حساس برای شناسایی آسیب پذیری ها پیش از انتشار نرم افزار.\u003C/p>","سرویس های اسکن ایستای امنیت نرم افزار","شناسایی آسیب پذیری ها پیش از اجرا و انتشار نرم افزار",101,[],{"id":194,"category":58,"name":195,"listname":195,"name_en":196,"image":197,"image_alt":195,"description":198,"slug":196,"headline":199,"tagline":200,"hidden":11,"group_type":22,"sort_order":201,"features":202},11,"اسکن های امنیتی پویا (به زودی)","dynamic-scans","/media/service_group_images/group-11-dynamic-scans.png","\u003Cp>سرویس‌های اسکن امنیتی، راهکاری برای پایش مستمر امنیت نرم‌افزار و شناسایی خودکار آسیب‌پذیری‌ها پیش از انتشار هستند. این خدمات با پنل مدیریت فارسی و قابلیت ادغام با GitLab ارائه می‌شوند. در حال حاضر سرویس اسکن ایستا (کد، کتابخانه‌ها و سکرت‌ها) فعال بوده و پلن‌های اسکن پویا، ترکیبی و زیرساخت به‌زودی اضافه خواهند شد.\u003C/p>","سرویس های اسکن پویای امنیت نرم افزار","شناسایی آسیب پذیری های برنامه در حال اجرا پیش از آنکه به تهدید تبدیل شوند",100,[],[204,208],{"id":184,"category":58,"name":185,"listname":185,"name_en":186,"image":205,"image_alt":185,"description":188,"slug":186,"headline":189,"tagline":190,"hidden":11,"group_type":22,"sort_order":191,"features":206,"listName":185,"imageAlt":185,"services":207,"serviceCategoryKey":179,"serviceCategoryImage":8,"serviceCategoryImageAlt":177},"https://api.dornadevops.com/media/service_group_images/group-12-static-scans.png",[],[],{"id":194,"category":58,"name":195,"listname":195,"name_en":196,"image":209,"image_alt":195,"description":198,"slug":196,"headline":199,"tagline":200,"hidden":11,"group_type":22,"sort_order":201,"features":210,"listName":195,"imageAlt":195,"services":211,"serviceCategoryKey":179,"serviceCategoryImage":8,"serviceCategoryImageAlt":177},"https://api.dornadevops.com/media/service_group_images/group-11-dynamic-scans.png",[],[],[213,227,273],{"id":5,"name":6,"description":7,"image":8,"image_alt":9,"slug":10,"isSec":11,"features":214,"service_groups":215,"key":33,"title":6,"imageAlt":6,"services":220},[],[216,218],{"id":15,"category":5,"name":16,"listname":16,"name_en":17,"image":18,"image_alt":16,"description":19,"slug":17,"headline":20,"tagline":21,"hidden":11,"group_type":22,"sort_order":23,"features":217},[],{"id":5,"category":5,"name":26,"listname":26,"name_en":10,"image":27,"image_alt":26,"description":28,"slug":10,"headline":29,"tagline":30,"hidden":11,"group_type":22,"sort_order":31,"features":219},[],[221,224],{"id":15,"category":5,"name":16,"listname":16,"name_en":17,"image":36,"image_alt":16,"description":19,"slug":17,"headline":20,"tagline":21,"hidden":11,"group_type":22,"sort_order":23,"features":222,"listName":16,"imageAlt":16,"services":223,"serviceCategoryKey":33,"serviceCategoryImage":8,"serviceCategoryImageAlt":6},[],[],{"id":5,"category":5,"name":26,"listname":26,"name_en":10,"image":40,"image_alt":26,"description":28,"slug":10,"headline":29,"tagline":30,"hidden":11,"group_type":22,"sort_order":31,"features":225,"listName":26,"imageAlt":26,"services":226,"serviceCategoryKey":33,"serviceCategoryImage":8,"serviceCategoryImageAlt":6},[],[],{"id":44,"name":45,"description":46,"image":8,"image_alt":9,"slug":47,"isSec":11,"features":228,"service_groups":232,"key":142,"title":45,"imageAlt":45,"services":249},[229,230,231],{"id":5,"name":50,"description":51,"image":52,"imageAlt":50},{"id":44,"name":54,"description":55,"image":56,"imageAlt":54},{"id":58,"name":59,"description":60,"image":61,"imageAlt":59},[233,235,239,241,243,245,247],{"id":44,"category":44,"name":64,"listname":64,"name_en":65,"image":66,"image_alt":64,"description":67,"slug":65,"headline":68,"tagline":69,"hidden":11,"group_type":70,"sort_order":71,"features":234},[],{"id":74,"category":44,"name":75,"listname":76,"name_en":77,"image":78,"image_alt":79,"description":80,"slug":77,"headline":81,"tagline":82,"hidden":11,"group_type":22,"sort_order":83,"features":236},[237,238],{"id":5,"name":86,"description":87,"image":88},{"id":44,"name":90,"description":91,"image":92},{"id":94,"category":44,"name":95,"listname":95,"name_en":96,"image":97,"image_alt":95,"description":98,"slug":96,"headline":99,"tagline":100,"hidden":11,"group_type":22,"sort_order":101,"features":240},[],{"id":104,"category":44,"name":105,"listname":105,"name_en":106,"image":107,"image_alt":105,"description":108,"slug":106,"headline":109,"tagline":110,"hidden":11,"group_type":22,"sort_order":111,"features":242},[],{"id":114,"category":44,"name":115,"listname":115,"name_en":116,"image":117,"image_alt":115,"description":118,"slug":116,"headline":119,"tagline":120,"hidden":11,"group_type":22,"sort_order":121,"features":244},[],{"id":58,"category":44,"name":124,"listname":124,"name_en":125,"image":126,"image_alt":124,"description":127,"slug":125,"headline":128,"tagline":129,"hidden":11,"group_type":22,"sort_order":130,"features":246},[],{"id":133,"category":44,"name":134,"listname":134,"name_en":135,"image":136,"image_alt":134,"description":137,"slug":135,"headline":138,"tagline":139,"hidden":11,"group_type":22,"sort_order":140,"features":248},[],[250,253,258,261,264,267,270],{"id":44,"category":44,"name":64,"listname":64,"name_en":65,"image":145,"image_alt":64,"description":67,"slug":65,"headline":68,"tagline":69,"hidden":11,"group_type":70,"sort_order":71,"features":251,"listName":64,"imageAlt":64,"services":252,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},[],[],{"id":74,"category":44,"name":75,"listname":76,"name_en":77,"image":149,"image_alt":79,"description":80,"slug":77,"headline":81,"tagline":82,"hidden":11,"group_type":22,"sort_order":83,"features":254,"listName":76,"imageAlt":79,"services":257,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},[255,256],{"id":5,"name":86,"description":87,"image":152,"imageAlt":86},{"id":44,"name":90,"description":91,"image":154,"imageAlt":90},[],{"id":94,"category":44,"name":95,"listname":95,"name_en":96,"image":157,"image_alt":95,"description":98,"slug":96,"headline":99,"tagline":100,"hidden":11,"group_type":22,"sort_order":101,"features":259,"listName":95,"imageAlt":95,"services":260,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},[],[],{"id":104,"category":44,"name":105,"listname":105,"name_en":106,"image":161,"image_alt":105,"description":108,"slug":106,"headline":109,"tagline":110,"hidden":11,"group_type":22,"sort_order":111,"features":262,"listName":105,"imageAlt":105,"services":263,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},[],[],{"id":114,"category":44,"name":115,"listname":115,"name_en":116,"image":165,"image_alt":115,"description":118,"slug":116,"headline":119,"tagline":120,"hidden":11,"group_type":22,"sort_order":121,"features":265,"listName":115,"imageAlt":115,"services":266,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},[],[],{"id":58,"category":44,"name":124,"listname":124,"name_en":125,"image":169,"image_alt":124,"description":127,"slug":125,"headline":128,"tagline":129,"hidden":11,"group_type":22,"sort_order":130,"features":268,"listName":124,"imageAlt":124,"services":269,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},[],[],{"id":133,"category":44,"name":134,"listname":134,"name_en":135,"image":173,"image_alt":134,"description":137,"slug":135,"headline":138,"tagline":139,"hidden":11,"group_type":22,"sort_order":140,"features":271,"listName":134,"imageAlt":134,"services":272,"serviceCategoryKey":142,"serviceCategoryImage":8,"serviceCategoryImageAlt":45},[],[],{"id":58,"name":177,"description":178,"image":8,"image_alt":9,"slug":179,"isSec":180,"features":274,"service_groups":275,"key":179,"title":177,"imageAlt":177,"services":280},[],[276,278],{"id":184,"category":58,"name":185,"listname":185,"name_en":186,"image":187,"image_alt":185,"description":188,"slug":186,"headline":189,"tagline":190,"hidden":11,"group_type":22,"sort_order":191,"features":277},[],{"id":194,"category":58,"name":195,"listname":195,"name_en":196,"image":197,"image_alt":195,"description":198,"slug":196,"headline":199,"tagline":200,"hidden":11,"group_type":22,"sort_order":201,"features":279},[],[281,284],{"id":184,"category":58,"name":185,"listname":185,"name_en":186,"image":205,"image_alt":185,"description":188,"slug":186,"headline":189,"tagline":190,"hidden":11,"group_type":22,"sort_order":191,"features":282,"listName":185,"imageAlt":185,"services":283,"serviceCategoryKey":179,"serviceCategoryImage":8,"serviceCategoryImageAlt":177},[],[],{"id":194,"category":58,"name":195,"listname":195,"name_en":196,"image":209,"image_alt":195,"description":198,"slug":196,"headline":199,"tagline":200,"hidden":11,"group_type":22,"sort_order":201,"features":285,"listName":195,"imageAlt":195,"services":286,"serviceCategoryKey":179,"serviceCategoryImage":8,"serviceCategoryImageAlt":177},[],[],{"id":-1,"title":288,"slug":8,"excerpt":289,"content":290,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":294,"publishedAt":8,"readTime":296,"image":297,"imageAlt":288,"tags":298,"tagsFa":302,"views":140},"نحوه راه اندازی و تنظیم Gitlab Runner","در این مقاله با مفاهیم اصلی GitLab Runner و نحوه استفاده از آن برای اجرای Pipelineهای CI/CD آشنا می‌شویم. ابتدا ساختار Runner، Executorهای مختلف مانند Docker و Shell، نحوه نصب و ثبت Runner و نقش `tags` در انتخاب Runner مناسب بررسی می‌شود. سپس با اجرای یک Job ساده، نحوه ایجاد محیط اجرای Job، استفاده از متغیرهای CI/CD و بررسی لاگ‌ها و خطاهای اجرای Pipeline به‌صورت عملی مرور می‌شود.\r\n\r\nدر ادامه، تنظیمات مهم `config.toml`، نحوه استفاده از Helper Image و اهمیت نسخه و دسترسی به Imageها بررسی شده و در نهایت با چند نمونه عملی، روش عیب‌یابی Jobها و مدیریت Runner توضیح داده می‌شود. هدف مقاله ارائه یک دید عملی و پایه برای راه‌اندازی، استفاده و مدیریت GitLab Runner در پروژه‌های CI/CD است.","\u003Cp>در این مقاله با مفاهیم اصلی GitLab Runner و نحوه استفاده از آن برای اجرای Pipelineهای CI/CD آشنا می‌شویم. ابتدا ساختار Runner، Executorهای مختلف مانند Docker و Shell، نحوه نصب و ثبت Runner و نقش `tags` در انتخاب Runner مناسب بررسی می‌شود. سپس با اجرای یک Job ساده، نحوه ایجاد محیط اجرای Job، استفاده از متغیرهای CI/CD و بررسی لاگ‌ها و خطاهای اجرای Pipeline به‌صورت عملی مرور می‌شود.\u003C/p>\u003Cp>در ادامه، تنظیمات مهم `config.toml`، نحوه استفاده از Helper Image و اهمیت نسخه و دسترسی به Imageها بررسی شده و در نهایت با چند نمونه عملی، روش عیب‌یابی Jobها و مدیریت Runner توضیح داده می‌شود. هدف مقاله ارائه یک دید عملی و پایه برای راه‌اندازی، استفاده و مدیریت GitLab Runner در پروژه‌های CI/CD است.\u003Cbr>&nbsp;\u003C/p>\u003Cp>\u003Cstrong>رانر (Runner) و اجراکننده (Executor).\u003C/strong>&nbsp;\u003Ci>رانر\u003C/i>&nbsp;ماشینی (یا سرویسی) است که جاب‌های شما را واقعاً اجرا می‌کند.&nbsp;\u003Ci>اجراکننده(executer)\u003C/i>&nbsp;مشخص می‌کند چگونه:&nbsp;\u003C/p>\u003Cp>\u003Cstrong>اجراکننده docker\u003C/strong>&nbsp;یک کانتینر تازه از&nbsp;\u003Ccode>image:\u003C/code>ای که مشخص کرده‌اید بالا می‌آورد و&nbsp;\u003Cstrong>اجراکننده shell\u003C/strong>&nbsp;دستورها را مستقیم روی هاست رانر اجرا می‌کند. با&nbsp;\u003Ccode>\u003Cstrong>tags:\u003C/strong>\u003C/code>&nbsp;جاب‌ها را به رانر درست هدایت می‌کنید; یک جاب فقط روی رانری اجرا می‌شود که تگ مطابق را داشته باشد.\u003C/p>\u003Cp>برای نصب گیتلب رانر ساده ترین راه استفاده از ایمیج داکری اون هست که با دستور زیر میتونیم اون رو روی کامپیوتر خودمون یا سروری که برای گیتلب رانر اختصاص داده ایم دانلود کنیم\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker pull gitlab/gitlab-runner\u003C/code>\u003C/pre>\u003Cp>و در ادامه برای اجرا کردن رانر هم از این فایل داکر کامپوز استفاده میکنیم\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">services:\r\n  gitlab-runner:\r\n    image: gitlab/gitlab-runner:v18.11.4\r\n    container_name: gitlab-runner\r\n    restart: always\r\n    volumes:\r\n      - ./config:/etc/gitlab-runner\r\n      - /var/run/docker.sock:/var/run/docker.sock\u003C/code>\u003C/pre>\u003Cp>در بخش volumes مورد Docker socket را نباید صرفاً یک volume معمولی در نظر گرفت. دسترسی به Docker daemon می‌تواند سطح دسترسی بسیار بالایی روی host ایجاد کند؛ بنابراین Runnerهایی که به Docker socket دسترسی دارند باید به‌عنوان یک جزء حساس زیرساخت در نظر گرفته شوند.\u003C/p>\u003Cp>برای ران کردن داکر کامپوز :\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker compose up -d\u003C/code>\u003C/pre>\u003Cp>برای تغییر دادن فایل کانفیگ رانر که معمولا نیاز نداریم که دستی تغییرش بدیم و بطور خودکار توسط ابزار تحت ترمینال گیتلب رانر ادیت میشه ولی در بعضی مواقع خاص هم نیاز به تغییرش داریم میتونیم از volume درست شده و در مسیر اون volume فایل config.toml رو ادیت کنیم\u003C/p>\u003Cp>&nbsp;\u003C/p>\u003Cp>در نهایت باید دستور gitlab-runner register رو یا بصورت خالی و بعد پر کردن مقادیر توسط interactive shell ساخته شده توسط این برنامه, ماشین خودمون رو به هاست گیتلب معرفی و ثبت نام کنیم یا اینکه از دستور کلی که توی گیت لب بخش رانر ها بهمون میده استفاده کنیم تا one shot فرایند ثبت نام انجام بشه\u003C/p>\u003Cp>&nbsp;\u003C/p>\u003Cp>برای درست کردن رانر از بخش settings -&gt; cicd -&gt; runners یک رانر جدید ایجاد میکنیم و در صفحه بعدی که باز میشه باید tag هایی که میخوایم این رانر براشون اجرا بشه رو مشخص کنیم به عنوان مثال من دو عدد رانر یکی با تگ docker و یکی با تگ shell درست کردم\u003C/p>\u003Cfigure class=\"image\">\u003Cimg style=\"aspect-ratio:1920/1022;\" src=\"https://api.dornadevops.com/media/articles/posts/image1.png\" width=\"1920\" height=\"1022\">\u003C/figure>\u003Cp>بعد از اینکه گیت لب رانر ماشین مارو شناخت و ثبت شد هم با دستور\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">gitlab-runner run\u003C/code>\u003C/pre>\u003Cp>اون رو اماده دریافت جاب ها و اجرای اسکریپت ها میکنیم\u003C/p>\u003Cp>&nbsp;\u003C/p>\u003Cp>در صورتی که GitLab Runner را مستقیماً روی سیستم‌عامل نصب کرده باشید، باید سرویس Runner در حال اجرا باشد. اما در روش Docker Compose که در این مقاله استفاده کردیم، process مربوط به Runner داخل container اجرا می‌شود و \u003Ccode>docker compose up -d\u003C/code> آن را اجرا و در پس‌زمینه فعال نگه می‌دارد.\u003C/p>\u003Chr>\u003Cp>\u003Cstrong>هر جاب از صفر شروع می‌شود.\u003C/strong>&nbsp;این مهم‌ترین مدل ذهنی در CI/CD است. وقتی یک جاب شروع می‌شود، رانر یک محیط تمیز می‌سازد: ابتدا یک&nbsp;\u003Cstrong>ایمیج کمکی (Helper Image)\u003C/strong>&nbsp;کوچک، ریپوی شما را دانلود می‌کند، بعد&nbsp;\u003Ccode>image:\u003C/code>&nbsp;جاب بالا می‌آید و&nbsp;\u003Ccode>before_script\u003C/code>&nbsp;و&nbsp;\u003Ccode>script\u003C/code>&nbsp;شما داخل آن اجرا می‌شوند. هیچ‌چیز بین جاب‌ها باقی نمی‌ماند مگر اینکه صریحاً منتقلش کنید. به همین دلیل است که جاب تست ما هر بار&nbsp;\u003Ccode>make\u003C/code>&nbsp;را نصب می‌کند، محیط در هر اجرا کاملاً نو است.\u003C/p>\u003Cp>&nbsp;\u003C/p>\u003Cp>\u003Cstrong>متغیرهای CI/CD.\u003C/strong>&nbsp;رمزها و تنظیمات در بخش&nbsp;\u003Cstrong>Settings → CI/CD → Variables\u003C/strong>&nbsp;پروژه شما در GitLab زندگی می‌کنند و به‌صورت متغیر محیطی به جاب‌ها تزریق می‌شوند. پایپ‌لاین ما از یکی از آن‌ها استفاده می‌کند:&nbsp;به عنوان مثال در \u003Ca href=\"https://dornadevops.com/blog/devops/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A7%D8%AE%D8%AA-%D9%88-%D8%AA%D8%B2%D8%B1%DB%8C%D9%82-ssh-key-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D9%BE%D9%84%D8%A7%DB%8C%D9%86%D9%87%D8%A7%DB%8C-cicd-%DA%AF%DB%8C%D8%AA%D9%84%D8%A8/\">مقاله \u003C/a>نحوه استفاده از ssh key در گیتلب، \u003Ccode>SSH_KEY\u003C/code>&nbsp;که به‌صورت متغیر&nbsp;\u003Cstrong>از نوع File\u003C/strong>&nbsp;ذخیره شده; GitLab آن را در یک فایل موقت می‌نویسد و&nbsp;\u003Ci>مسیر\u003C/i>&nbsp;فایل را به جاب می‌دهد (\u003Ccode>$SSH_KEY\u003C/code>&nbsp;یک مسیر است، نه محتوای کلید) که دقیقاً همان چیزی است که&nbsp;\u003Ccode>ssh -i\u003C/code>&nbsp;می‌خواهد.\u003C/p>\u003Chr>\u003Ch3>برخی تنظیمات کانفیگ رانر در config.toml\u003C/h3>\u003Cul>\u003Cli data-list-item-id=\"e39d81ae9d2d1a267cc772e07fc4997b5\">\u003Cstrong>برای هر جاب از نوع docker دو ایمیج دانلود می‌شود:\u003C/strong> \u003Ccode>image:\u003C/code> خود جاب \u003Ci>و\u003C/i> یک \u003Cstrong>ایمیج کمکی (Helper Image)\u003C/strong> کوچک (برای کلون کردن ریپو و آماده‌سازی محیط). اگر رانر شما به رجیستری‌های رسمی دسترسی نداشته باشد، معمولاً اولین چیزی که شکست می‌خورد دانلود ایمیج کمکی است\u003C/li>\u003Cli data-list-item-id=\"e090a23f23edf472feefb99ef462b40d9\">\u003Cp>\u003Cstrong>نسخه رانر و ایمیج کمکی باید یکی باشد.\u003C/strong> اگر رانر را روی یک نسخه پین کرده‌اید، مطمئن شوید رجیستری شما واقعاً تگ Helper متناظر را دارد. با API رجیستری می‌توانید ببینید چه تگ‌هایی موجود است:\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">curl -s d-hosted.dornadevops.com/gitlab-runner-helper/tags/list | jq\r\n\u003C/code>\u003C/pre>\u003C/li>\u003Cli data-list-item-id=\"ee871d430b912e9155bbf0877d652e9a3\">\u003Cp>\u003Cstrong>اگر رجیستری رسمی روی شبکه شما محدود است،\u003C/strong> ایمیج‌ها را به یک رجیستری داخلی Mirror کنید و رانر را در \u003Ccode>config.toml\u003C/code> برای ان ادرس mirror تنظیم کنید:\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">[[runners]]\r\n  [runners.docker]\r\n    helper_image = \"d-hosted.dornadevops.com/gitlab-runner-helper:x86_64-v18.11.4\"\r\n    pull_policy = \"if-not-present\"\r\n\u003C/code>\u003C/pre>\u003Cul>\u003Cli data-list-item-id=\"e95f2a112ec5663095f355370fb992202\">شرط \u003Ccode>pull_policy = \"if-not-present\"\u003C/code> به‌جای دانلود در هر جاب، از کش استفاده می‌کند پایپ‌لاین‌ها سریع‌تر می‌شوند.\u003C/li>\u003Cli data-list-item-id=\"e70cea5c85ae6f2bfd7fe9610d00a16c4\">ادرس ایمیج helper مشخص شده در بلاک بالا یک mirror هاست شده توسط درنادواپس هست که میتونید برای پروژه های خودتون ازش استفاده کنید و دسترسی عمومی به این ایمیج بدون مشکلات تحریم و سرعت دانلود کم در دسترس است\u003C/li>\u003C/ul>\u003C/li>\u003C/ul>\u003Chr>\u003Ch3>اجرای یک جاب ساده\u003C/h3>\u003Cp>برای اینکه نحوه کار کردن و دیدن لاگ های ماشین رانر رو باهم مرور کنیم یک جاب ساده ایجاد میکنیم و مرحله به مرحله مشکلات و ارور هایی که بهشون برمیخوریم رو حل میکنیم.\u003C/p>\u003Cp>در ابتدا بعد از رجیستر شدن رانرمون توی گیت لب با دسترسی به پروژه، فایل \u003Ccode>.gitlab-ci.yml\u003C/code> رو ادیت میکنیم تا اولین جابمون رو بسازیم\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">\r\ntest_job:\r\n  stage: test\r\n  image: python:3.9-slim-bookworm\r\n  before_script:\r\n    - apt update\r\n    - apt install cowsay -y\r\n  script:\r\n\t- cowsay \"hi\"\r\n\u003C/code>\u003C/pre>\u003Cp>بعد از درست کردن این فایل و پوش کردن تغییرات به ریپو گیتلب میبینیم که در صفحه ریپو اطلاعات جدیدی راجب پایپ لاین اجرا شده اضافه شده\u003C/p>\u003Cfigure class=\"image\">\u003Cimg style=\"aspect-ratio:1920/1022;\" src=\"https://api.dornadevops.com/media/articles/posts/image2.png\" width=\"1920\" height=\"1022\">\u003C/figure>\u003Cp>که علامت سمت راست این نوار بسته به اینکه وضعیت پایپ لاین نهایی اجرا شده چی هست تغییر میکنه\u003Cbr>\u003Cstrong>سبز\u003C/strong> به معنی موفق بودن پایپ لاین \u003Cstrong>قرمز\u003C/strong> به معنی شکست خوردن پایپ لاین و \u003Cstrong>آبی\u003C/strong> به معنی در حال اجرا بودن اون پایپ لاین هست\u003Cbr>حالت های دیگری مثل رنگ زرد هم ممکنه رخ بده که به دلیل مشکلات رانر ممکنه که این حالت رو هم ببینید\u003Cbr>از منوی سمت چپ یا کلیک روی نوار ایجاد شده در صفحه اصلی ریپو خودتون میتونید جزئیات بیشتر پایپ لاین و یا لیستی از پایپ لاین های اجرا شده بصورت کلی رو مشاهده کنید\u003Cbr>از بخش Build دو گزینه Pipelines برای پایپ لاین های ران شده تا به اکنون و Jobs برای لیست مفصل تری از جاب های هر پایپ لاین رو میتونید کلیک کنید و لیست مربوط بهش رو پیدا کنید\u003C/p>\u003Cfigure class=\"image\">\u003Cimg style=\"aspect-ratio:1895/969;\" src=\"https://api.dornadevops.com/media/articles/posts/image3.png\" width=\"1895\" height=\"969\">\u003C/figure>\u003Cp>در این مثال چون هر پایپ لاین فقط یک جاب داره هر دو لیست این ریپو تقریبا به یک صورت نمایش داده میشن, اگر راجب پایپ لاین ها و نحوه نوشتن اونها اطلاعی ندارید میتونید از \u003Ca href=\"https://dornadevops.com/blog/devops/gitlab-cicd-pipeline-design/\">مقاله پایپ لاین نویسی\u003C/a> شروع کنید به مطالعه راجبش\u003C/p>\u003Cp>در کنار هر جاب هم علامت restart هست که میتونید بدون ایجاد کردن کامیت جدید روی ریپو اون پایپ لاین رو دوباره اجرا کنید\u003C/p>\u003Cp>با کلیک بر روی هر کدوم از این جاب ها میتونید لاگ اون پایپ لاین رو ببینید در اونجا خط به خط اتفاقات و خروجی هایی که رانر شما در محیط بوجود اومده بدست اورده رو میتونید مشاهده کنید که خب طبعا برای دیباگ کردن و چک کردن وضعیت رانر از این اطلاعات میتونید استفاده خیلی زیادی بکنید\u003C/p>\u003Cp>نمونه یک پایپ لاین شکست خورده و مشاهده ارور بوجود اومده که باعث شکسته شدن پایپ لاینمون شده\u003C/p>\u003Cfigure class=\"image\">\u003Cimg style=\"aspect-ratio:1920/1080;\" src=\"https://api.dornadevops.com/media/articles/posts/image4.png\" width=\"1920\" height=\"1080\">\u003C/figure>\u003Cp>همینطور که میبینید به دلیل اینکه فایل اجرایی برنامه cowsay در مسیر PATH ماشین قرار نداره کامند اجرا نشده و جاب failed شده\u003Cbr>با تغییر دادن فایل گیتلب ci به این مقدار\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\">\tscript:\r\n\t\t- /usr/games/cowsay \"hi\"\r\n\u003C/code>\u003C/pre>\u003Cp>این مشکل رو میتونیم حل کنیم یا راه حل های دیگه ای که خودتون میتونید برای اینجا ارائه بدید\u003Cbr>و بعد از اینکه این تغییر رو پوش کردیم روی ریپوزیتوری گیتلب میبینیم که یک پایپ لاین جدید اجرا شده و موفق بوده\u003C/p>\u003Cfigure class=\"image\">\u003Cimg style=\"aspect-ratio:1920/1080;\" src=\"https://api.dornadevops.com/media/articles/posts/image5.png\" width=\"1920\" height=\"1080\">\u003C/figure>\u003Ch2>جمع بندی\u003C/h2>\u003Cp>بصورت کلی برای مدیریت رانر باید با همین موضوعات سر و کار داشته باشید. اجرا کردن جاب های موقتی که فقط برای چک کردن خروجی هایی که توی لاگ های جاب بوجود میاد انجام میشه تا تغییر دادن مقادیر فایل config.toml ماشین رانر مواردی هست که توی مبحث گیتلب رانر ازشون زیاد استفاده میشه\u003C/p>","devops","دواپس","https://api.dornadevops.com/media/articles/category/images/devops.png",{"name":295,"avatar":8,"avatarAlt":8,"firstName":8,"lastName":8},"شهیار کمالی",20,"https://api.dornadevops.com/media/articles/images/ChatGPT_Image_Sep_6_2026_04_08_41_AM.png",[299,300,301],"DevOps","GitLab","gitlab runner",[303,304,306],{"name":292,"name_en":299},{"name":305,"name_en":300},"گیت‌لب",{"name":307,"name_en":301},"گیت لب رانر",{"articles":309,"count":311,"next":9,"previous":9},[310,322,328,338,348,358,367,375,388,399,411,421,431,443,453,464,474,483,495,507,519,528,537,546,555,563,572,583,591,600,608,617,625,636,645,654],{"id":311,"title":312,"slug":313,"excerpt":314,"content":314,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":315,"publishedAt":318,"readTime":94,"image":319,"imageAlt":312,"tags":320,"tagsFa":321,"views":140},36,"آموزش ساخت و تزریق SSH Key در پایپ‌لاین‌های CI/CD گیتلب","gitlab-cicd-ssh-key-setup-and-injection","فرض کن یه پایپ‌لاین CI/CD داری که قراره پروژه رو روی یه سرور دیگه دیپلوی کنه. برای این کار ران‌رِ گیتلب باید به اون سرور وصل بشه و دستورهای لازم رو اجرا کنه؛ ولی مشکل اینجاست که اتصال SSH معمولاً یا پسورد می‌خواد یا نیاز به یه تعامل دستی داره، در حالی که پایپ‌لاین قراره کاملاً خودکار اجرا بشه و کسی پشتش نشسته که پسورد وارد کنه.\r\n\r\nراه‌حل این مشکل استفاده از SSH key هست. به‌جای پسورد، یه جفت کلید (عمومی و خصوصی) می‌سازیم؛ کلید عمومی رو روی سرور مقصد می‌ذاریم و کلید خصوصی رو یه جای امن نگه می‌داریم که فقط پایپ‌لاین بهش دسترسی داشته باشه. گیتلب هم دقیقاً برای همین کار امکانی به اسم Variables داره که می‌تونیم کلید خصوصی رو به‌صورت protected توش تعریف کنیم تا موقع اجرای پایپ‌لاین در دسترس باشه، بدون اینکه جایی توی کد یا لاگ‌ها لو بره.",{"name":295,"avatar":8,"avatarAlt":295,"firstName":316,"lastName":317},"شهیار","کمالی","1405-06-14","https://api.dornadevops.com/media/articles/images/ChatGPT_Image_Sep_6_2026_04_05_20_AM_2ITWKhK.png",[],[],{"id":323,"title":288,"slug":324,"excerpt":289,"content":289,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":325,"publishedAt":318,"readTime":296,"image":297,"imageAlt":288,"tags":326,"tagsFa":327,"views":140},35,"gitlab-runner-basics",{"name":295,"avatar":8,"avatarAlt":295,"firstName":316,"lastName":317},[],[],{"id":329,"title":330,"slug":331,"excerpt":332,"content":332,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":333,"publishedAt":318,"readTime":334,"image":335,"imageAlt":330,"tags":336,"tagsFa":337,"views":140},34,"طراحی پایپ لاین برای تست و دیپلوی سطح مبتدی با Gitlab CI/CD","gitlab-cicd-pipeline-design","در این مقاله سعی میکنیم یک سناریو ساده برای یک پروژه ساده پایتونی با فریمورک flask رو پیاده سازی کنیم. این سناریو سه مرحله تست, بیلد و استقرار یا دیپلوی پروژه و قرار دادن ان روی اینترنت رو خودکار سازی میکنه و همچنین در طراحی پایپ لاین ها خیلی مهم هست که نکات امنیتی و منطقی برای مدیریت سرور ها رعایت بشود چون در صورت وجود داشتن ایراد منطقی یا امنیتی ممکنه به مشکلات گسترده و مهمی بر بخوریم. ( مثل مدیریت نکردن نسخه های قدیمی که توسط پایپ لاین اجرا شدن که باعث درگیر شدن تمام منابع سرور و در نهایت غیر قابل دسترس شدن سرور و پایین اومدن سرویس میشه یا نشت اطلاعات حساس حین اجرای پایپ لاین که باعث بوجود اوردن دسترسی های سطح بالا بدون احراز هویت به دیگران میدهد)",{"name":295,"avatar":8,"avatarAlt":295,"firstName":316,"lastName":317},30,"https://api.dornadevops.com/media/articles/images/ChatGPT_Image_Sep_5_2026_06_22_11_AM.png",[],[],{"id":339,"title":340,"slug":341,"excerpt":342,"content":342,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":343,"publishedAt":344,"readTime":184,"image":345,"imageAlt":340,"tags":346,"tagsFa":347,"views":140},33,"راه‌اندازی رجیستری خصوصی داکر با Nexus Repository Manager","local-docker-registery-setup-on-nexus","وقتی یک تیم چند نفره روی چند پروژه کار می‌کنه، هر  docker pull یعنی دانلود مجدد از اینترنت: هم کند، هم مصرف پهنای باند، هم گیر کردن روی محدودیت‌های شبکه و rate limit داکرهاب. از طرف دیگه ایمیج‌هایی که خودمون می‌سازیم باید جایی نگه‌داری بشن که تحت کنترل ما باشه.\r\n\r\nدر این مقاله سه ریپوی داکر در نکسوس می‌سازیم و به هم وصل می‌کنیم:\r\n\r\n- یک proxy که واسط و کش داکرهاب می‌شه\r\n- یک hosted که رجیستری خصوصی ایمیج‌های خودمونه\r\n- یک group که هر دو رو زیر یک آدرس واحد جمع می‌کنه",{"name":295,"avatar":8,"avatarAlt":295,"firstName":316,"lastName":317},"1405-05-27","https://api.dornadevops.com/media/articles/images/B8-ESdR4WB-CTxJzTk1HInyVV9k-NwlpdjXXSRamUPh4twb2SQ.png",[],[],{"id":349,"title":350,"slug":351,"excerpt":352,"content":352,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":353,"publishedAt":344,"readTime":354,"image":355,"imageAlt":350,"tags":356,"tagsFa":357,"views":140},32,"نحوه راه اندازی nexus repository manager","how-to-install-nexus-repository-manager","وقتی روی یک سرور چند تا پروژه داریم یا یک تیم چند نفره روی یک محصول کار می‌کنه، هر بار دانلود شدن پکیج‌ها و ایمیج‌ها از اینترنت هم وقت می‌گیره هم پهنای باند مصرف می‌کنه؛ بعضی وقت‌ها هم به خاطر محدودیت‌های شبکه یا تحریم‌ها اصلاً به رجیستری‌های اصلی مثل Docker Hub دسترسی نداریم. برای حل این مشکل، بهترین گزینه راه‌اندازی یک ریپازیتوری منیجر داخلیه؛ سیستمی که هم می‌تونه واسط بین ما و رجیستری‌های عمومی باشه (پروکسی و کش) و هم ریپوی خصوصی خودمون برای ایمیج‌ها و پکیج‌هایی باشه که خودمون ساختیم.\r\n\r\nدر این مقاله قدم به قدم Nexus Repository Manager رو روی یک سرور اوبونتو راه‌اندازی می‌کنیم؛ از استخراج فایل نصب و ساخت کاربر اختصاصی و سرویس systemd گرفته تا اولین ورود به رابط وب، گرفتن پسورد ادمین و آشنایی با محیط نکوس رو باهم پیش میبریم",{"name":295,"avatar":8,"avatarAlt":295,"firstName":316,"lastName":317},6,"https://api.dornadevops.com/media/articles/images/ChatGPT_Image_Aug_18_2026_04_59_49_AM.png",[],[],{"id":359,"title":360,"slug":361,"excerpt":362,"content":362,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":363,"publishedAt":344,"readTime":296,"image":364,"imageAlt":360,"tags":365,"tagsFa":366,"views":140},31,"نحوه فعال کردن https  و مدیریت سرتیفیکیت دامنه با nginx","how-to-enable-https-with-nginx","بیشتر آموزش‌های فعال‌سازی HTTPS روی Nginx به شما می‌گویند دستور certbot --nginx -d example.com را اجرا کنید و تمام! این روش کار می‌کند اما اولین باری که چیزی خراب شود، گم می‌شوید؛ چون هیچ‌وقت نفهمیده‌اید آن دستور در واقع چه کاری انجام داده است.\r\n\r\nاین مقاله مسیر متفاوتی را طی می‌کند. ابتدا می‌فهمیم پشت صحنه چه می‌گذرد، بعد با دستورهای خام Certbot (بدون افزونه Nginx) گواهی می‌گیریم و آن را خودمان به کانفیگ Nginx وصل می‌کنیم. فقط بعد از این مراحل، سراغ آن یک دستور جادویی می‌رویم که همه کارها را خودکار می‌کند و در آن لحظه دقیقاً می‌دانید چه کاری برایتان انجام می‌دهد.",{"name":295,"avatar":8,"avatarAlt":295,"firstName":316,"lastName":317},"https://api.dornadevops.com/media/articles/images/ChatGPT_Image_Aug_18_2026_05_17_10_AM.png",[],[],{"id":334,"title":368,"slug":369,"excerpt":370,"content":370,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":371,"publishedAt":344,"readTime":74,"image":372,"imageAlt":368,"tags":373,"tagsFa":374,"views":140},"راه اندازی ریورس پروکسی در nginx","reverse-proxy-nginx-setup","فرض کنید می‌خواهیم چندین سرویس مختلف را روی یک سرور واحد و از روی پورت عادی 80 سرو کنیم. مشکلی که به آن برمی‌خوریم این است که نمی‌شود چندین سرویس روی یک پورت یکسان پاسخگو باشند و قطعاً به ارور مشغول بودن آن پورت (port already in use) برمی‌خوریم. در این مقاله به آموزش نحوه استفاده از راه حل وب سرور nginx برای این مشکل به اسم reverse proxy میپردازیم و نگاهی کلی به اینکه چطور nginx رو کانفیگ کنیم و ساختارش چطوریه میندازیم",{"name":295,"avatar":8,"avatarAlt":295,"firstName":316,"lastName":317},"https://api.dornadevops.com/media/articles/images/ChatGPT_Image_Aug_18_2026_05_05_00_AM.png",[],[],{"id":376,"title":377,"slug":378,"excerpt":379,"content":379,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":380,"publishedAt":384,"readTime":296,"image":385,"imageAlt":377,"tags":386,"tagsFa":387,"views":140},29,"طراحی سیستم‌های Highly Available چیست؟ راهنمای کامل معماری‌های در دسترس‌پذیر","highly-available-system-design-guide-2026","طراحی سیستم‌های Highly Available یعنی ساخت معماری‌هایی که در برابر خرابی‌های روزمره، outage و failover مقاوم باشند. در این مقاله HA را عمیق بررسی می‌کنیم.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"الیاس پوررجب","الیاس","پوررجب","1405-02-26","https://api.dornadevops.com/media/articles/images/highly-available-system-design-2026.jpg.png",[],[],{"id":389,"title":390,"slug":391,"excerpt":392,"content":392,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":393,"publishedAt":394,"readTime":395,"image":396,"imageAlt":390,"tags":397,"tagsFa":398,"views":140},28,"SRE چیست؟ راهنمای کامل Site Reliability Engineering در سیستم‌های مدرن","sre-site-reliability-engineering-guide-2026","SRE یا Site Reliability Engineering رویکردی مهندسی برای ساخت و نگهداری سیستم‌های قابل‌اعتماد، مقیاس‌پذیر و پایدار است. در این مقاله SRE را کامل بررسی می‌کنیم.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-02-25",18,"https://api.dornadevops.com/media/articles/images/sre-site-reliability-engineering-2026.jpg.png",[],[],{"id":400,"title":401,"slug":402,"excerpt":403,"content":403,"categoryId":104,"categorySlug":179,"categoryTitle":404,"categoryImage":405,"categoryImageAlt":404,"author":406,"publishedAt":394,"readTime":407,"image":408,"imageAlt":401,"tags":409,"tagsFa":410,"views":140},27,"SLA چیست؟ راهنمای کامل Service Level Agreement در خدمات ابری","what-is-sla-cloud-service-level-agreement-2026","SLA یا Service Level Agreement قرارداد سطح خدمت در cloud است که uptime، service credit، scope و مسئولیت‌ها را مشخص می‌کند. در این مقاله SLA را کامل بررسی می‌کنیم.","امنیت","https://api.dornadevops.com/media/articles/category/images/security.jpeg",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},15,"https://api.dornadevops.com/media/articles/images/sla-cloud-service-level-agreement-2026.jpg.png",[],[],{"id":412,"title":413,"slug":414,"excerpt":415,"content":415,"categoryId":104,"categorySlug":179,"categoryTitle":404,"categoryImage":405,"categoryImageAlt":404,"author":416,"publishedAt":417,"readTime":296,"image":418,"imageAlt":413,"tags":419,"tagsFa":420,"views":140},26,"Network Firewall چیست؟ معرفی کامل فایروال شبکه و بهترین فایروال‌های جهان در ۲۰۲۶","what-is-network-firewall-best-firewalls-2026","Network Firewall لایه‌ای کلیدی برای کنترل ترافیک بین شبکه‌های قابل‌اعتماد و غیرقابل‌اعتماد است. در این مقاله، فایروال شبکه را عمیق بررسی می‌کنیم و بهترین گزینه‌های جهان را معرفی می‌کنیم.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-02-24","https://api.dornadevops.com/media/articles/images/network-firewall-best-firewalls-2026.jpg.png",[],[],{"id":422,"title":423,"slug":424,"excerpt":425,"content":425,"categoryId":104,"categorySlug":179,"categoryTitle":404,"categoryImage":405,"categoryImageAlt":404,"author":426,"publishedAt":417,"readTime":427,"image":428,"imageAlt":423,"tags":429,"tagsFa":430,"views":140},25,"WAF چیست؟ معرفی کامل Web Application Firewall و بهترین WAFهای جهان","what-is-waf-best-waf-2026","WAF یا Web Application Firewall لایه‌ای امنیتی برای محافظت از وب‌اپلیکیشن‌ها در برابر حملات HTTP و HTTPS است. در این مقاله، WAF را کامل بررسی می‌کنیم و بهترین WAFهای جهان را معرفی می‌کنیم.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},17,"https://api.dornadevops.com/media/articles/images/what-is-waf-web-application-firewall-best-waf-2026.jpg.png",[],[],{"id":432,"title":433,"slug":434,"excerpt":435,"content":435,"categoryId":114,"categorySlug":436,"categoryTitle":437,"categoryImage":438,"categoryImageAlt":437,"author":439,"publishedAt":417,"readTime":184,"image":440,"imageAlt":433,"tags":441,"tagsFa":442,"views":140},24,"گارد قرمز چیست؟ راهکار حرفه‌ای برای انسداد درخواست‌های خارجی وردپرس و افزایش سرعت پیشخوان","red-guard-wordpress-external-requests","افزونه گارد قرمز برای انسداد درخواست‌های خارجی وردپرس و افزایش سرعت پیشخوان سایت","wordpress","وردپرس","https://api.dornadevops.com/media/articles/category/images/wordpress.jpeg",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"https://api.dornadevops.com/media/articles/images/red-guard-wordpress-external-requests-2026.jpg.png",[],[],{"id":444,"title":445,"slug":446,"excerpt":447,"content":447,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":448,"publishedAt":417,"readTime":449,"image":450,"imageAlt":445,"tags":451,"tagsFa":452,"views":140},23,"GitLab چیست؟ ستون فقرات DevOps و CI/CD مدرن برای تیم‌های ایرانی","gitlab-devops-ci-cd-platform-iran","GitLab یک پلتفرم کامل DevOps برای مدیریت repository، CI/CD، Container Registry و Platform Engineering است که با زیرساخت داخلی، سرعت و پایداری بیشتری برای تیم‌های ایرانی فراهم می‌کند.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},14,"https://api.dornadevops.com/media/articles/images/gitlab-devops-platform-cloudnative-ci-cd-iran.jpg.png",[],[],{"id":454,"title":455,"slug":456,"excerpt":457,"content":457,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":458,"publishedAt":459,"readTime":460,"image":461,"imageAlt":455,"tags":462,"tagsFa":463,"views":140},22,"آینده DevOps در عصر هوش مصنوعی ۲۰۲۶","future-of-devops-ai-agentic-2026","آینده DevOps به سمت AI-Native Delivery، agentic workflows، observability هوشمند و عملیات نیمه‌خودمختار مبتنی بر AI و Platform Engineering حرکت می‌کند.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-02-22",16,"https://api.dornadevops.com/media/articles/images/future-devops-ai-agentic-cloud-native-2026.jpg.png",[],[],{"id":465,"title":466,"slug":467,"excerpt":468,"content":468,"categoryId":104,"categorySlug":179,"categoryTitle":404,"categoryImage":405,"categoryImageAlt":404,"author":469,"publishedAt":470,"readTime":395,"image":471,"imageAlt":466,"tags":472,"tagsFa":473,"views":140},21,"OS Hardening چیست؟ راهنمای جامع امن‌سازی سیستم‌عامل در ۲۰۲۶","os-hardening-guide-2026","OS Hardening مجموعه‌ای از تکنیک‌های چندلایه برای کاهش سطح حمله، محدودسازی دسترسی‌ها و مقاوم‌سازی سیستم‌عامل در برابر نفوذ است.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-02-18","https://api.dornadevops.com/media/articles/images/os-hardening-linux-security-cloud-native-2026.jpg.png",[],[],{"id":296,"title":475,"slug":476,"excerpt":477,"content":477,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":478,"publishedAt":479,"readTime":454,"image":480,"imageAlt":475,"tags":481,"tagsFa":482,"views":140},"Prometheus و Grafana چیست؟ راهنمای کامل Observability در Cloud-Native","prometheus-grafana-observability-cloud-native","Prometheus و Grafana ستون‌های اصلی Observability هستند که متریک‌ها را جمع می‌کنند، تحلیل می‌کنند و به داشبوردهای عملیاتی و هشدارهای قابل‌اقدام تبدیل می‌کنند.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-02-16","https://api.dornadevops.com/media/articles/images/prometheus-grafana-observability-cloud-native-2026.jpg.png",[],[],{"id":484,"title":485,"slug":486,"excerpt":487,"content":487,"categoryId":354,"categorySlug":488,"categoryTitle":489,"categoryImage":490,"categoryImageAlt":489,"author":491,"publishedAt":479,"readTime":296,"image":492,"imageAlt":485,"tags":493,"tagsFa":494,"views":140},19,"cPanel چیست؟ راهنمای کامل مدیریت سرور و هاست","cpanel-server-hosting-management-guide","cPanel همه‌چیز مدیریت هاست و سرور لینوکسی را در یک داشبورد ساده و قدرتمند جمع می‌کند؛ از سایت و ایمیل تا امنیت و اتوماسیون.","cpanel","سیپنل","https://api.dornadevops.com/media/articles/category/images/cpanel.png",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"https://api.dornadevops.com/media/articles/images/cpanel-hosting-control-panel-dashboard-2026_vzAoNcZ.jpg.png",[],[],{"id":395,"title":496,"slug":497,"excerpt":498,"content":498,"categoryId":133,"categorySlug":499,"categoryTitle":500,"categoryImage":501,"categoryImageAlt":500,"author":502,"publishedAt":503,"readTime":427,"image":504,"imageAlt":496,"tags":505,"tagsFa":506,"views":140},"DefectDojo چیست؟ راهنمای کامل مدیریت آسیب‌پذیری در DevSecOps","defectdojo-vulnerability-management-devsecops","DefectDojo گزارش‌های امنیتی پراکنده را به یک مرکز فرماندهی واحد تبدیل می‌کند تا آسیب‌پذیری‌ها سریع‌تر، دقیق‌تر و قابل‌ردیابی‌تر مدیریت شوند.","devsecops","DevSecOps","https://api.dornadevops.com/media/articles/category/images/devsecops.jpeg",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-02-13","https://api.dornadevops.com/media/articles/images/defectdojo-vulnerability-management-devsecops-2026.jpg.png",[],[],{"id":427,"title":508,"slug":509,"excerpt":510,"content":510,"categoryId":104,"categorySlug":179,"categoryTitle":404,"categoryImage":405,"categoryImageAlt":404,"author":511,"publishedAt":515,"readTime":5,"image":516,"imageAlt":508,"tags":517,"tagsFa":518,"views":140},"آسیب‌پذیری بسیار مهم در cPanel – هشدار امنیتی درباره CVE‑2026‑41940","cpanel-cve-2026-41940-security-alert","با انتشار آسیب‌پذیری CVE‑2026‑41940 برای cPanel، سرورهایی که هنوز روی نسخه‌های قدیمی‌تر از آخرین نسخه امن هستند در معرض تهدید جدی قرار گرفته‌اند. این آسیب‌پذیری می‌تواند امنیت کامل سرویس را به خطر بیندازد.",{"name":512,"avatar":8,"avatarAlt":512,"firstName":513,"lastName":514},"درنا ادمین","درنا","ادمین","1405-02-12","https://api.dornadevops.com/media/articles/images/cpanel-vuln.png",[],[],{"id":460,"title":520,"slug":521,"excerpt":522,"content":522,"categoryId":133,"categorySlug":499,"categoryTitle":500,"categoryImage":501,"categoryImageAlt":500,"author":523,"publishedAt":524,"readTime":194,"image":525,"imageAlt":520,"tags":526,"tagsFa":527,"views":140},"GitLeaks چیست؟ ابزار شناسایی Secrets در Git","what-is-gitleaks-sast-secret-detection","GitLeaks ابزار متن‌باز برای شناسایی رمزها و API Keyهای لو رفته در Git است که قبل از انتشار، جلوی نشت اطلاعات حساس را می‌گیرد.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-02-09","https://api.dornadevops.com/media/articles/images/gitleaks-git-secrets-scanner-security.jpg.png",[],[],{"id":407,"title":529,"slug":530,"excerpt":531,"content":531,"categoryId":133,"categorySlug":499,"categoryTitle":500,"categoryImage":501,"categoryImageAlt":500,"author":532,"publishedAt":533,"readTime":15,"image":534,"imageAlt":529,"tags":535,"tagsFa":536,"views":140},"Semgrep چیست؟ ابزار سریع SAST برای امنیت کد و DevSecOps","semgrep-sast-devsecops","ابزار Semgrep با اسکن سریع کد، باگ‌ها، آسیب‌پذیری‌ها و secrets را قبل از اجرا پیدا می‌کند و امنیت را وارد جریان توسعه می‌کند.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-02-07","https://api.dornadevops.com/media/articles/images/semgrep-sast-code-security-devsecops.jpg.png",[],[],{"id":449,"title":538,"slug":539,"excerpt":540,"content":540,"categoryId":133,"categorySlug":499,"categoryTitle":500,"categoryImage":501,"categoryImageAlt":500,"author":541,"publishedAt":542,"readTime":296,"image":543,"imageAlt":538,"tags":544,"tagsFa":545,"views":140},"DevSecOps در ۲۰۲۶؛ تزریق امنیت به CI/CD و کلود","devsecops-2026-security-in-ci-cd-cloud","چطور امنیت را از ابتدا وارد CI/CD و زیرساخت ابری کنیم بدون اینکه سرعت توسعه قربانی شود؟",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-02-02","https://api.dornadevops.com/media/articles/images/devsecops-security-ci-cd-cloud-2026_hnouteW.png",[],[],{"id":547,"title":548,"slug":549,"excerpt":550,"content":550,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":551,"publishedAt":542,"readTime":395,"image":552,"imageAlt":548,"tags":553,"tagsFa":554,"views":140},13,"CI/CD در ۲۰۲۶؛ از صفر تا دیپلوی بدون قطعی","ci-cd-2026-zero-downtime-deployment","از پایه تا حرفه‌ای یاد بگیرید چطور بدون قطعی روی سرور ابری دیپلوی کنید.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"https://api.dornadevops.com/media/articles/images/ci-cd-zero-downtime-cloud-deployment.png",[],[],{"id":184,"title":556,"slug":557,"excerpt":558,"content":558,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":559,"publishedAt":542,"readTime":460,"image":560,"imageAlt":556,"tags":561,"tagsFa":562,"views":140},"ابزارهای DevOps در ۲۰۲۶؛ معرفی کامل و کاربردی","devops-tools-2026-complete-guide","بهترین ابزارهای DevOps را بشناسید و بفهمید هرکدام دقیقاً کجا استفاده می‌شوند.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"https://api.dornadevops.com/media/articles/images/devops-tools-list-2026-cloud.png",[],[],{"id":194,"title":564,"slug":565,"excerpt":566,"content":566,"categoryId":74,"categorySlug":291,"categoryTitle":292,"categoryImage":293,"categoryImageAlt":292,"author":567,"publishedAt":568,"readTime":395,"image":569,"imageAlt":564,"tags":570,"tagsFa":571,"views":140},"DevOps چیست؟ راهنمای کامل از صفر تا حرفه‌ای (۲۰۲۶)","what-is-devops-complete-guide-2026","از تعریف تا ابزارها و مسیر یادگیری DevOps را یک‌جا و حرفه‌ای یاد بگیرید.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-02-01","https://api.dornadevops.com/media/articles/images/what-is-devops-cloud-architecture-2026.png",[],[],{"id":15,"title":573,"slug":574,"excerpt":575,"content":575,"categoryId":94,"categorySlug":576,"categoryTitle":577,"categoryImage":578,"categoryImageAlt":577,"author":579,"publishedAt":568,"readTime":15,"image":580,"imageAlt":573,"tags":581,"tagsFa":582,"views":140},"تغییر دامنه در DirectAdmin؛ سریع و بدون دردسر","change-domain-directadmin-guide","دامنه سایت را در DirectAdmin بدون خطا و از دست رفتن اطلاعات تغییر دهید.","directadmin","دایرکت ادمین","https://api.dornadevops.com/media/articles/category/images/directadmin.jpg",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"https://api.dornadevops.com/media/articles/images/directadmin-change-domain-tutorial.jpg",[],[],{"id":114,"title":584,"slug":585,"excerpt":586,"content":586,"categoryId":94,"categorySlug":576,"categoryTitle":577,"categoryImage":578,"categoryImageAlt":577,"author":587,"publishedAt":568,"readTime":15,"image":588,"imageAlt":584,"tags":589,"tagsFa":590,"views":140},"نصب SSL رایگان در DirectAdmin؛ امن‌سازی فوری سایت","install-free-ssl-directadmin","در چند دقیقه SSL رایگان نصب کنید و امنیت سایت را تضمین کنید.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"https://api.dornadevops.com/media/articles/images/directadmin-free-ssl-install.jpg",[],[],{"id":104,"title":592,"slug":593,"excerpt":594,"content":594,"categoryId":94,"categorySlug":576,"categoryTitle":577,"categoryImage":578,"categoryImageAlt":577,"author":595,"publishedAt":596,"readTime":194,"image":597,"imageAlt":592,"tags":598,"tagsFa":599,"views":140},"ساخت DNS اختصاصی برای دامنه؛ راهنمای کامل","create-custom-dns-domain-guide","یاد بگیرید DNS اختصاصی بسازید و کنترل کامل دامنه را در دست بگیرید.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-01-31","https://api.dornadevops.com/media/articles/images/custom-dns-setup-domain.jpg",[],[],{"id":133,"title":601,"slug":602,"excerpt":603,"content":603,"categoryId":94,"categorySlug":576,"categoryTitle":577,"categoryImage":578,"categoryImageAlt":577,"author":604,"publishedAt":596,"readTime":460,"image":605,"imageAlt":601,"tags":606,"tagsFa":607,"views":140},"آموزش کامل و قدم‌ به‌ قدم بازگردانی بکاپ در دایرکت ادمین","restore-backup-directadmin-guide","چطور در کمترین زمان سایت را از بکاپ برگردانیم؟",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"https://api.dornadevops.com/media/articles/images/directadmin-backup-restore.jpg",[],[],{"id":354,"title":609,"slug":610,"excerpt":611,"content":611,"categoryId":94,"categorySlug":576,"categoryTitle":577,"categoryImage":578,"categoryImageAlt":577,"author":612,"publishedAt":613,"readTime":184,"image":614,"imageAlt":609,"tags":615,"tagsFa":616,"views":140},"تغییر دامنه در وردپرس؛ قدم‌به‌قدم و بدون خطا","change-domain-wordpress-step-by-step","تغییر نام، بدون تغییر سرنوشت ، دامنه وردپرس را بدون خراب شدن سایت تغییر دهید.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-01-30","https://api.dornadevops.com/media/articles/images/wordpress-domain-change-guide.jpg",[],[],{"id":74,"title":618,"slug":619,"excerpt":620,"content":620,"categoryId":94,"categorySlug":576,"categoryTitle":577,"categoryImage":578,"categoryImageAlt":577,"author":621,"publishedAt":613,"readTime":184,"image":622,"imageAlt":618,"tags":623,"tagsFa":624,"views":140},"بکاپ‌گیری حرفه‌ای در DirectAdmin (Admin Level)","directadmin-admin-backup-guide","چطور از کل سرور بکاپ بگیریم و در بحران نجاتش دهیم؟",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"https://api.dornadevops.com/media/articles/images/directadmin-admin-level-backup.jpg",[],[],{"id":94,"title":626,"slug":627,"excerpt":628,"content":628,"categoryId":5,"categorySlug":629,"categoryTitle":630,"categoryImage":631,"categoryImageAlt":630,"author":632,"publishedAt":613,"readTime":547,"image":633,"imageAlt":626,"tags":634,"tagsFa":635,"views":140},"Portainer چیست؟ مدیریت حرفه‌ای Docker و Kubernetes","what-is-portainer-docker-management","Docker و Kubernetes را بدون دردسر و گرافیکی مدیریت کنید.","docker","داکر","https://api.dornadevops.com/media/articles/category/images/Screenshot_from_2026-03-06_15-05-14.png",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"https://api.dornadevops.com/media/articles/images/portainer-docker-kubernetes-ui.png",[],[],{"id":58,"title":637,"slug":638,"excerpt":639,"content":639,"categoryId":5,"categorySlug":629,"categoryTitle":630,"categoryImage":631,"categoryImageAlt":630,"author":640,"publishedAt":641,"readTime":15,"image":642,"imageAlt":637,"tags":643,"tagsFa":644,"views":140},"۷ اشتباه مرگبار در Docker که باید همین امروز اصلاح کنید","docker-mistakes-developers","اشتباهاتی که پروژه‌ات را نابود می‌کنند و چطور ازشان جلوگیری کنی.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1405-01-29","https://api.dornadevops.com/media/articles/images/docker-common-mistakes.png",[],[],{"id":44,"title":646,"slug":647,"excerpt":648,"content":648,"categoryId":94,"categorySlug":576,"categoryTitle":577,"categoryImage":578,"categoryImageAlt":577,"author":649,"publishedAt":650,"readTime":15,"image":651,"imageAlt":646,"tags":652,"tagsFa":653,"views":140},"بکاپ‌گیری در DirectAdmin؛ آموزش کامل و ساده(بیمه عمر سایت شما!)","directadmin-backup-complete-guide","با چند کلیک از سایتت بکاپ بگیر و خیالت را راحت کن.",{"name":381,"avatar":8,"avatarAlt":381,"firstName":382,"lastName":383},"1404-12-15","https://api.dornadevops.com/media/articles/images/directadmin-backup-guide.jpg",[],[],{"id":5,"title":655,"slug":656,"excerpt":657,"content":657,"categoryId":5,"categorySlug":629,"categoryTitle":630,"categoryImage":631,"categoryImageAlt":630,"author":658,"publishedAt":659,"readTime":5,"image":660,"imageAlt":655,"tags":661,"tagsFa":662,"views":140},"نصب Docker بدون تحریم","install-docker-in-iran","نصب آفلاین Docker مخصوص سرورهای داخل ایران",{"name":512,"avatar":8,"avatarAlt":512,"firstName":513,"lastName":514},"1404-11-30","https://api.dornadevops.com/media/articles/images/install-docker-iran.png",[],[],1792180317929]