Sign inSign up

swsk33/cloud-geo-py

By swsk33

•Updated over 1 year ago

Image
0

190

swsk33/cloud-geo-py repository overview

⁠CloudGeoPy Service

A service image that integrates many open source operators and contains the following open source operators:

  • QGIS, including GDAL and GRASS
  • OTB
  • SAGA

All operators are loaded into QGIS and invoked via PyQGIS and published as a WPS 2.0 compliant service via PyWPS, which is built on the Open Source GIS Operator Environment⁠.

⁠Description

The image needs to be correctly specified some corresponding configuration to enable its normal operation, you can specify the relevant configuration through the environment variables:

  • Single node deployment: DEPLOY_MODE is single, you also need to set the MongoDB related configuration.
  • **Distributed deployment: **DEPLOY_MODE is distributed, MongoDB, Redis, Consul, and FILE_SERVER_URL need to be specified.

⁠CloudGeoPy service module

Variable NameDescriptionTypeDefault
SERVER_HOSTDeployment IP address of the serviceString127.0.0.1
SERVER_PORTDeployment port of the serviceInteger5000
WORK_DIRProject's working directory (data, config files, logs)string/workdir
MONGO_HOSTMongoDB database addressstring127.0.0.1
MONGO_PORTMongoDB database port numberInteger27017
MONGO_DB_NAMEMongoDB database namestringpywps
MONGO_USERNAMEMongoDB database usernamestringnull
MONGO_PASSWORDMongoDB database passwordstringnull
REDIS_HOSTRedis database addressstring127.0.0.1
REDIS_PORTRedis database portInteger6379
REDIS_DBRedis databaseinteger0
REDIS_PASSWORDRedis database passwordstringnull
CONSUL_IPConsul Registry Addressstring127.0.0.1
CONSUL_PORTConsul Registry Port NumberInteger8500
SERVICE_NAMEName of the service registered to Consulstringpy-wps
SERVICE_IPAddress of the service registered to Consulstringnull
SERVICE_PORTService port registered to ConsulInteger5000
FILE_SERVER_URLFile service URL, e.g. http://127.0.0.1:8000/api/file⁠stringnull
DEPLOY_MODEDeployment mode: single vs. distributedstringsingle
UWSGI_PROCESSESuWSGI process countinteger2
UWSGI_THREADSnumber of uWSGI threads, minimum 2integer2
UWSGI_BUFFER_SIZEuWSGI buffer size in bytesCharacter32768

Notes:

  • For SERVER_HOST and SERVER_PORT, please fill in the ip and mapped port of the server when deploying the container.

  • SERVICE_IP field, even if local you need to fill in the local IP address, not 127.0.0.1. docker container deployment, same network under the fill in the container name can be.

Here is a sample command to create a container:

# Single node deployment
docker run -id --name cloud-geo-py \
        -p 5000:5000 \
        -v cloud-geo-py-data:/workdir \
        -e MONGO_HOST=example.mongo.com \
        -e MONGO_USERNAME=example_username \
        -e MONGO_PASSWORD=example_password \
        swsk33/cloud-geo-py

# Distributed deployment (consul is under the same docker network as all nodes, if not, SERVICE_IP uses the appropriate IP address)
# node1
docker run -id \
        --name cloud-geo-py-1 \
        -p 5001:5000 \
        -v cloud-geo-py-data-1:/workdir \
        -e MONGO_HOST=example.mongo.com \
        -e MONGO_USERNAME=example_username \
        -e MONGO_PASSWORD=example_password \
        -e REDIS_HOST=example.redis.com \
        -e REDIS_PASSWORD=example_password \
        -e CONSUL_IP=consul \
        -e SERVICE_IP=cloud-geo-py-pyqgis-1 \
        -e DEPLOY_MODE=distributed \
        -e FILE_SERVER_URL=http://wps-gateway:9000/api/file \
        --network cloud-geo-py \
        swsk33/cloud-geo-py
# node2
docker run -id --name cloud-geo-py-2 \
        -p 5002:5000 \
        -v cloud-geo-py-data-2:/workdir \
        -e MONGO_HOST=example.mongo.com \
        -e MONGO_USERNAME=example_username \
        -e MONGO_PASSWORD=example_password \
        -e REDIS_HOST=example.redis.com \
        -e REDIS_PASSWORD=example_password \
        -e CONSUL_IP=example.consul.com \
        -e SERVICE_IP=cloud-geo-py-pyqgis-2 \
        -e FILE_SERVER_URL=http://wps-gateway:9000/api/file \
        -e DEPLOY_MODE=distributed \
        --network cloud-geo-py \
        swsk33/cloud-geo-py

Tag summary

Content type

Image

Digest

sha256:f478fbe5f…

Size

964 MB

Last updated

over 1 year ago

docker pull swsk33/cloud-geo-py