Serveur de diffusion WMS, WMTS et TMS de données raster et vecteur du projet ROK4
3.9K
Le serveur permet la diffusion des données conditionnées sous forme de pyramide raster ou vecteur selon les protocoles OGC Web Map Service, Web Map Tiled Service et API Tiles ou le protocole de l'OSGeo Tile Map Service.
La documentation complète est disponible ici.
docker run --publish 9000:9000 rok4/server:6.0.1
Ce serveur n'est pas interrogeable en HTTP mais en FastCGI, il faut donc avoir un serveur en amont pour faire la conversion (style NGinx).
Liste des variables d'environnement injectées dans les fichiers de configuration du serveur (et valeurs par défaut) :
server.json
error)standard_output)4)1000)10)/etc/rok4/layers.txt)/usr/share/rok4/styles)/usr/share/rok4/tilematrixsets)0)services.json
ROK4 Team)https://rok4.github.io/)none)none)true)true)http://localhost/common)true)http://localhost/wmts)true)http://localhost/tms)true)http://localhost/wms)true)http://localhost/tiles)Il est possible de surcharger chacune de ces valeurs de configuration via des variables d'environnement. Exemple :
docker run --publish 9000:9000 rok4/server
Afin de définir des valeurs avec des espaces (comme dans l'exemple), il faut bien encapsuler la chaîne avec des des doubles quotes et des simples.
Il est aussi possible de définir toutes les variables d'environnement dans un fichier (une variable par ligne) et de faire l'appel suivant :
docker run --publish 9000:9000 --env-file=custom_env rok4/server
Avec les fichiers :
docker-compose.yamlversion: "3"
services:
front:
image: nginx:alpine
ports:
- "80:80"
links:
- middle
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
middle:
image: rok4/server:5.5.0
depends_on:
- storage
environment:
- SERVER_LOGLEVEL=info
- SERVICE_WMTS_ENDPOINT=http://localhost/wmts
- SERVICE_WMS_ENDPOINT=http://localhost/wms
- SERVICE_TMS_ENDPOINT=http://localhost/tms
- SERVICE_COMMON_ENDPOINT=http://localhost/common
- SERVICE_TILES_ENDPOINT=http://localhost/tiles
- ROK4_S3_SECRETKEY=rok4S3storage
- ROK4_S3_KEY=rok4
- ROK4_S3_URL=http://storage:9000
- SERVER_LAYERS=s3://layers/list.txt
- SERVER_STYLES=s3://styles
- SERVER_TMS=s3://tilematrixsets
storage:
image: rok4/dataset:minio
command: server /data --console-address ":9001"
ports:
- "9000:9000"
- "9001:9001"
nginx.conf :upstream server { server middle:9000; }
server {
listen 80 default_server;
location / {
fastcgi_pass server;
include fastcgi_params;
add_header 'Access-Control-Allow-Origin' '*';
}
}
Cette stack comprend :
minio. Celui ci contient :
Cette centralisation du stockage permet plus facilement de déployer plusieurs middle : docker-compose -f docker-compose.yaml up --scale middle=2
Les capacités des 4 services rendus (WMS, WMTS, OGC API Tiles et TMS) sont disponibles aux URL :
On peut retrouver ces informations sur la route de l'API Common : http://localhost/common
Des routes de santé permettent de surveiller l'activité et le contenu du serveur :
Et les données sont consultables via l'interface du minio : http://localhost:9000 (accès : rok4 / rok4S3storage)
Une stack plus complète incluant un visualisateur est disponible ici.
Content type
Image
Digest
sha256:6fc99fc73…
Size
190.1 MB
Last updated
about 2 months ago
docker pull rok4/server:6.2.2