Content dir for docker-erddap incl setup.xml & dataset.xml
- modify dataset files in
/datasets/dir - run erddap-datasets-xml-builder to generate
datasets.xml(TODO: see #33) - pull new datasets.xml onto erddap server (if using docker a
docker-compose restartis not needed)- NOTE: As of 2023-03 IMaRS's ERDDAP server (a docker container on dune) does this automatically every 30min.1
- NOTE: Changes beyond just
datasets.xmledits may require the docker container be restarted or rebuilt.
NOTE: ${HOSTNAME} is the name of the dockerhost system.
${USERNAME} is your username (must have docker permissions).
- create a file in this repo
/datasets/{dataset_name}/README.mdwhere{dataset_name}is the name you have chosen for your dataset; try to follow the patterns of existing dataset names in/datasets/. - create a file
/datasets/{dataset_name}/dataset.xml:- connect to docker host:
ssh ${USERNAME}@${HOSTNAME}- for user
aliceaccessing the 2023 IMaRS ERDDAP hypervisor this is :alice@dune.marine.usf.edu
- use tool to auto-generate dataset xml:
docker exec -it erddap bash -c "cd webapps/erddap/WEB-INF/ && bash GenerateDatasetsXml.sh -verbose"
- copy the xml into your new
/datasets/{dataset_name}/dataset.xmlfile - modify the xml
- change the name in the xml to match your chosen
dataset_name
- change the name in the xml to match your chosen
- connect to docker host:
- see the
workflowsection above to finish applying the changes
- search the
/erddapData/logs/log.txtwithin the docker container for errors related to your dataset- to open a bash connection in the container from the hypervisor
docker exec -it erddap /bin/bash
- to open a bash connection in the container from the hypervisor
- run
DasDdsto find errorsdocker exec -it erddap bash -c "cd webapps/erddap/WEB-INF/ && bash DasDds.sh -verbose"
- once DasDds has no errors, you may need to restart the ERDDAP container to update volumes:
docker-compose restart- in some cases resetting the volumes is needed too:
docker-compose down --rmi all --volumes && docker-compose up -d
- look at ${HOSTNAME}/erddap/status.hml for
LoadDatasetsto finish & that all is well.
- setup.xml spec
- datasets.xml spec
- example content directory
- updates to ERDDAP code
- IOOS "Gold Standard" Example configs
Footnotes
-
the crontab entry on dune that does this:
*/30 * * * * cd /root/docker_volumes/erddap-config ; /usr/bin/git checkout dune && /usr/bin/git pull && /usr/bin/git rebase origin/master && /usr/bin/git push -f origin dune↩