बिटपोल एक सॉफ़्टवेयर है जो तारीख़ों, समय या सामान्य प्रश्नों पर पोल (मतदान) आयोजित करने के लिए बनाया गया है। यह opatuit के Dudel (https://github.com/opatut/dudel) का एक नया संस्करण है, जो https://bitpoll.de पर उपयोग किया गया है, और इसे Django फ़्रेमवर्क का उपयोग करके पुनर्लिखित किया गया है।
डॉकर इमेज वर्तमान मास्टर ब्रांच से स्वचालित रूप से बनाई जाती है।
आप डॉकर कंटेनर सेटअप करने के लिए निम्नलिखित कमांड्स का उपयोग कर सकते हैं।
mkdir -p run/{log,static,config}wget https://raw.githubusercontent.com/fsinfuhh/Bitpoll/master/bitpoll/settings_local.sample.py -O run/config/settings.pydocker run -a stdout -a stderr --rm --name bitpoll -p 3008:3008 -p 3009:3009 --volume ./run/static:/opt/static --volume ./run/config:/opt/config ghcr.io/fsinfuhh/bitpollकंटेनर पोर्ट 3009 पर उपलब्ध है। यदि आप किसी बाहरी वेब सर्वर का उपयोग करते हैं, तो आप पोर्ट 3008 पर uwsgi ट्रैफ़िक को अग्रेषित कर सकते हैं और run/static से static तक स्थिर संसाधन प्रदान कर सकते हैं।
कोड प्राप्त करें:
git clone https://github.com/fsinfuhh/Bitpollvirtualenv -p $(which python3) .pyenv
source .pyenv/bin/activate
pip install -r requirements.txtbitpoll/settings_local.sample.py को bitpoll/settings_local.py में कॉपी करें और स्थानीय सेटिंग्स को अनुकूलित करें।
./manage.py migrate./manage.py runserverप्रोडक्शन में त्रुटि रिपोर्टिंग (error reporting) के लिए Sentry का उपयोग किया जाता है।
django-auth-ldap का उपयोग LDAP के माध्यम से लॉगिन के लिए किया जाता है।
uWSGI का उपयोग ऐप को सर्व करने के लिए किया जाता है।
sudo apt install g++ make python3-psycopg2 python3-ldap3 gettext gcc python3-dev libldap2-dev libsasl2-devpip install -r requirements-production.txtकॉन्फ़िगरेशन उदाहरण settings_local.py में दिए गए हैं।
हमारा उपयोग किया गया uWSGI कॉन्फ़िग यहाँ पाया जा सकता है:
https://github.com/fsinfuhh/mafiasi-rkt/blob/master/bitpoll/uwsgi-bitpoll.ini
./manage.py compilemessages
./manage.py collectstaticहम डिपेंडेंसीज़ को प्रबंधित करने के लिए pip-tools का उपयोग करते हैं।
requirements*.in फ़ाइलों में किसी संशोधन या पैकेजों के अपडेट के बाद निम्नलिखित कमांड चलाएँ:
pip-compile --upgrade --output-file requirements.txt requirements.in
pip-compile --upgrade --output-file requirements-production.txt requirements-production.in requirements.inअपना वातावरण (environment) requirements.txt के साथ सिंक करने के लिए यह कमांड चलाएँ:
pip-syncयह वर्चुअलएन्व में आवश्यक डिपेंडेंसीज़ को इंस्टॉल या डिइंस्टॉल करेगा ताकि यह requirements फ़ाइल से मेल खा सके। 🎥 Demo Video
Google Drive Public Link: https://drive.google.com/file/d/1RNxf38iXBxW72Lz0qmf_Ma3iV3zvf245/view?usp=sharing LinkedIn Post
https://www.linkedin.com/posts/snehith-eadhara-90137938b_opensource-django-selfhosted-activity-7398967587117731841-t2Ks Team Members 1.EADHARA SNEHITH 2.BACHU SIVA SAI