Server software stack for MBON server serving early-alert dashboards.
Contents:
For detailed documentation please see ./documentation/
.
docker-compose.yml
handles most configuration.
The subdirectories (eg erddap, nginx, etc) contain container-specific files.
In general you will configure your stack by:
- Modifying
docker-compose.yml
and container-specific configuration files inside of./erddap/
,./grafana/
, etc. Directions for this is included within aREADME.md
file inside of each directory. Changes made to these files should be version controlled using git. - Setting up docker volumes so that data can persist when containers are recreated. Volumes are generally too large for git, so you should manage backups of these directories. A strategy for this is not included.
- Setting passwords & configuration in
.env
. This file should not be added to git for security reasons. A backup strategy for this file is not included.
It is suggested that you configure each container one-at-a-time. To do this simply comment out the relevant sections of docker-compose.yml.
- fork this repo & clone your fork to local machine
- install docker & docker-compose
- add permissions to run docker for current user
sudo usermod -aG docker ${USER}
- adjust settings
- set passwords in the environment
.env
file.- see the
documentation/example_env_file
for an example.
- see the
- connect ERDDAP to your data - see
./erddap/README.md
- load data into InfluxDB - see
./influxdb/README.md
- modify grafana dashboards - see
./grafana/README.md
- create data dir for PostgreSQL - see
./postgres/README.md
- set passwords in the environment
- run initialization containers:
docker-compose -f docker-compose-init.yml up -d
- wait a few minutes
docker-compose -f docker-compose-init.yml down
- start everything up:
docker-compose up --build -d
- test it out (assuming your hostname is "localhost")
- http://localhost/ should show "welcome to nginx"
- http://localhost:8080/ should show a 404 from tomcat
- http://localhost:8080/erddap should show ERDDAP's page
- http://localhost:8086/ should show "404 page not found" from InfluxDB
- http://localhost:3000/login should show grafana login
- http://localhost:5000 should show a data submission form from mbon_data_uploader
- configure grafana
- import dashboards from github/USF-IMaRS/grafana-dashboards using these instructions.
The workflow here is to do any non-site-specific work on the master branch.
Each client installation then has a client-*
branch coming off of the master branch.
To update a client branch to use the latest master git rebase
is used.
- modify
docker-compose.yml
or files within container folders docker-compose up --build -d
to update what's runninggit pull
thengit commit
your changes- do not commit your
.env
or hostname changes toerddap/setup.xml
- do not commit your
- same as above
- same as above
git checkout client-fknms
git rebase master
- resolve any merge issues
git push -f origin client-fknms
- !!! be careful with force pushing; it deletes history