-
Notifications
You must be signed in to change notification settings - Fork 19
Home
This repository contains Docker images for running ESGF services in various node configurations.
A host system with the latest version of Docker Engine installed (at this time, Docker 1.12+). Tested on MacOSX and Linux CentOS.
The following instructions explain how to run an ESGF node as a set of interacting Docker containers on your host system. Docker Engine must be up and running before proceeding.
-
Clone the current repository, cd to the top-level directory:
- git clone https://github.com/ESGF/esgf-docker.git
- cd esgf-docker
-
Define your environment:
- ESGF_HOSTNAME must reference the Fully Qualified Domain Name of the host where the containers will be running:
- on linux:
- export ESGF_HOSTNAME=`hostname`
- on mac:
- export ESGF_HOSTNAME=my-node.esgf.org
- edit /private/etc/hosts and map my-node.esgf.org to the IP of the Docker machine you are using, for example: 192.168.99.100 my-node.esgf.org
- on linux:
- ESGF_CONFIG must reference a directory on the host system that will store all the site-specific configuration:
- for example: export ESGF_CONFIG=~/esgf_config
- mkdir -p $ESGF_CONFIG
- ESGF_DATA must reference the root of the data directory on your host
- for example: export ESGF_DATA=~/esgf_data
- mkdir -p $ESGF_DATA
- ESGF_HOSTNAME must reference the Fully Qualified Domain Name of the host where the containers will be running:
-
Initialize your node configuration: create a self-signed certificate for $ESGF_HOSTNAME and populate the $ESGF_CONFIG directory with initial content.
- from the scripts/ directory: ./esgf_node_init.sh
-
Optional: pre-download the latest version of all ESGF Docker images. If not done now, the images will be pulled down automatically one by one when each service is started.
- from the scripts/ directory: ./docker_pull_all.sh
-
Start all ESGF services in daemon mode, then look at the combined logs:
- from the top-level esgf/ directory: docker-compose up -d
- docker-compose logs -f
-
Do some testing:
- In a browser, access the top-level CoG page for the node: https://$ESGF_HOSTNAME/
- Login with the rootAdmin openid: https://$ESGF_HOSTNAME/esgf-idp/openid/rootAdmin (password: changeit)
- Access the top-level TDS catalog: http://$ESGF_HOSTNAME/thredds
- Download one of the test files. You will have to log onto the ORP with the same openid as above.