इस प्रोजेक्ट के बारे में
itsUP एक Python-आधारित होम अवसंरचना स्टैक है जो Docker सेवा प्रबंधन को स्वचालित करता है, विेष रूप से ज़ीरो-डाउनटाइम डिप्लॉयमेंट और सुरक्षा पर केंद्रित।
यह DNS रिज़ॉल्यूशन, Traefik रिवर्स प्रॉक्सी और कंटेनर वर्कलोड सहित पूर्ण नेटवर्िंग स्टैक प्रबंधित करता है—सब कुछ परियोजना-आधारित निर्देशिका संरचना से ऑर्केस्ट्रेटेड। प्रत्येक सेवा परियोजना का अपना docker-compose.yml और कॉन्फ़िरेशन फ़ाइल होती है, जिससे अवसंरचना कोड व्यवस्थित और वर्शन करने योग्य रहता है।
मुख्य क्षमताएँ:
- ज़ीरो-डाउनटाइम रोलआउट: कंटेनर स्केल करने, हेल्थ चेक की प्रतीक्षा करने, फिर पुराने इंस्टेंस को बदलने के लिए docker rollout का उपयोग करता है। स्मार्ट परिवर्तन पहचान तब रोलआउट छोड़ देती है जब कुछ नहीं बदला हो।
- प्रबंधित प्रॉक्सी: निर्बाध अपडेट के लिए SO_REUSEPORT के साथ Traefik कॉन्फ़िरेशन उत्पन्न करता है। 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 प्रबंधन के लिए कमांड हैं। Systemd टाइमर Linux पर बूट स्टार्टअप, रात्रिकालीन apply, बैकअप और हेल्थ चेक संभालते हैं। macOS पर, launchd एजेंट समान स्वचालन प्रदान करते हैं।
पूर्वापेक्षाओं में rollout प्लगइन के साथ Docker, Python डिपेंडेंसी प्रबंधन के लिए uv, 80/443 के लिए पोर्ट फ़ॉरवर्डिंग, और वाइल्डकार्ड DNS डोमेन शामिल हैं। कॉन्फ़िरेशन परियोजनां और रहस्यों के लिए अलग git रिपॉज़िटरी के साथ secrets एन्क्रिप्शन के लिए SOPS/age का उपयोग करता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.