stoqs — это геопространственная база данных и веб-приложение, предназначенное для предоставления океанографам эффективного интегрированного доступа к данным измерений на месте и данным образцов ex-situ . См. http://www.stoqs.org.
Сначала установите Vagrant и VirtualBox — существуют стандартные установщики для Mac, Windows и Linux. (Вам также понадобится программное обеспечение системы X Windows на вашем компьютере.) Затем создайте пустую папку в своем домашнем каталоге, например 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 иvision.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
. После завершения установки войдите в свою новую виртуальную машину и протестируйте ее:
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, демонстрирующие конкретные анализы и визуализации, выходящие за рамки возможностей пользовательского интерфейса stoqs . Посетите страницы stoqs Wiki для получения обновлений и ссылок на презентации. Список stoqs -discuss в группах Google также является хорошим местом для того, чтобы задавать вопросы и участвовать в обсуждениях с сообществами пользователей и разработчиков stoqs .
При поддержке Фонда Дэвида и Люсиль Паккард 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
для более быстрой загрузки существующей базы данных Campaign в вашей системе. Для получения инструкций нажмите на название кампании в верхней панели кампании на другом сервере stoqs , например, на публичном сервере stoqs MBARI.
Если вы используете stoqs для своих исследований, пожалуйста, цитируйте эту публикацию:
Макканн, М.; Шрамм, Р.; Клайн, Д.; Мичисаки, Р.; Харви, Дж.; Райан, Дж., «Использование stoqs (системы пространственно-временных океанографических запросов) для управления, визуализации и понимания данных АНПА, планера и швартовки», в журнале Autonomous Underwater Vehicles (AUV), 2014 IEEE/OES , стр. 1–10. , 6–9 октября 2014 г.: 10.1109/АУВ.2014.7054414
логотип Stoqs" style="max-width: 100%;">