Running TerraMA2 - TerraMA2/docker GitHub Wiki
Summary
- Check third-parties
- GeoServer
- PostgreSQL/PostGIS
- TerraMA²
- Configuring
- Running
- BDQueimadas Light
Check third-parties
GeoServer
If you don't have a running version of GeoServer or you want to try an experimental version, you can use the built-in TerraMA² GeoServer image.
Create a new volume to store the GeoServer data files:
docker volume create terrama2_geoserver_vol
Pull the GeoServer image and run a new container named terrama2_geoserver
:
docker run -d \
--restart unless-stopped --name terrama2_geoserver \
-p 127.0.0.1:8081:8080 \
-e "GEOSERVER_URL=/geoserver" \
-e "GEOSERVER_DATA_DIR=/opt/geoserver/data_dir" \
-v terrama2_data_vol:/data \
-v terrama2_shared_vol:/shared-data \
-v terrama2_geoserver_vol:/opt/geoserver/data_dir \
-v ${PWD}/conf/terrama2_geoserver_setenv.sh:/usr/local/tomcat/bin/setenv.sh \
terrama2/geoserver:2.11
The above command will link the host address 127.0.0.1
on port 8081
to the container port 8080
and it will run the container as a daemon in background. You can try the following address in your browser: http://localhost:8081/geoserver.
PostgreSQL + PostGIS
If you don't have a running version of PostgreSQL with the PostGIS extension or you want to try an experimental version, you can use the image prepared by mdillon/postgis
.
Create a new volume to store the PostgreSQL data files:
docker volume create terrama2_pg_vol
Pull the PostgreSQL image and run a new container named terrama2_pg
:
docker run -d \
--restart unless-stopped --name terrama2_pg \
-p 127.0.0.1:5433:5432 \
-v terrama2_pg_vol:/var/lib/postgresql/data \
-e POSTGRES_PASSWORD=mysecretpassword \
mdillon/postgis
The above command will link the host address 127.0.0.1
on port 5433
to the container port 5432
and it will run the container as a daemon in background. You can try the following address in psql or pgAdmin:
psql -U postgres -p 5433 -h localhost -d postgres
In the above command use the password: mysecretpassword
.
TerraMA²
Configuring
The TerraMA² Docker contains configuration files located in folder config
. You must edit terrama2_webapp.json.in
and terrama2_webapp.json
in order to execute the environment properly.
Running TerraMA²
In order to link all the pieces of TerraMA², you can create a network named terrama2_net
:
docker network create terrama2_net
If you have installed the GeoServer and PostgreSQL as docker containers, as explained in above sections, link them together:
docker network connect terrama2_net terrama2_geoserver
docker network connect terrama2_net terrama2_pg
After that, configure files version properly:
./configure-version.sh
This command will generate conf/terrama2_webapp.json file. You may edit this file for connection parameters.
Now run the docker-compose in daemon mode:
docker-compose -p terrama2 up -d
If you want to check TerraMA² log output:
docker-compose -p terrama2 logs --follow
If you want to stop the TerraMA² containers:
docker-compose -p terrama2 stop
If you want to remove all the stopped containers:
docker-compose -p terrama2 rm
BDQueimadas Light
Create a new volume to store the BDQueimadas Light temporary download files:
docker volume create terrama2_bdq_vol
Pull the BDQueimadas Light image and run a new container named terrama2_bdqlight
:
docker run -d \
--restart unless-stopped --name terrama2_bdq \
-p 127.0.0.1:39000:39000 \
-v ${PWD}/conf/bdqueimadas-light/conf/:/opt/bdqueimadas-light/configurations/ \
-v ${PWD}/conf/bdqueimadas-light/.pgpass:/root/.pgpass \
-v terrama2_bdq_vol:/opt/bdqueimadas-light/tmp \
terrama2/bdqlight:1.0.0
Link the BDqueimadas container in terrama2_net
:
docker network connect terrama2_net terrama2_bdq