stoqs 는 해양학자가 현장 측정 및 현장 외부 샘플 데이터에 효율적으로 통합된 액세스를 제공하도록 설계된 지리공간 데이터베이스이자 웹 애플리케이션입니다. 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 및 Provision.sh는 호스트 운영 체제에서 NFS 마운트 디렉터리를 사용하여 개발 시스템을 프로비저닝합니다. 호스트가 NFS를 통한 파일 제공을 지원하지 않는 경우(대부분의 Windows 호스트는 NFS 파일 제공을 지원하지 않음) vagrant up
실행하기 전에 이러한 파일을 편집해야 합니다. 변경해야 할 줄에 대한 주석을 support NFS file serving
찾으십시오.
vagrant up
명령은 MB-System, InstantReality 및 Anaconda와 같은 패키지에 번들로 제공되는 모든 Python 데이터 과학 도구도 포함하는 완전한 CentOS 7 stoqs 가상 머신을 프로비저닝하고 설정하는 데 1시간 정도 걸립니다. VM에서 공유 폴더를 구성하려면 관리자 비밀번호를 묻는 메시지가 표시됩니다(NFS 탑재를 비활성화하지 않은 경우). 이 VM에 대한 모든 연결은 이를 설치한 디렉터리에서 수행됩니다. vagrant ssh -- -X
명령으로 로그인하기 전에 cd (예: cd ~/Vagrants/ stoqs vm
)를 수행해야 합니다. 설치가 완료되면 새 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 프로젝트에 기여해 주시기 바랍니다! 작업을 공유하는 방법은 CONTRIBUTING을 참조하세요. 또한 stoqs 사용자 인터페이스의 기능을 뛰어넘는 특정 분석 및 시각화를 보여주는 Jupyter 노트북 예제를 참조하세요. 업데이트 및 프레젠테이션 링크를 보려면 stoqs Wiki 페이지를 방문하세요. Google 그룹스의 stoqs -discuss 목록은 stoqs 사용자 및 개발자 커뮤니티에 질문을 하고 토론에 참여할 수 있는 좋은 장소이기도 합니다.
David and Lucile Packard 재단의 지원을 받는 stoqs Monterey Bay Aquarium Research Institue의 사명을 지원하기 위해 지속적인 개발을 진행하고 있습니다. 자체 서버가 있는 경우 다음과 같은 새로운 기능을 얻고 싶을 때가 있습니다.
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
.env 파일에 stoqs _VOLS_DIR 변수로 설정된 디렉터리가 존재하지 않는 경우 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
의 기본 설정은 Vagrant 가상 머신에서 https://localhost로 구성된 프로덕션 nginx/uwsgi/ stoqs 서버를 실행합니다. 인트라넷 또는 데이터 공개 제공을 위해 서버를 구성하려면 .env
파일 설정에 대한 설명에 제공된 지침을 따르세요. .env
파일을 편집한 후에는 이미지를 다시 빌드하고 Docker 서비스를 다시 시작해야 합니다. 이번에는 -d
옵션을 사용하여 백그라운드에서 컨테이너를 실행해야 합니다.
docker-compose build
docker-compose up -d
서버에 업데이트된 소프트웨어를 배포하려면 git pull
이후에도 위 명령을 수행해야 합니다.
한 가지 좋은 방법은 로그를 모니터링하고 오류 메시지를 확인하는 것입니다. 이는 다음을 통해 수행할 수 있습니다.
docker-compose logs -f
예를 들어 일부 기존 MBARI 캠페인 데이터를 로드하려면 docker-compose exec stoqs
사용하여 호스트의 stoqs 서버에서 Python 코드를 실행할 수 있습니다(장기 실행 프로세스를 위해 다른 컨테이너를 시작하려면 docker-compose run stoqs
사용).
docker-compose run stoqs stoqs /loaders/load.py --db stoqs _simz_aug2013
(MBARI 캠페인을 로드하려면 .env 파일에서 CAMPAIGNS_MODULE= stoqs /mbari_campaigns.py
행의 주석 처리를 제거해야 합니다. stoqs 디렉토리에 campaigns.py
라는 심볼릭 링크가 없는지 확인하십시오. 이는 다음 경우에만 필요합니다. 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 서버(예: MBARI의 Public stoqs Server)에 있는 캠페인의 상단 표시줄에 있는 캠페인 이름을 클릭하세요.
연구에 stoqs 사용하는 경우 다음 간행물을 인용해 주세요.
맥캔, M.; 슈람, R.; 클라인, D.; 미치사키, R.; 하비, J.; Ryan, J., "AUV, 글라이더 및 계류 데이터를 관리, 시각화 및 이해하기 위해 stoqs (공간적 시간 해양학 쿼리 시스템) 사용" , 자율 수중 차량(AUV), 2014 IEEE/OES , pp.1-10 , 2014년 10월 6~9일 doi: 10.1109/AUV.2014.7054414
Stoqs 로고" style="최대 너비: 100%;">