
سالهاست که از داکر (Docker) استفاده میکنم؛ همین ابزار است که کل پشته خانه هوشمند و دیگر نرمافزارهای اجرایی من را ممکن میکند. هرچند مدیریت داکر از طریق رابط خط فرمان (CLI) هم ممکن است، اما یک رابط گرافیکی خوب دیگر یک تجمل نیست و به یک راحتی روزمره تبدیل شده است. این رابط به کاربر اجازه میدهد ببیند چه چیزی در حال اجراست، یک استک (Stack) را دوباره راهاندازی کند و لاگها را بررسی کند.
چرا Portainer دیگر انتخاب اول نیست؟
پورتینر (Portainer) همیشه انتخاب اصلی من بود، اما تصمیم این پروژه برای نگه داشتن نسخه اجتماعی (Community Edition) روی کدبیس قدیمیتر و حرکت در مسیری کاملاً جدید، این پرسش را ایجاد کرده که آیا در بلندمدت میخواهم به آن پایبند بمانم یا نه. همین تغییر مسیر باعث شد به سراغ Dockge بروم؛ مدیر متنباز Docker Compose از توسعهدهنده Uptime Kuma که رویکردی بسیار سادهتر به مدیریت کانتینر (Container) دارد و میتواند بهترین ارتقای NAS من باشد.
مهاجرت از Portainer به Dockge بدون دردسر
در ابتدا نمیخواستم کل تنظیماتم را یکجا منتقل کنم. راهاندازی Docker من در Portainer حول استکها و فایلهای Compose ساخته شده بود. Dockge تقریباً به همین شکل کار میکند، اما تفاوتهای جزئی دارد. هر برنامه پوشه، فایل Compose و داده پایدار (Persistent Data) مخصوص خود را دریافت میکند. Dockge فایل Compose را که روی سرور قرار دارد به عنوان منبع حقیقت (Source of Truth) در نظر میگیرد و یک رابط وب برای مدیریت آن ارائه میدهد.
این موضوع در استفاده روزمره تفاوت بزرگی ایجاد میکند. Dockge فقط فایلهای Compose را از دیسک میخواند و آنها را مستقیماً در رابط کاربری نمایش میدهد. این ویژگی بهویژه روی NAS من مفید است، چون مدام کانتینر اضافه، حذف و آزمایش میکنم. ممکن است چیزی برای مدیریت رسانه نصب کنم، یک ابزار جدید را امتحان کنم یا سرویسی را موقتاً برای تست راه بیندازم. با Dockge میتوانم پیکربندی Compose را بسازم، آن را روی NAS قرار دهم و Dockge استک را بالا بیاورد، بدون اینکه بین ویرایشگر متن، نشست SSH و فرمانهای Docker جابهجا شوم.
ویرایشگر Compose و مدیریت آسانتر
ویرایشگر Compose در Dockge بسیار کارآمد است و بیشترین استفاده را برای من دارد. میتوانم یک استک را باز کنم، تگ ایمیج (Image Tag) را تغییر دهم یا حجمها (Volumes) را مستقیماً در رابط کاربری اصلاح کنم. Dockge همچنین تغییر متغیرهای محیطی (Environment Variables) و استقرار پیکربندی بهروزشده را از یک صفحه واحد ساده میکند. از برخی جهات، این کار حتی از Portainer هم آسانتر است.
برخلاف Portainer که برای دیدن لاگها باید بین تبها جابهجا میشدید، رویکرد تمیزتر Dockge خروجی Compose را به صورت زمان واقعی (Real-Time) نمایش میدهد. حتی دسترسی به ترمینال هم سادهتر است. این یعنی اگر یک کانتینر نتواند شروع شود، میتوانید در لحظه ببینید پشت صحنه چه اتفاقی میافتد. به همین ترتیب، رفع مشکل هم سریع انجام میشود.
نمیخواهم بگویم بهروزرسانی کانتینرها در Portainer پیچیده بود، اما عبارات استفادهشده برای کاربران تازهکار چندان واضح نبود. Dockge سادهتر است و یک دکمه بهروزرسانی را نمایش میدهد که بهصورت خودکار و با یک کلیک، بهروزرسانیهای ایمیج را دریافت میکند. در زیر پوست، همچنان با پیکربندی Compose که تعریف کردهام کار میکند.
Dockge چگونه با روش کاری من هماهنگ است
من سرویسهای زیادی را روی NAS اجرا میکنم. در آخرین شمارش، بیش از سی کانتینر در حال اجرا داشتم. برخی از آنها رسانه را مدیریت میکنند و برخی دیگر دانلودها را. همچنین مانیتورهای شبکه و ابزارهایی مانند Scanserverjs دارم که اسکنر قدیمی من را دوباره زنده کردهاند. Docker تنها راهی است که اجرای این مجموعه را قابل مدیریت و منطقی میکند. علاوه بر این، Docker آنها را از بقیه NAS جدا نگه میدارد. فایلهای Compose در قلب این امکان قرار دارند و Dockge لایه بصری برای کنترل این کانتینرها را فراهم میکند.
یکی از ویژگیهای موردعلاقه من این است که برخلاف Portainer که چیزهایی مانند فایلهای Compose عملاً با استفاده از Stacks در نرمافزار نوشته میشوند، Dockge از فایلهای Compose استاندارد استفاده میکند که با هر ویرایشگر متنی قابل دسترسی هستند. اگر روزی بخواهم بین ماشینها جابهجا شوم، فقط باید پیکربندی و پوشهها را کپی کنم، در صورت نیاز مسیرهای حجم را تنظیم کنم و دکمه استقرار را بزنم.
اخیراً با ویژگی دیگری هم آشنا شدهام که ممکن است برای کاربران چندماشینی مفید باشد: Dockge Agents. عاملهای Dockge به شما اجازه میدهند چند نمونه (Instance) از Dockge را که روی سرورهای مختلف اجرا میشوند، از طریق یک رابط واحد کنترل کنید. هنوز مورد استفاده من نیست، اما با رشد تنظیماتم میتوانم آن را مفید ببینم و مهمتر از آن، دلیل دیگری برای ماندن با Dockge باشد.
محدودیتها و جمعبندی
باید صادق باشم؛ اگر از علاقهمندان Portainer هستید و از ویژگیهای پیشرفتهتر آن استفاده میکنید، ممکن است همه چیز را در Dockge پیدا نکنید. اما این وضعیت من نیست. برای من، تمرکز محدودتر Dockge کاملاً مناسب است.
هرچند تمرکز Portainer تغییر کرده، این به معنای از کار افتادن آن نیست و میتوانید همچنان از آن استفاده کنید. اما من میخواستم به گزینهای با پشتیبانی بیشتر کوچ کنم. علاوه بر این، Dockge با روشی که از قبل با Docker کار میکنم هماهنگتر است.
Dockge فایلهای Compose را در مرکز تجربه قرار میدهد و همین باعث بهتر شدن آن شده است. این یعنی انتزاع کمتر، ویرایش آسان فایلهای پیکربندی، استقرار و حتی اشکالزدایی. همه اینها باعث شده مهاجرت به Dockge برای من تقریباً بدون دردسر و بدون پشیمانی باشد.