প্রকল্প সম্পর্কে

dockwatch হলো একটি সেলফ-হোস্টেড Docker কন্টেইনার আপডেট ওয়াচার, যাতে CLI এবং একটি ওয়েব ড্যাশবোর্ড উভয়ই রয়েছে। যে অটো-আপডেটারগুলো নতুন ইমেজ সাথে সাথে pull করে, তাদের থেকে ভিন্নভাবে এটি চালু থাকা কন্টেইনারগুলোকে তাদের রেজিস্ট্রির সাথে মিলিয়ে পরীক্ষা করে, কোনগুলো পুরনো হয়ে গেছে তা জানায়, এবং কেবল স্পষ্টভাবে অনুমোদন দেওয়া হলে আপডেট করে। তুলনাটি tag-স্ট্রিং ভিত্তিক নয়, বরং digest-সচেতন, তাই কোনো tag যেমন `latest` চুপচাপ নতুন ইমেজের দিকে নির্দেশ করছে কি না তা এটি শনাক্ত করে, এবং প্ল্যাটফর্ম-নির্দিষ্ট digest তুলনা করার কারণে এটি multi-arch নিরাপদ। ওয়েব ড্যাশবোর্ডে authentication এবং role-based access control রয়েছে, যেখানে আটটি সূক্ষ্ম permission, একটি audit log, প্রতি-কন্টেইনার log দেখা, এবং update, rollback, restart ও delete-এর মতো ব্যবস্থাপনা কার্যক্রম আছে। compose-দ্বারা পরিচালিত কন্টেইনারগুলোর জন্য এক-ক্লিক rollback পাওয়া যায়। bundled Trivy-এর মাধ্যমে vulnerability scanning দেওয়া হয়, যার ফলাফল image ID অনুযায়ী cache করা হয় এবং ক্লিকযোগ্য severity bar হিসেবে দেখানো হয়। generic webhook, Discord, বা ntfy-এর মাধ্যমে notification পাঠানো যায়, এবং প্রতিটি event type-এর জন্য তা opt-in। Portainer-কে অতিরিক্ত কন্টেইনার source হিসেবে ব্যবহার করা যায়, যা সরাসরি socket access ছাড়াই remote Docker host পরিচালনা করতে দেয়। একটি হালকা agent mode-এর মাধ্যমে একটি কেন্দ্রীয় instance একাধিক Docker PC monitor করতে পারে, যেখানে সব registry check কেন্দ্রীয় instance-ই করে। Health monitoring কন্টেইনার state sample করতে পারে এবং ঐচ্ছিকভাবে throttling নিয়ন্ত্রণসহ অসুস্থ কন্টেইনার স্বয়ংক্রিয়ভাবে restart করতে পারে। Lifecycle hook pre/post update, pre-stop, এবং pre/post rollback পর্যায়ে কন্টেইনারের ভেতরে command চালাতে পারে, এবং per-repository retention guard সহ image pruning পাওয়া যায়। CLI ড্যাশবোর্ডের মতো একই engine script ও cron job-এর জন্য উন্মুক্ত করে, যার মধ্যে list, check, update, scan, health, prune, এবং agent command রয়েছে। প্রকাশিত multi-arch image একটি non-root user হিসেবে চলে, Docker socket group স্বয়ংক্রিয়ভাবে শনাক্ত করে, এবং একটি healthcheck অন্তর্ভুক্ত করে। Configuration একটি TOML ফাইলে সংরক্ষিত থাকে এবং ড্যাশবোর্ড settings page-এর মাধ্যমে সম্পাদনা করা যায়।