AndroTainer নিয়ে এলো মাথা নষ্ট করা ধামাকা! এখন Smartphone দিয়েই আপনার Docker Containers এবং Portainer Service সরাসরি কন্ট্রোল হবে, সাথে থাকছে Start, Stop এবং Logs মনিটর করার দুর্ধর্ষ সব ফিচার, যা আপনার সার্ভার ম্যানেজমেন্টের দুনিয়ায় এক ডিজিটাল তুফান!

Level 34
সনিক টিউনার, টেকটিউনস, গাইবান্ধা

টেকটিউনস বন্ধুরা, আপনারা যারা Self-Hosting এবং Docker নিয়ে কাজ করতে পছন্দ করেন, তাদের জন্য আজ আমি নিয়ে এসেছি এক দারুণ খবর। সাধারণত Docker Containers ম্যানেজ করার জন্য আমাদের ল্যাপটপ বা পিসির সামনে বসতে হয় অথবা ব্রাউজারের ছোট স্ক্রিনে Portainer এর ড্যাশবোর্ড ব্যবহার করতে হয়, যা বেশ কষ্টকর। কিন্তু কেমন হয় যদি আপনি আপনার পকেটে থাকা Smartphone দিয়েই এই পুরো কাজটি নিয়ন্ত্রণ করতে পারেন? আজ আমরা আলোচনা করব AndroTainer নিয়ে, যা আপনার Docker Management এর অভিজ্ঞতাকে বদলে দিতে পারে।

AndroTainer আসলে কী?

AndroTainer আসলে কী?

AndroTainer হলো একটি আধুনিক এবং শক্তিশালী Companion App, যা মূলত আপনার Self-Hosted Portainer Service-এর সাথে সংযোগ স্থাপন করে। এটি কোনো একক বা স্বতন্ত্র Docker Manager নয়, বরং আপনার বিদ্যমান Portainer সার্ভারের একটি মোবাইল ইন্টারফেস। আপনার Android Device ব্যবহার করে অত্যন্ত সহজে এবং স্বাচ্ছন্দ্যে Containers ম্যানেজ করার জন্য এই অ্যাপটি তৈরি করা হয়েছে।

AndroTainer

অফিসিয়াল ওয়েবসাইট @ AndroTainer

কীভাবে AndroTainer ব্যবহার করবেন?

কীভাবে AndroTainer ব্যবহার করবেন?

১. প্রথমে আপনার অ্যান্ড্রয়েড ফোনে F-Droid বা আপনার পছন্দের ক্লায়েন্ট থেকে IzzyOnDroid রেপোজিটরি যুক্ত করে Docker Management-এর কম্প্যানিয়ন অ্যাপ AndroTainer ইন্সটল করুন।

AndroTainer ইন্সটল

২. অ্যাপটি ব্যবহার করার জন্য নিশ্চিত করুন যে আপনার একটি Portainer Service সচল (Up And Running) আছে। অ্যাপে প্রবেশ করে আপনার সার্ভারের Local URL বা External URL এবং আগে থেকে সেট করা Username ও Password দিয়ে আপনার Portainer সার্ভারে লগইন করুন।

Portainer সার্ভারে লগইন

লগইন করার পর Current State Monitoring ফিচারের মাধ্যমে আপনার সব কন্টেইনারের বর্তমান অবস্থা (Running, Stopped, Paused) একনজরে দেখে নিন

AndroTainer নিয়ে এলো মাথা নষ্ট করা ধামাকা! এখন Smartphone দিয়েই আপনার Docker Containers এবং Portainer Service সরাসরি কন্ট্রোল হবে, সাথে থাকছে Start, Stop এবং Logs মনিটর করার দুর্ধর্ষ সব ফিচার, যা আপনার সার্ভার ম্যানেজমেন্টের দুনিয়ায় নিয়ে আসবে এক প্রলয়ঙ্কারী ডিজিটাল তুফান!

AndroTainer নিয়ে এলো মাথা নষ্ট করা ধামাকা! এখন Smartphone দিয়েই আপনার Docker Containers এবং Portainer Service সরাসরি কন্ট্রোল হবে, সাথে থাকছে Start, Stop এবং Logs মনিটর করার দুর্ধর্ষ সব ফিচার, যা আপনার সার্ভার ম্যানেজমেন্টের দুনিয়ায় নিয়ে আসবে এক প্রলয়ঙ্কারী ডিজিটাল তুফান!

এবং প্রয়োজনে সরাসরি অ্যাপ থেকেই কন্টেইনার Start বা Stop করুন। আর যেকোনো কন্টেইনারের কার্ডের ওপর ক্লিক করে বিস্তারিত তথ্য জানুন অথবা লং প্রেস করে সরাসরি Container Logs মনিটর করুন।

ব্যবহারের আগে যা জানা প্রয়োজন

ব্যবহারের আগে যা জানা প্রয়োজন

এই অ্যাপটি ব্যবহার করার জন্য আপনাকে কিছু প্রাথমিক শর্ত পূরণ করতে হবে। এগুলো নিশ্চিত না করলে আপনি অ্যাপটির পূর্ণ সুবিধা নিতে পারবেন না:

  1. আপনার একটি Portainer Service সচল বা Up And Running থাকতে হবে।
  2. আপনার সিস্টেমে আগেই একটি Username এবং Password সেট করা থাকতে হবে, যা আপনি অ্যাপে লগইন করার সময় ব্যবহার করবেন।
  3. আপনি কানেক্টিভিটির জন্য আপনার সার্ভারের Local URL Address (যেমন আপনার ঘরের নেটওয়ার্কের IP) অথবা ইন্টারনেটের মাধ্যমে অ্যাক্সেস করার জন্য External URL ব্যবহার করতে পারেন।

AndroTainer এর অসাধারণ সব ফিচারসমূহ

AndroTainer এর অসাধারণ সব ফিচারসমূহ

এই অ্যাপটি এমনভাবে ডিজাইন করা হয়েছে যাতে একজন ইউজার তার প্রয়োজনীয় সব কাজ দ্রুত সেরে নিতে পারেন। এর ফিচারগুলো নিচে বিস্তারিতভাবে দেওয়া হলো:

  • Current State Monitoring: আপনার সব Docker Containers বর্তমানে কী অবস্থায় আছে (Running, Stopped, Or Paused) তা এক পলকেই দেখে নিতে পারবেন।
  • Operational Control: প্রয়োজন অনুযায়ী আপনি সরাসরি অ্যাপ থেকেই Docker Containers শুরু (Start) অথবা বন্ধ (Stop) করতে পারবেন। এটি জরুরি সময়ে অত্যন্ত কার্যকর।
  • Detailed Logs Monitoring: আপনি যদি দেখতে চান আপনার কন্টেইনারের ভেতরে কী ঘটছে, তবে যেকোনো Container Card-এর ওপর Long Press করলেই সরাসরি Container Logs দেখতে পাবেন।
  • Deep Dive into Details: কন্টেইনারের কনফিগারেশন বা অন্যান্য তথ্য জানতে যেকোনো Container Card-এর ওপর ক্লিক করলেই আপনি Container Details এর পাতায় চলে যাবেন।
  • Endpoint Switching: আপনার একই Portainer Server-এ যদি একাধিক Docker Endpoints থাকে, তবে আপনি খুব সহজেই সেগুলোর মধ্যে সুইচ করতে পারবেন।
  • Multi-Server Support: আপনার যদি আলাদা আলাদা জায়গায় একাধিক Portainer Servers থাকে, তবে এই অ্যাপটি ব্যবহার করে আপনি সবগুলোকে একই প্ল্যাটফর্ম থেকে নিয়ন্ত্রণ করতে পারবেন।

কিছু সীমাবদ্ধতা ও প্রয়োজনীয় সতর্কতা

কিছু সীমাবদ্ধতা ও প্রয়োজনীয় সতর্কতা

যেকোনো টুল ব্যবহারের সময় তার সীমাবদ্ধতাগুলো মাথায় রাখা জরুরি:

  • এই অ্যাপটি বর্তমানে শুধুমাত্র Docker Service সাপোর্ট করে। অন্য কোনো কন্টেইনার সার্ভিস এখানে কাজ করবে না।
  • একটি আইনগত ও অফিসিয়াল বিষয় হলো—এই অ্যাপটি কোনোভাবেই অফিসিয়াল Portainer Project-এর সাথে যুক্ত নয়। এটি একটি থার্ড-পার্টি বা ইনডিপেনডেন্ট প্রজেক্ট।

অ্যাপটি কীভাবে আপনার ডিভাইসে ইন্সটল করবেন?

অ্যাপটি কীভাবে আপনার ডিভাইসে ইন্সটল করবেন?

AndroTainer মূলত IzzyOnDroid F-Droid Repository-তে পাওয়া যায়। আপনি চাইলে সরাসরি APKs ফাইল ডাউনলোড করে নিতে পারেন, তবে সবচেয়ে ভালো উপায় হলো একটি F-Droid Client ব্যবহার করা। এতে করে অ্যাপটির নতুন কোনো আপডেট আসলে তা স্বয়ংক্রিয়ভাবে আপনার ডিভাইসে পৌঁছে যাবে।

কিছু নির্দিষ্ট ক্লায়েন্ট যেমন Sunil-এর তৈরি ক্লায়েন্টে এই Repo বা রিপোজিটরি আগে থেকেই এনাবল থাকে। তবে অন্যদের ক্ষেত্রে (যেমন:) আপনাকে ম্যানুয়ালি এই রিপোজিটরি অ্যাড করতে হতে পারে। এটি কীভাবে করবেন, তার জন্য রিপোজিটরি পেজের ওপরের দিকে থাকা Hint অপশনটি দেখে নিতে পারেন।

টেকনিক্যাল ইন-ডেপথ: AndroTainer এর পেছনের কারিগরি শক্তি

টেকনিক্যাল ইন-ডেপথ

একটি অ্যাপ কতটা শক্তিশালী তা নির্ভর করে সেটি তৈরিতে ব্যবহৃত লাইব্রেরি এবং ফ্রেমওয়ার্কের ওপর। AndroTainer তৈরিতে অসংখ্য আধুনিক টেকনোলজি ব্যবহার করা হয়েছে। নিচে তার একটি পূর্ণাঙ্গ তালিকা এবং সংক্ষিপ্ত ব্যাখ্যা দেওয়া হলো:

  • Gson (Utility): এটি একটি বিখ্যাত Java Serialization/Deserialization Library। এর কাজ হলো Java Objects-কে JSON ফরম্যাটে রূপান্তর করা এবং উল্টোটা করা। ডাটা আদান-প্রদানে এটি অপরিহার্য।
  • JavaX Annotation API (Utility): JavaTM Platform API-এর জন্য কিছু কমন Annotations এটি প্রদান করে, যা কোডিংয়ের মান উন্নত করে।
  • Android Support Library (Development Framework): এটি কোনো একটি লাইব্রেরি নয়, বরং অনেকগুলো লাইব্রেরির সমষ্টি। এটি মূলত Compatibility এবং Component Libraries—এই দুই ভাগে বিভক্ত। বিস্তারিত জানতে Understanding The Android Support Library গাইডটি দেখা যেতে পারে।
  • AppCompat (Utility): এটি একটি Base Activity Subclass প্রদান করে, যা অ্যাপের গঠন সুন্দর এবং সামঞ্জস্যপূর্ণ রাখতে সাহায্য করে।
  • AndroidX Annotation (Utility): Android Jetpack-এর জন্য প্রয়োজনীয় বিশেষ কিছু Annotations এই লাইব্রেরিতে থাকে।
  • Android Arch Core Testing (Utility): এটি মূলত ডেভেলপারদের জন্য একটি Helper, যা JUnit Test Rules এবং LiveData-এর মতো ফিচারের সাথে কাজ করতে সাহায্য করে।
  • AndroidX AppCompat Resources (Utility): পুরানো অ্যান্ড্রয়েড ফোনগুলোতে আধুনিক অ্যান্ড্রয়েড ফিচার সাপোর্ট করার জন্য এটি কাজ করে।
  • AndroidX CardView (UI Component): অ্যাপের ইন্টারফেসে সুন্দর গোল কোণা (Round Corners) এবং ছায়া (Drop Shadows) যুক্ত Material Design Card Pattern তৈরি করতে এটি ব্যবহৃত হয়।
  • AndroidX Collection (Utility): বিভিন্ন ডাটা কালেকশন হ্যান্ডেল করার জন্য ব্যবহৃত হয়।
  • AndroidX ConstraintLayout (Utility): এর মাধ্যমে অ্যাপের ভেতরে ভিউগুলোকে এমনভাবে সাজানো হয় যাতে পারফরম্যান্স ভালো থাকে এবং মেমোরি কম খরচ হয়।
  • AndroidX CoordinatorLayout (UI Component): এটি আপনার অ্যাপের উইজেট যেমন AppBarLayout এবং FloatingActionButton-এর পজিশন নিখুঁতভাবে নিয়ন্ত্রণ করে।
  • AndroidX Core (Utility): এটি এমন সব APIs আপনার অ্যাপে যুক্ত করার সুযোগ দেয় যা সরাসরি অ্যান্ড্রয়েড ফ্রেমওয়ার্কে নেই, অথচ কাজের জন্য খুব দরকারি।
  • AndroidX CursorAdapter (Utility): এটি ডেটাবেস থেকে আসা ডাটা ভিউতে দেখানোর জন্য ব্যবহৃত একটি Static Library Support Version।
  • Android Support Library Custom View (UI Component): আপনার অ্যাপে যদি কোনো কাস্টম ভিউ বা ডিজাইন এলিমেন্ট তৈরি করতে হয়, তবে এই মডিউলটি ব্যবহৃত হয়।
  • AndroidX DocumentFile (UI Component): ডিভাইসে থাকা কোনো ফাইল বা ডকুমেন্ট দেখার জন্য এটি কার্যকর।
  • AndroidX DrawerLayout (UI Component): অ্যাপের বাম বা ডান দিক থেকে যে মেনু বের হয়ে আসে (Material Design Drawer Widget), তা এটি দিয়েই তৈরি।
  • AndroidX Dynamic Animation (UI Component): Physics-Based API ব্যবহার করে অ্যাপের ভেতরে অত্যন্ত স্মুথ এবং প্রাণবন্ত অ্যানিমেশন তৈরি করে।
  • AndroidX Exif Interface (Utility): আপনার ছবি বা ইমেজ ফাইলের ভেতরে থাকা লুকানো তথ্য বা Exif Tags পড়তে এবং লিখতে এটি সাহায্য করে।
  • AndroidX Fragment (UI Component): ইউজার ইন্টারফেসের বিভিন্ন অংশকে পুনরায় ব্যবহারযোগ্য কম্পোনেন্টে ভাগ করার জন্য এটি ব্যবহার করা হয়।
  • Android Lifecycle WorkManager Hilt Extension (Development Aid): এটি WorkManager-এর কার্যক্ষমতা বাড়ায় এবং Dependency Injection সহজ করে দেয়।
  • AndroidX Interpolator (UI Component): পুরানো অ্যান্ড্রয়েড ভার্সনগুলোতে আধুনিক অ্যানিমেশন ইন্টারপোলেটর ব্যবহারের সুবিধা দেয়।
  • AndroidX Legacy Support Core Utils (Utility): পুরানো ডিভাইসে আধুনিক অ্যাপের ইউটিলিটি সার্ভিসগুলো সচল রাখার জন্য এটি ব্যবহৃত হয়।
  • AndroidX Lifecycle (Utility): অ্যাপের এক্টিভিটি বা ফ্রাগমেন্টের জীবনচক্র বা Lifecycle Status পরিবর্তনের সাথে সাথে স্বয়ংক্রিয়ভাবে কাজ করতে এটি ব্যবহৃত হয়।
  • AndroidX Lifecycle ViewModel (Utility): ফোন রোটেট করলে বা কনফিগারেশন চেঞ্জ হলেও ইউজার ইন্টারফেসের ডাটা যেন হারিয়ে না যায়, তা নিশ্চিত করে এই লাইব্রেরি।
  • AndroidX LocalBroadcastManager (Utility): এটি একটি অ্যাপ-ব্যাপী Event Bus হিসেবে কাজ করে, যার মাধ্যমে এক কম্পোনেন্ট অন্য কম্পোনেন্টের ইভেন্ট শুনতে পারে।
  • AndroidX Navigation (Utility): অ্যাপের এক স্ক্রিন থেকে অন্য স্ক্রিনে বা এক গন্তব্য থেকে অন্য গন্তব্যে যাওয়ার জন্য একটি শক্তিশালী এবং সহজ Framework।
  • AndroidX Print (Utility): ছবি, ডকুমেন্ট বা অন্যান্য গ্রাফিক্স প্রিন্ট করার জন্য প্রয়োজনীয় API প্রদান করে।
  • AndroidX RecyclerView (Utility): অনেক বড় লিস্ট বা ডাটা যখন UI-তে দেখাতে হয়, তখন মেমোরি খরচ কমিয়ে দ্রুত দেখানোর জন্য এটি সেরা সমাধান।
  • AndroidX SavedState (Utility): অ্যাপের বর্তমান অবস্থা বা স্টেট সেভ করে রাখার জন্য প্রয়োজনীয় হুকস প্রদান করে।
  • AndroidX SwipeRefreshLayout (UI Component): আমরা যখন স্ক্রিন নিচের দিকে টেনে রিফ্রেশ করি, সেই Swipe-To-Refresh UI Pattern এটি দিয়েই করা হয়।
  • AndroidX Transition (UI Component): অ্যাপের লেআউট পরিবর্তনের সময় চমৎকার মোশন অ্যানিমেশন তৈরি করে।
  • AndroidX VectorDrawable (UI Component): উচ্চমানের ভেক্টর গ্রাফিক্স রেন্ডার করার জন্য এটি ব্যবহৃত হয়।
  • AndroidX VersionedParcelable (Utility): এক প্রসেস থেকে অন্য প্রসেসে ডাটা পাঠানোর জন্য একটি স্ট্যাবল এবং কম্প্যাক্ট Binary Serialization Format।
  • AndroidX ViewPager (UI Component): ভিউ বা ফ্রাগমেন্টগুলোকে সোয়াইপ করে দেখার সুযোগ দেয়।
  • AndroidX ViewPager2 (UI Component): এটি আগের ভার্সনের চেয়েও উন্নত, যা Vertical Orientation এবং Right-To-Left Layout সাপোর্ট করে।
  • AndroidX Wear (Utility): গুগলের স্মার্টওয়াচ বা Wear OS-এর জন্য অ্যাপ তৈরি করতে এটি কাজে লাগে।
  • Google Android Material (Utility): অ্যাপের পুরো ডিজাইন যেন Material গাইডলাইন মেনে চলে, তা নিশ্চিত করে।
  • OkHttp (Utility): এটি অ্যান্ড্রয়েড এবং জাভার জন্য একটি অত্যন্ত শক্তিশালী HTTP+HTTP/2 Client। ইন্টারনেট থেকে ডাটা আনা-নেওয়া করার জন্য এটি প্রধান ইঞ্জিন হিসেবে কাজ করে।
  • Glide (Utility): ইমেজ বা ছবি দ্রুত ডাউনলোড এবং ক্যাশ করার জন্য এটি জনপ্রিয় একটি লাইব্রেরি।
  • Dagger (Utility): এটি জাভা এবং অ্যান্ড্রয়েডের জন্য একটি অত্যন্ত দ্রুতগতির Dependency Injector।
  • JavaX Inject (Utility): কোডকে আরও বেশি টেস্টেবল এবং মেইনটেনেবল করতে Dependency Injection পদ্ধতি ব্যবহারের সুযোগ দেয়।
  • Kotlin Stdlib (Utility): অতিরিক্ত কোড বা রানটাইম খরচ ছাড়াই উন্নত প্রোগ্রামিং এক্সপেরিয়েন্স দেয়।
  • Kotlinx Coroutines (Utility): কোটলিন ল্যাঙ্গুয়েজে কোরুটিন বা মাল্টি-টাস্কিংয়ের জন্য লাইব্রেরি সাপোর্ট।
  • Okio (Utility): ডাটা এক্সেস এবং প্রসেস করা সহজ করার জন্য জাভার একটি আধুনিক I/O API।
  • Flexmark (Utility): এটি CommonMark স্পেসিফিকেশন অনুযায়ী ফরম্যাটিং করার জন্য জাভা ইমপ্লিমেন্টেশন।
  • Retrofit Mock (Utility): এটি ডেভেলপারদের জন্য একটি সহায়িকা যা IDE ইন্টিগ্রেশনে সাহায্য করে।
  • Retrofit (Utility): এটি Square, Inc.-এর তৈরি একটি টাইপ-সেফ HTTP Client। এটি API কলের মাধ্যমে ডাটা আদান-প্রদানের কাজকে অনেক সহজ করে দেয়।

পরিশেষে বলা যায়, AndroTainer অ্যাপটি একটি টেকনিক্যাল মাস্টারপিস যা অনেকগুলো লাইব্রেরির সমন্বয়ে তৈরি করা হয়েছে শুধুমাত্র আপনার Portainer এবং Docker ম্যানেজমেন্টকে সহজ করার জন্য। আপনি যদি একজন সিস্টেম অ্যাডমিন হন বা নিজের হোমে ল্যাব চালান, তবে এই অ্যাপটি আপনার জন্য একটি মাস্ট-হ্যাভ টুল।

Level 34

আমি মো আতিকুর ইসলাম। সনিক টিউনার, টেকটিউনস, গাইবান্ধা। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 5 বছর 9 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 806 টি টিউন ও 94 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 68 ফলোয়ার আছে এবং আমি টেকটিউনসে 3 টিউনারকে ফলো করি।

“আল্লাহর ভয়ে তুমি যা কিছু ছেড়ে দিবে, আল্লাহ্ তোমাকে তার চেয়ে উত্তম কিছু অবশ্যই দান করবেন।” —হযরত মোহাম্মদ (সঃ)


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস