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 และ allowance.sh จะจัดเตรียมระบบการพัฒนาด้วยไดเร็กทอรีที่เมาท์ NFS จากระบบปฏิบัติการโฮสต์ของคุณ หากโฮสต์ของคุณไม่รองรับการให้บริการไฟล์ผ่าน NFS (โฮสต์ Windows ส่วนใหญ่ไม่รองรับการให้บริการไฟล์ NFS) คุณจะต้องแก้ไขไฟล์เหล่านี้ก่อนที่จะดำเนินการ vagrant up
ค้นหา support NFS file serving
ความคิดเห็นในไฟล์เหล่านี้เพื่อดูบรรทัดที่คุณต้องการเปลี่ยนแปลง
คำสั่ง vagrant up
ใช้เวลาหนึ่งชั่วโมงหรือประมาณนั้นในการจัดเตรียมและตั้งค่า CentOS 7 stoqs Virtual Machine ที่สมบูรณ์ ซึ่งรวมถึง MB-System, InstantReality และเครื่องมือวิทยาศาสตร์ข้อมูล Python ทั้งหมดที่รวมอยู่ในแพ็คเกจ เช่น Anaconda คุณจะได้รับแจ้งให้ใส่รหัสผ่านผู้ดูแลระบบเพื่อกำหนดค่าโฟลเดอร์แชร์จาก VM (เว้นแต่คุณได้ปิดใช้งานการเมานต์ NFS) การเชื่อมต่อทั้งหมดไปยัง VM นี้ดำเนินการจากไดเร็กทอรีที่คุณติดตั้งไว้ คุณต้อง cd ไปที่มัน (เช่น 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 — โปรดดูที่ LOADING สำหรับข้อมูลเฉพาะเกี่ยวกับการโหลดข้อมูลของคุณเอง ตัวอย่างเช่น คุณสามารถสร้างฐานข้อมูลแคมเปญ MBARI ที่เก็บถาวรของคุณเองได้:
cd stoqs
ln -s mbari_campaigns.py campaigns.py
loaders/load.py --db stoqs _cce2015
คุณได้รับการสนับสนุนให้มีส่วนร่วมในโครงการ stoqs ! โปรดดูการมีส่วนร่วมสำหรับวิธีการแบ่งปันงานของคุณ นอกจากนี้ โปรดดูตัวอย่าง Jupyter Notebooks ที่แสดงการวิเคราะห์และการแสดงภาพข้อมูลเฉพาะที่นอกเหนือไปจากความสามารถของอินเทอร์เฟซผู้ใช้ stoqs เยี่ยมชมหน้า stoqs Wiki เพื่อดูข้อมูลอัปเดตและลิงก์ไปยังการนำเสนอ รายการ stoqs -discuss ใน Google Groups ยังเป็นสถานที่ที่ดีในการถามคำถามและมีส่วนร่วมในการสนทนากับผู้ใช้ stoqs และชุมชนนักพัฒนา
stoqs ได้รับการพัฒนาอย่างต่อเนื่องเพื่อช่วยสนับสนุนภารกิจของสถาบันวิจัยพิพิธภัณฑ์สัตว์น้ำมอนเทอเรย์เบย์ โดยได้รับการสนับสนุนจากมูลนิธิ David และ Lucile Packard หากคุณมีเซิร์ฟเวอร์เป็นของตัวเอง คุณอาจต้องการรับคุณสมบัติใหม่ๆ เป็นครั้งคราวด้วย:
git pull
ขั้นแรก ติดตั้ง Docker และ docker-compose บนระบบของคุณ จากนั้นทำการโคลนพื้นที่เก็บข้อมูล ในไดเรกทอรีนักเทียบท่าให้คัดลอกไฟล์ 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 สำหรับการวิจัยของคุณ โปรดอ้างอิงเอกสารนี้:
แมคแคน ม.; ชรัมม์ ร.; ไคลน์ ด.; มิชิซากิ ร.; ฮาร์วีย์ เจ.; Ryan, J., "การใช้ stoqs (ระบบสืบค้นสมุทรศาสตร์เชิงพื้นที่เชิงพื้นที่) เพื่อจัดการ แสดงภาพ และทำความเข้าใจ AUV เครื่องร่อน และข้อมูลการจอดเรือ" ใน Autonomous Underwater Vehicles (AUV), 2014 IEEE/OES , หน้า 1-10 , 6-9 ต.ค. 57 ดอย: 10.1109/AUV.2014.7054414
โลโก้ stoqs" style="max-width: 100%;">