From 22921200a79c1e2c68130b4a4003c122a5fcbdfb Mon Sep 17 00:00:00 2001 From: Petru Paler Date: Wed, 30 Jul 2025 14:01:24 +0100 Subject: [PATCH] Move Lizmap to nomad. --- services/maps.hcl | 171 +++++++++++++++++++++++----------------------- 1 file changed, 85 insertions(+), 86 deletions(-) diff --git a/services/maps.hcl b/services/maps.hcl index 220b1e6..012f0da 100644 --- a/services/maps.hcl +++ b/services/maps.hcl @@ -1,8 +1,6 @@ job "maps" { datacenters = ["alo"] - # force each evaluation to be different, so that the jobspec changes, so that the latest image is pulled - # otherwise, nomad run ends up not doing anything even if the latest image is different meta { uuid = uuidv4() } @@ -21,23 +19,24 @@ job "maps" { image = "3liz/qgis-map-server:3.44" ports = ["http"] volumes = [ - "/data/shared/alo_gis:/alo_gis", + "/data/shared/alo_gis:/srv/projects/alo_gis", "/data/compute/appdata/maps/qgis-server-plugins:/plugins", ] } env { + QGIS_SERVER_LIZMAP_REVEAL_SETTINGS = "yes" QGSRV_API_ENABLED_LIZMAP = "yes" + QGSRV_CACHE_SIZE = "20" + QGSRV_CACHE_STRICT_CHECK = "no" + QGSRV_CACHE_ROOTDIR = "/srv/projects" + QGSRV_LOGGING_LEVEL = "INFO" + QGSRV_SERVER_PLUGINPATH = "/plugins" + QGSRV_SERVER_WORKERS = 4 QGSRV_API_ENDPOINTS_LIZMAP = "/ows/lizmap" QGSRV_API_ENABLED_LANDING_PAGE = "yes" - QGIS_SERVER_LIZMAP_REVEAL_SETTINGS = "yes" - QGSRV_SERVER_WORKERS = 4 - QGSRV_LOGGING_LEVEL = "INFO" QGSRV_SERVER_HTTP_PROXY = "yes" #QGSRV_SERVER_PROXY_URL = "https://mapserver.v.paler.net" - QGSRV_SERVER_PLUGINPATH = "/plugins" - QGSRV_CACHE_ROOTDIR = "/alo_gis" - QGSRV_CACHE_STRICT_CHECK = "no" QGSRV_TRUST_LAYER_METADATA = "yes" QGSRV_DISABLE_GETPRINT = "yes" } @@ -60,81 +59,81 @@ job "maps" { } } -# group "lizmap" { -# network { -# port "http" { -# to = 8080 -# } -# port "php" { -# to = 9000 -# } -# } -# -# task "php" { -# driver = "docker" -# -# config { -# image = "3liz/lizmap-web-client:3.8" -# ports = ["php"] -# volumes = [ -# "/data/shared/alo_gis:/srv/projects", -# "/data/compute/appdata/maps/var/lizmap-config:/www/lizmap/var/config", -# "/data/compute/appdata/maps/var/lizmap-theme-config:/www/lizmap/var/lizmap-theme-config", -# "/data/compute/appdata/maps/var/lizmap-db:/www/lizmap/var/db", -# "/data/compute/appdata/maps/var/lizmap-log:/www/lizmap/var/log", -# "/data/compute/appdata/maps/var/lizmap-modules:/www/lizmap/var/lizmap-modules", -# "/data/compute/appdata/maps/var/lizmap-my-packages:/www/lizmap/var/my-packages", -# "/data/compute/appdata/maps/www:/srv/lizmap/www", -# "/data/compute/appdata/maps/etc:/srv/etc:ro", -# ] -# -# command = "php-fpm" -# } -# -# env { -# LIZMAP_CACHESTORAGETYPE = "redis" -# LIZMAP_CACHEREDISHOST = "redis.service.consul" -# LIZMAP_CACHEREDISDB = "1" -# LIZMAP_HOME = "/srv/lizmap" -# LIZMAP_WMSSERVERURL = "https://mapserver.v.paler.net/ows" -# LIZMAP_CONFIG_INCLUDE = "/srv/etc" -# } -# -# service { -# name = "lizmap-php" -# port = "php" -# } -# -# resources { -# memory = 2000 -# cpu = 1000 -# } -# } -# -# task "web" { -# driver = "docker" -# -# config { -# image = "nginx:alpine" -# ports = ["http"] -# volumes = [ -# "/data/compute/appdata/maps/etc/nginx.conf:/etc/nginx/nginx.conf:ro", -# "/data/compute/appdata/maps/var/nginx-log:/var/log/nginx", -# "/data/compute/appdata/maps/var/nginx-cache:/var/cache/nginx", -# "/data/compute/appdata/maps/www:/srv/lizmap/www", -# ] -# } -# -# service { -# name = "lizmap" -# port = "http" -# -# tags = [ -# "traefik.enable=true", -# "traefik.http.routers.lizmap.entryPoints=websecure", -# "traefik.http.routers.lizmap.middlewares=authentik@file", -# ] -# } -# } -# } + group "lizmap" { + network { + port "http" { + to = 80 + } + port "php" { + static = 9000 + } + } + + task "php" { + driver = "docker" + + config { + image = "3liz/lizmap-web-client:3.9" + ports = ["php"] + volumes = [ + "/data/shared/alo_gis:/srv/projects/alo_gis", + "/data/compute/appdata/maps/var/lizmap-theme-config:/www/lizmap/var/lizmap-theme-config", + "/data/compute/appdata/maps/var/lizmap-config:/www/lizmap/var/config", + "/data/compute/appdata/maps/var/lizmap-db:/www/lizmap/var/db", + "/data/compute/appdata/maps/var/lizmap-log:/www/lizmap/var/log", + "/data/compute/appdata/maps/www:/www/lizmap/www", + "/data/compute/appdata/maps/var/lizmap-modules:/www/lizmap/var/lizmap-modules", + "/data/compute/appdata/maps/var/lizmap-my-packages:/www/lizmap/var/my-packages", + "/data/compute/appdata/maps/etc:/srv/etc:ro", + ] + + command = "php-fpm" + } + + env { + LIZMAP_CACHEREDISDB = "1" + LIZMAP_CACHEREDISHOST = "redis.service.consul" + LIZMAP_CACHESTORAGETYPE = "redis" + LIZMAP_HOME = "/srv/lizmap" + LIZMAP_WMSSERVERURL = "https://mapserver.v.paler.net/ows" + LIZMAP_CONFIG_INCLUDE = "/srv/etc" + } + + service { + name = "lizmap-php" + port = "php" + } + + resources { + memory = 2000 + cpu = 1000 + } + } + + task "web" { + driver = "docker" + + config { + image = "nginx:alpine" + ports = ["http"] + volumes = [ + "/data/compute/appdata/maps/etc/nginx.conf:/etc/nginx/nginx.conf:ro", + "/data/compute/appdata/maps/var/nginx-log:/var/log/nginx", + "/data/compute/appdata/maps/var/nginx-cache:/var/cache/nginx", + "/data/compute/appdata/maps/www:/srv/lizmap/www", + ] + } + + service { + name = "lizmap" + port = "http" + + tags = [ + "traefik.enable=true", + "traefik.http.routers.lizmap.entryPoints=websecure", + "traefik.http.routers.lizmap.rule=Host(`map.alo.land`)" + ] + } + } + } }