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

itsUP হলো একটি পাইথন-ভিত্তিক হোম ইনফ্রাস্ট্রাকচার স্ট্যাক যা জিরো-ডাউনটাইম ডিপ্লয়মেন্ট এবং সুরক্ষা ফোকাস সহ ডকার সার্ভিস ম্যানেজমেন্ট স্বয়ংক্রিয় করে। এটি DNS রেজোলিউশন, ট্রাফিক রিভার্স প্রক্সি, এবং কন্টেইনার ওয়ার্কলোডসহ সম্পূর্ণ নেটওয়ার্কিং স্ট্যাক পরিচালনা করে—যা সব প্রজেক্ট-ভিত্তিক ডিরেক্টরি কাঠামো থেকে অর্কেসট্রেট করা হয়। প্রতিটি সার্ভিস প্রজেক্টের নিজস্ব docker-compose.yml এবং কনফিগারেশন ফাইল থাকে, যা ইনফ্রাস্ট্রাকচার হিসেব কোডকে সংগঠিত এবং ভার্সনযোগ্য রাখে। প্রধান ক্ষমতাগুলি: - **জিরো-ডাউনটাইম রোলআউট**: docker rollout ব্যবহার করে কন্টেইনার স্কেল করে, হেলথ চেক অপেক্ষা করে, তারপর পুরোনো ইনস্ট্যান্স বদলে দেয়। স্মার্ট পরিবর্তন সনাক্তকরণ কোনো পরিবর্তন না থাকলে রোলআউট এড়ায়। - **পরিচালিত প্রক্সি**: SO_REUSEPORT সহ ট্রাফিক কনফিগারেশন তৈরি করে মসৃণ আপডেট সমর্থন করে। TLS টার্মিনেশন, TLS পাসথ্রু, TCP/UDP ফরোয়ার্ডিং, এবং হোস্ট পোর্ট বাइंडিং সমর্থন করে। - **কন্টেইনার সিকিউরিটি মনিটর**: DNS কোয়েরিকে সরাসরি IP সংযোগের সাথে মিলিয়ে কম্প্রোমাইজড কন্টেইনার শনাক্ত করে। ঐচ্ছিক iptables ব্লকিংয়ের জন্য OpenSnitch এর সাথে একীভূত। - **DNS হোনিপট**: সব কন্টেইনার DNS ট্রাফিক লগযুক্ত dnsmasq এর মাধ্যমে রুট করে হুমকি সনাক্তকরণে সাহায্য করে। - **স্বয়ংক্রিয় ব্যাকআপ**: সাপ্তাহিক S3 ব্যাকআপ এবং নির্ধারিত রিস্টোর। - **হুমকি বুদ্ধিমত্তা**: AbuseIPDB API ইন্টিগ্রেশন এর মাধ্যমে দৈনিক প্রতিবেদন। - **OpenVPN সার্ভার**: SSH অ্যাক্সেস সহ বিল্ট-ইন VPN সমর্থন। itsup CLI মূল ইন্টারফেস, যেখানে init, apply, validate, dns/proxy/svc/monitor ম্যানেজমেন্টের জন্য কমান্ড রয়েছে। সিস্টেমড টাইমার লিনাক্সে বুট স্টার্টআপ, সাপ্তাহিক apply, ব্যাকআপ, এবং হেলথ চেক পরিচালনা করে। macOS এ launchd agents একই রকম স্বয়ংক্রিয়তা প্রদান করে। প্রয়োজনীয়তা: rollout প্লাগইন সহ Docker, uv (পাইথন ডিপেন্ডেন্সি ম্যানেজমেন্ট), 80/443 এর জন্য পোর্ট ফরোয়ার্ডিং, এবং ওয়াইল্ডকার্ড DNS ডোমেইন। কনফিগারেশনে SOPS/age ব্যবহার করে গোপনীয়তা এনক্রিপশন করা হয়, আলাদা git রিপোজিটরি প্রজেক্ট এবং গোপনীয়তার জন্য।