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 restart
is 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.xml
edits 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.md
where{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
alice
accessing the 2023 IMaRS ERDDAP hypervisor this is :[email protected]
- 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.xml
file - 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
workflow
section above to finish applying the changes
- search the
/erddapData/logs/log.txt
within 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
DasDds
to 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
LoadDatasets
to 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
↩