Loading deploy/.env +11 −8 Original line number Diff line number Diff line Loading @@ -4,13 +4,16 @@ GEOSERVER_ADMIN_PASSWORD=changeme STABLE_EXTENSIONS=css-plugin,inspire-plugin,csw-plugin,netcdf-plugin,netcdf-out-plugin,ysld-plugin COMMUNITY_EXTENSIONS= CLUSTERING=true HTTP_PROXY_PORT=443 CLUSTER_DURABILITY=true RANDOMSTRING_PREFIX=327d47e23bd87cfa MASTER_INITIAL_MEMORY=820M MASTER_MAXIMUM_MEMORY=1G DEV_SLAVE_INITIAL_MEMORY=820M DEV_SLAVE_MAXIMUM_MEMORY=1G PRO_SLAVE_INITIAL_MEMORY=1639M PRO_SLAVE_MAXIMUM_MEMORY=2G TOMCAT_EXTRAS=false MASTER_INITIAL_MEMORY=1.5G MASTER_MAXIMUM_MEMORY=3G DEV_SLAVE_INITIAL_MEMORY=1.5G DEV_SLAVE_MAXIMUM_MEMORY=3G PRO_SLAVE_INITIAL_MEMORY=1.5G PRO_SLAVE_MAXIMUM_MEMORY=3G VOL_ADDR=127.0.0.1 DATA_VOL_NAME=geoserver-data-vol CACHE_VOL_NAME=geoserver-cache-vol FONTS_VOL_NAME=geoserver-fonts-vol FOOTPRINTS_VOL_NAME=geoserver-footprints-vol deploy/docker-compose.dev.yml +11 −3 Original line number Diff line number Diff line Loading @@ -17,15 +17,23 @@ services: volumes: data-vol: name: ${DATA_VOL_NAME:-geoserver-data-vol} name: ${DATA_VOL_NAME} driver: local driver_opts: type: ${DATA_VOL_TYPE:-nfs4} o: addr=${VOL_ADDR},${DATA_VOL_OPTIONS:-rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14} device: :/geoserver-data-vol/ cache-vol: name: ${CACHE_VOL_NAME} driver: local driver_opts: type: ${CACHE_VOL_TYPE:-nfs4} o: addr=${VOL_ADDR},${DATA_VOL_OPTIONS:-rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14} device: :/geoserver-cache-vol/ fonts-vol: name: ${FONTS_VOL_NAME:-geoserver-fonts-vol} name: ${FONTS_VOL_NAME} driver: local driver_opts: type: ${FONTS_VOL_TYPE:-nfs4} Loading @@ -33,7 +41,7 @@ volumes: device: :/geoserver-fonts-vol/ footprints-vol: name: ${FOOTPRINTS_VOL_NAME:-geoserver-footprints-vol} name: ${FOOTPRINTS_VOL_NAME} driver: local driver_opts: type: ${FOOTPRINTS_VOL_TYPE:-nfs4} Loading deploy/docker-compose.prod.yml +10 −3 Original line number Diff line number Diff line Loading @@ -20,20 +20,27 @@ services: volumes: data-vol: name: ${DATA_VOL_NAME:-geoserver-data-vol} name: ${DATA_VOL_NAME} driver: 'cloudstor:aws' driver_opts: backing: shared perfmode: maxio cache-vol: name: ${CACHE_VOL_NAME} driver: 'cloudstor:aws' driver_opts: backing: shared perfmode: maxio fonts-vol: name: ${FONTS_VOL_NAME:-geoserver-fonts-vol} name: ${FONTS_VOL_NAME} driver: 'cloudstor:aws' driver_opts: backing: shared footprints-vol: name: ${FOOTPRINTS_VOL_NAME:-geoserver-footprints-vol} name: ${FOOTPRINTS_VOL_NAME} driver: 'cloudstor:aws' driver_opts: backing: shared deploy/docker-compose.tmpl.yml +18 −25 Original line number Diff line number Diff line Loading @@ -5,15 +5,18 @@ x-geoserver-root: &geoserver-root x-geoserver-environment: &geoserver-environment HTTP_PORT: '${GEOSERVER_PORT}' EXISTING_DATA_DIR: 'true' EXISTING_DATA_DIR: 'false' STABLE_EXTENSIONS: COMMUNITY_EXTENSIONS: CLUSTERING: RANDOMSTRING: ${RANDOMSTRING_PREFIX}-{{.Service.Name}}-{{.Task.Slot}} INSTANCE_STRING: '{{.Service.Name}}-{{.Task.Slot}}' HTTP_PROXY_NAME: https://${GEOSERVER_ADMIN_SUBDOMAIN}.${PUBLIC_HOSTNAME} HTTP_PROXY_PORT: TOGGLE_MASTER: 'true' TOGGLE_SLAVE: 'true' READONLY: disabled WEB_INTERFACE: 'false' RANDOMSTRING: '{{.Service.Name}}-{{.Task.Slot}}' INSTANCE_STRING: 'instance-{{.Service.Name}}-{{.Task.Slot}}' CLUSTER_DURABILITY: TOMCAT_EXTRAS: x-geoserver-volumes: &geoserver-volumes - data-vol:/opt/geoserver/data_dir Loading @@ -34,28 +37,24 @@ services: << : *geoserver-environment GEOSERVER_ADMIN_PASSWORD: GEOSERVER_ADMIN_USER: BROKER_URL: http://0.0.0.0:61661 READONLY: disabled WEB_INTERFACE: 'true' TOGGLE_MASTER: 'true' TOGGLE_SLAVE: 'false' BROKER_URL: tpc://0.0.0.0:61661 EMBEDDED_BROKER: enabled INITIAL_MEMORY: ${MASTER_INITIAL_MEMORY} MAXIMUM_MEMORY: ${MASTER_MAXIMUM_MEMORY} volumes: *geoserver-volumes networks: *geoserver-networks healthcheck: test: curl --fail --silent http://localhost:${GEOSERVER_PORT}/ test: curl --fail --silent http://localhost:${GEOSERVER_PORT}/geoserver interval: ${GEOSERVER_MASTER_HEALTHCHECK_INTERVAL:-30s} timeout: ${GEOSERVER_MASTER_HEALTHCHECK_TIMEOUT:-10s} retries: ${GEOSERVER_MASTER_HEALTHCHECK_RETRIES:-3} start_period: ${GEOSERVER_MASTER_HEALTHCHECK_START_PERIOD:-2m} start_period: ${GEOSERVER_MASTER_HEALTHCHECK_START_PERIOD:-3m} deploy: mode: replicated replicas: ${GEOSERVER_MASTER_REPLICAS:-1} labels: traefik.admin.frontend.rule: 'Host:${GEOSERVER_ADMIN_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver' traefik.root.frontend.rule: 'Host:${GEOSERVER_ADMIN_SUBDOMAIN}.${PUBLIC_HOSTNAME};Path:/;AddPrefix:/geoserver' traefik.default.frontend.rule: 'Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver' traefik.root.frontend.rule: 'Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};Path:/;AddPrefix:/geoserver' traefik.backend: geoserver-master traefik.port: '${GEOSERVER_PORT}' restart_policy: Loading @@ -74,24 +73,21 @@ services: << : *geoserver-root environment: << : *geoserver-environment BROKER_URL: http://geoserver-master:61661 READONLY: enabled WEB_INTERFACE: 'false' TOGGLE_MASTER: 'false' TOGGLE_SLAVE: 'true' BROKER_URL: tcp://geoserver-master:61661 EMBEDDED_BROKER: disabled volumes: *geoserver-volumes networks: *geoserver-networks healthcheck: test: curl --fail --silent http://localhost:${GEOSERVER_PORT}/ test: curl --fail --silent http://localhost:${GEOSERVER_PORT}/geoserver interval: ${GEOSERVER_SLAVE_HEALTHCHECK_INTERVAL:-30s} timeout: ${GEOSERVER_SLAVE_HEALTHCHECK_TIMEOUT:-10s} retries: ${GEOSERVER_SLAVE_HEALTHCHECK_RETRIES:-3} start_period: ${GEOSERVER_SLAVE_HEALTHCHECK_START_PERIOD:-2m} start_period: ${GEOSERVER_SLAVE_HEALTHCHECK_START_PERIOD:-3m} deploy: mode: replicated labels: traefik.frontend.rule: 'Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver' traefik.default.frontend.rule: 'Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver' traefik.root.frontend.rule: 'Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};Path:/;AddPrefix:/geoserver' traefik.frontend.headers.customResponseHeaders: 'Access-Control-Allow-Origin:*' traefik.backend: geoserver-slave traefik.port: '${GEOSERVER_PORT}' Loading @@ -104,9 +100,6 @@ volumes: letsencrypt-vol: name: ${LETSENCRYPT_VOL_NAME:-geoserver-letsencrypt-vol} cache-vol: name: ${CACHE_VOL_NAME:-geoserver-cache-vol} networks: gis-net: name: ${GIS_NET_NAME:-gis-net} Loading Loading
deploy/.env +11 −8 Original line number Diff line number Diff line Loading @@ -4,13 +4,16 @@ GEOSERVER_ADMIN_PASSWORD=changeme STABLE_EXTENSIONS=css-plugin,inspire-plugin,csw-plugin,netcdf-plugin,netcdf-out-plugin,ysld-plugin COMMUNITY_EXTENSIONS= CLUSTERING=true HTTP_PROXY_PORT=443 CLUSTER_DURABILITY=true RANDOMSTRING_PREFIX=327d47e23bd87cfa MASTER_INITIAL_MEMORY=820M MASTER_MAXIMUM_MEMORY=1G DEV_SLAVE_INITIAL_MEMORY=820M DEV_SLAVE_MAXIMUM_MEMORY=1G PRO_SLAVE_INITIAL_MEMORY=1639M PRO_SLAVE_MAXIMUM_MEMORY=2G TOMCAT_EXTRAS=false MASTER_INITIAL_MEMORY=1.5G MASTER_MAXIMUM_MEMORY=3G DEV_SLAVE_INITIAL_MEMORY=1.5G DEV_SLAVE_MAXIMUM_MEMORY=3G PRO_SLAVE_INITIAL_MEMORY=1.5G PRO_SLAVE_MAXIMUM_MEMORY=3G VOL_ADDR=127.0.0.1 DATA_VOL_NAME=geoserver-data-vol CACHE_VOL_NAME=geoserver-cache-vol FONTS_VOL_NAME=geoserver-fonts-vol FOOTPRINTS_VOL_NAME=geoserver-footprints-vol
deploy/docker-compose.dev.yml +11 −3 Original line number Diff line number Diff line Loading @@ -17,15 +17,23 @@ services: volumes: data-vol: name: ${DATA_VOL_NAME:-geoserver-data-vol} name: ${DATA_VOL_NAME} driver: local driver_opts: type: ${DATA_VOL_TYPE:-nfs4} o: addr=${VOL_ADDR},${DATA_VOL_OPTIONS:-rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14} device: :/geoserver-data-vol/ cache-vol: name: ${CACHE_VOL_NAME} driver: local driver_opts: type: ${CACHE_VOL_TYPE:-nfs4} o: addr=${VOL_ADDR},${DATA_VOL_OPTIONS:-rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14} device: :/geoserver-cache-vol/ fonts-vol: name: ${FONTS_VOL_NAME:-geoserver-fonts-vol} name: ${FONTS_VOL_NAME} driver: local driver_opts: type: ${FONTS_VOL_TYPE:-nfs4} Loading @@ -33,7 +41,7 @@ volumes: device: :/geoserver-fonts-vol/ footprints-vol: name: ${FOOTPRINTS_VOL_NAME:-geoserver-footprints-vol} name: ${FOOTPRINTS_VOL_NAME} driver: local driver_opts: type: ${FOOTPRINTS_VOL_TYPE:-nfs4} Loading
deploy/docker-compose.prod.yml +10 −3 Original line number Diff line number Diff line Loading @@ -20,20 +20,27 @@ services: volumes: data-vol: name: ${DATA_VOL_NAME:-geoserver-data-vol} name: ${DATA_VOL_NAME} driver: 'cloudstor:aws' driver_opts: backing: shared perfmode: maxio cache-vol: name: ${CACHE_VOL_NAME} driver: 'cloudstor:aws' driver_opts: backing: shared perfmode: maxio fonts-vol: name: ${FONTS_VOL_NAME:-geoserver-fonts-vol} name: ${FONTS_VOL_NAME} driver: 'cloudstor:aws' driver_opts: backing: shared footprints-vol: name: ${FOOTPRINTS_VOL_NAME:-geoserver-footprints-vol} name: ${FOOTPRINTS_VOL_NAME} driver: 'cloudstor:aws' driver_opts: backing: shared
deploy/docker-compose.tmpl.yml +18 −25 Original line number Diff line number Diff line Loading @@ -5,15 +5,18 @@ x-geoserver-root: &geoserver-root x-geoserver-environment: &geoserver-environment HTTP_PORT: '${GEOSERVER_PORT}' EXISTING_DATA_DIR: 'true' EXISTING_DATA_DIR: 'false' STABLE_EXTENSIONS: COMMUNITY_EXTENSIONS: CLUSTERING: RANDOMSTRING: ${RANDOMSTRING_PREFIX}-{{.Service.Name}}-{{.Task.Slot}} INSTANCE_STRING: '{{.Service.Name}}-{{.Task.Slot}}' HTTP_PROXY_NAME: https://${GEOSERVER_ADMIN_SUBDOMAIN}.${PUBLIC_HOSTNAME} HTTP_PROXY_PORT: TOGGLE_MASTER: 'true' TOGGLE_SLAVE: 'true' READONLY: disabled WEB_INTERFACE: 'false' RANDOMSTRING: '{{.Service.Name}}-{{.Task.Slot}}' INSTANCE_STRING: 'instance-{{.Service.Name}}-{{.Task.Slot}}' CLUSTER_DURABILITY: TOMCAT_EXTRAS: x-geoserver-volumes: &geoserver-volumes - data-vol:/opt/geoserver/data_dir Loading @@ -34,28 +37,24 @@ services: << : *geoserver-environment GEOSERVER_ADMIN_PASSWORD: GEOSERVER_ADMIN_USER: BROKER_URL: http://0.0.0.0:61661 READONLY: disabled WEB_INTERFACE: 'true' TOGGLE_MASTER: 'true' TOGGLE_SLAVE: 'false' BROKER_URL: tpc://0.0.0.0:61661 EMBEDDED_BROKER: enabled INITIAL_MEMORY: ${MASTER_INITIAL_MEMORY} MAXIMUM_MEMORY: ${MASTER_MAXIMUM_MEMORY} volumes: *geoserver-volumes networks: *geoserver-networks healthcheck: test: curl --fail --silent http://localhost:${GEOSERVER_PORT}/ test: curl --fail --silent http://localhost:${GEOSERVER_PORT}/geoserver interval: ${GEOSERVER_MASTER_HEALTHCHECK_INTERVAL:-30s} timeout: ${GEOSERVER_MASTER_HEALTHCHECK_TIMEOUT:-10s} retries: ${GEOSERVER_MASTER_HEALTHCHECK_RETRIES:-3} start_period: ${GEOSERVER_MASTER_HEALTHCHECK_START_PERIOD:-2m} start_period: ${GEOSERVER_MASTER_HEALTHCHECK_START_PERIOD:-3m} deploy: mode: replicated replicas: ${GEOSERVER_MASTER_REPLICAS:-1} labels: traefik.admin.frontend.rule: 'Host:${GEOSERVER_ADMIN_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver' traefik.root.frontend.rule: 'Host:${GEOSERVER_ADMIN_SUBDOMAIN}.${PUBLIC_HOSTNAME};Path:/;AddPrefix:/geoserver' traefik.default.frontend.rule: 'Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver' traefik.root.frontend.rule: 'Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};Path:/;AddPrefix:/geoserver' traefik.backend: geoserver-master traefik.port: '${GEOSERVER_PORT}' restart_policy: Loading @@ -74,24 +73,21 @@ services: << : *geoserver-root environment: << : *geoserver-environment BROKER_URL: http://geoserver-master:61661 READONLY: enabled WEB_INTERFACE: 'false' TOGGLE_MASTER: 'false' TOGGLE_SLAVE: 'true' BROKER_URL: tcp://geoserver-master:61661 EMBEDDED_BROKER: disabled volumes: *geoserver-volumes networks: *geoserver-networks healthcheck: test: curl --fail --silent http://localhost:${GEOSERVER_PORT}/ test: curl --fail --silent http://localhost:${GEOSERVER_PORT}/geoserver interval: ${GEOSERVER_SLAVE_HEALTHCHECK_INTERVAL:-30s} timeout: ${GEOSERVER_SLAVE_HEALTHCHECK_TIMEOUT:-10s} retries: ${GEOSERVER_SLAVE_HEALTHCHECK_RETRIES:-3} start_period: ${GEOSERVER_SLAVE_HEALTHCHECK_START_PERIOD:-2m} start_period: ${GEOSERVER_SLAVE_HEALTHCHECK_START_PERIOD:-3m} deploy: mode: replicated labels: traefik.frontend.rule: 'Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver' traefik.default.frontend.rule: 'Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver' traefik.root.frontend.rule: 'Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};Path:/;AddPrefix:/geoserver' traefik.frontend.headers.customResponseHeaders: 'Access-Control-Allow-Origin:*' traefik.backend: geoserver-slave traefik.port: '${GEOSERVER_PORT}' Loading @@ -104,9 +100,6 @@ volumes: letsencrypt-vol: name: ${LETSENCRYPT_VOL_NAME:-geoserver-letsencrypt-vol} cache-vol: name: ${CACHE_VOL_NAME:-geoserver-cache-vol} networks: gis-net: name: ${GIS_NET_NAME:-gis-net} Loading