stoqs هي قاعدة بيانات جغرافية مكانية وتطبيق ويب مصمم لمنح علماء المحيطات إمكانية الوصول المتكامل الفعال إلى القياسات في الموقع وبيانات العينات خارج الموقع . انظر http://www.stoqs.org.
أولاً، قم بتثبيت Vagrant وVirtualBox — هناك أدوات تثبيت قياسية لأنظمة التشغيل Mac وWindows وLinux. (ستحتاج أيضًا إلى برنامج X Windows System على جهاز الكمبيوتر الخاص بك.) ثم قم بإنشاء مجلد فارغ خارج الدليل الرئيسي الخاص بك مثل Vagrants/ stoqs vm
، وافتح نافذة موجه الأوامر، وقرص مضغوط لذلك المجلد، وأدخل هذه الأوامر:
curl " https://raw.githubusercontent.com/stoqs/ stoqs /master/Vagrantfile " -o Vagrantfile
curl " https://raw.githubusercontent.com/stoqs/ stoqs /master/provision.sh " -o provision.sh
vagrant plugin install vagrant-vbguest
vagrant up --provider virtualbox
سيوفر Vagrantfile وprovision.sh نظام تطوير بدليل مثبت على NFS من نظام التشغيل المضيف لديك. إذا كان مضيفك لا يدعم خدمة الملفات عبر NFS (معظم مضيفي Windows لا يدعمون خدمة ملفات NFS)، فسوف تحتاج إلى تحرير هذه الملفات قبل تنفيذ vagrant up
. ابحث عن support NFS file serving
التعليقات في هذه الملفات لمعرفة الأسطر التي تحتاج إلى تغييرها.
يستغرق الأمر vagrant up
ما يقرب من ساعة لتوفير وإعداد جهاز افتراضي كامل من CentOS 7 stoqs يتضمن أيضًا MB-System وInstantReality وجميع أدوات علم بيانات Python المجمعة في حزم مثل Anaconda. ستتم مطالبتك بكلمة مرور المسؤول الخاصة بك لتكوين مجلد مشترك من الجهاز الافتراضي (ما لم تقم بتعطيل تثبيت NFS). يتم تنفيذ جميع الاتصالات بهذا الجهاز الافتراضي من الدليل الذي قمت بتثبيته فيه؛ يجب عليك القرص المضغوط الخاص به (على سبيل المثال cd ~/Vagrants/ stoqs vm
) قبل تسجيل الدخول باستخدام الأمر vagrant ssh -- -X
. بعد انتهاء التثبيت، قم بتسجيل الدخول إلى جهاز VM الجديد الخاص بك واختبره:
vagrant ssh -- -X # Wait for [vagrant@localhost ~]$ prompt
export stoqs _HOME=/vagrant/dev/ stoqs git # Use stoqs _HOME=/home/vagrant/dev/ stoqs git if not using NFS mount
cd $ stoqs _HOME && source venv- stoqs /bin/activate
export DATABASE_URL=postgis:// stoqs adm:[email protected]:5438/ stoqs
./test.sh CHANGEME load noextraload
في نافذة طرفية أخرى، ابدأ تشغيل خادم التطوير (بعد cd ~/Vagrants/ stoqs vm
):
vagrant ssh -- -X # Wait for [vagrant@localhost ~]$ prompt
export stoqs _HOME=/vagrant/dev/ stoqs git # Use stoqs _HOME=/home/vagrant/dev/ stoqs git if not using NFS mount
cd $ stoqs _HOME && source venv- stoqs /bin/activate
export DATABASE_URL=postgis:// stoqs adm:[email protected]:5438/ stoqs
stoqs /manage.py runserver 0.0.0.0:8000 --settings=config.settings.local
قم بزيارة واجهة المستخدم stoqs بخادمك باستخدام متصفح الكمبيوتر المضيف:
http://localhost:8008
توجد المزيد من الإرشادات في دليل doc/instructions — راجع التحميل للحصول على تفاصيل حول تحميل بياناتك الخاصة. على سبيل المثال، يمكنك إنشاء قاعدة البيانات الخاصة بك لحملة MBARI المؤرشفة:
cd stoqs
ln -s mbari_campaigns.py campaigns.py
loaders/load.py --db stoqs _cce2015
نحن نشجعك على المساهمة في مشروع stoqs ! يرجى الاطلاع على المساهمة لمعرفة كيفية مشاركة عملك. راجع أيضًا مثال Jupyter Notebooks الذي يوضح تحليلات وتصورات محددة تتجاوز إمكانيات واجهة مستخدم stoqs . قم بزيارة صفحات stoqs Wiki للحصول على التحديثات والروابط للعروض التقديمية. تعد قائمة مناقشة stoqs في مجموعات Google أيضًا مكانًا جيدًا لطرح الأسئلة والمشاركة في مناقشة مع مجتمعات مستخدمي ومطوري stoqs .
بدعم من مؤسسة David and Lucile Packard، تخضع stoqs للتطوير المستمر للمساعدة في دعم مهمة معهد أبحاث خليج مونتيري للأحياء المائية. إذا كان لديك خادم خاص بك، فسوف ترغب أحيانًا في الحصول على ميزات جديدة من خلال:
git pull
أولاً، قم بتثبيت Docker وdocker-compose على نظامك. ثم استنساخ المستودع؛ في دليل docker، انسخ ملف template.env
إلى .env
وقم بتحريره للتثبيت المحدد لديك، ثم قم بتنفيذ docker-compose up
:
git clone https://github.com/stoqs/ stoqs .git stoqs git
cd stoqs git/docker
cp template.env .env
chmod 600 .env # You must then edit .env and change settings for your environment
docker-compose up
إذا كان الدليل الذي تم تعيينه على متغير stoqs _VOLS_DIR في ملف .env الخاص بك غير موجود، فسيؤدي تنفيذ docker-compose up
إلى إنشاء مجموعة قاعدة بيانات postgresql، وتحميل قاعدة بيانات stoqs الافتراضية، وتنفيذ الوحدة والاختبارات الوظيفية لتطبيق stoqs . إذا لم تشاهد هذه الاختبارات قيد التنفيذ (سوف تستغرق عدة دقائق)، فتحقق من وجود رسائل خطأ.
بمجرد أن ترى ... [emperor] vassal /etc/uwsgi/django-uwsgi.ini is ready to accept requests
يمكنك زيارة الموقع على https://localhost - فهو يستخدم شهادة موقعة ذاتيًا، لذلك سوف يشكو متصفحك وسوف تحتاج إلى إضافة استثناء. (تقدم خدمة nginx أيضًا نفس التطبيق على http://localhost:8000 بدون مشكلة الشهادة.)
ستعمل الإعدادات الافتراضية في template.env
على تشغيل خادم nginx/uwsgi/ stoqs للإنتاج الذي تم تكوينه لـ https://localhost في جهاز Vagrant الظاهري. لتكوين خادم للإنترانت أو الخدمة العامة لبياناتك، اتبع الإرشادات الواردة في التعليقات الخاصة بالإعدادات الموجودة في ملف .env
الخاص بك. بعد تحرير ملف .env
الخاص بك، ستحتاج إلى إعادة إنشاء الصور وإعادة تشغيل خدمات Docker، هذه المرة باستخدام الخيار -d
لتشغيل الحاويات في الخلفية:
docker-compose build
docker-compose up -d
يجب أيضًا تنفيذ الأوامر المذكورة أعلاه بعد git pull
لنشر البرامج المحدثة على الخادم الخاص بك.
أحد الأشياء الجيدة التي يمكنك القيام بها هو مراقبة السجلات والتحقق من رسائل الخطأ، ويمكن القيام بذلك باستخدام:
docker-compose logs -f
يمكنك تنفيذ تعليمات برمجية Python في خادم stoqs من مضيفك عن طريق تمهيده باستخدام docker-compose exec stoqs
(استخدم docker-compose run stoqs
لإطلاق حاوية أخرى للعمليات طويلة التشغيل)، على سبيل المثال لتحميل بعض بيانات حملة MBARI الحالية:
docker-compose run stoqs stoqs /loaders/load.py --db stoqs _simz_aug2013
(لتحميل حملات MBARI، ستحتاج إلى إلغاء التعليق على سطر CAMPAIGNS_MODULE= stoqs /mbari_campaigns.py
في ملف .env الخاص بك. تأكد من عدم وجود رابط رمزي باسم campaigns.py
في دليل stoqs . هذا مطلوب فقط من أجل جهاز تطوير Vagrant - من الأفضل الاحتفاظ بالدليل المستخدم لنشر Docker منفصلاً عن الدليل المستخدم لـ Vagrant.)
في نافذة أخرى مراقبة إخراجها:
docker-compose run stoqs tail -f /srv/ stoqs /loaders/MolecularEcology/loadSIMZ_aug2013.out
# Or (The stoqs code is bound as a volume in the container from the GitHub cloned location)
tail -f stoqs git/ stoqs /loaders/MolecularEcology/loadSIMZ_aug2013.out
يمكنك أيضًا استخدام pg_restore
لتحميل قاعدة بيانات الحملة الموجودة على نظامك بسرعة أكبر. للحصول على التعليمات، انقر على اسم الحملة في الشريط العلوي للحملة على خادم stoqs آخر، على سبيل المثال على خادم stoqs العام الخاص بـ MBARI.
إذا كنت تستخدم stoqs لبحثك، فيرجى الإشارة إلى هذا المنشور:
ماكان، م.؛ شرام، ر. كلاين، د.؛ ميتشيساكي، ر.؛ هارفي، J.؛ رايان، جيه، "استخدام stoqs (نظام الاستعلام الأوقيانوغرافي الزماني المكاني) لإدارة وتصور وفهم بيانات AUV والطائرات الشراعية والرسو،" في المركبات المستقلة تحت الماء (AUV)، 2014 IEEE/OES ، الصفحات من 1 إلى 10 ، 6-9 أكتوبر 2014 10.1109/AUV.2014.7054414
شعار stoqs" style="max-width: 100%;">