Loading deploy/.env +11 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ GEOSERVER_SUBDOMAIN=atlas DISK_QUOTA_SIZE=5 GEOSERVER_LOG_LEVEL=PRODUCTION_LOGGING DISABLE_CORS=true GEOSERVER_XSTREAM_WHITELIST=org.geotools.jdbc.** DEV_MASTER_INITIAL_MEMORY=1G DEV_MASTER_MAXIMUM_MEMORY=1G Loading @@ -41,13 +42,22 @@ PRO_NODE_MAXIMUM_MEMORY=1500M PRO_GEOSERVER_NODE_RESOURCES_RESERVATIONS_MEMORY=2G PRO_GEOSERVER_NODE_RESOURCES_LIMITS_MEMORY=3G GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS=1 GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS=0.1 GEOSERVER_NODE_RESOURCES_LIMITS_CPUS=1 GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS=0.1 POSTGRES_GWC_WORK_MEM=16MB POSTGRES_GWC_MAX_WAL_SIZE=256MB POSTGRES_USER=geowebcache POSTGRES_PASSWORD=changeme POSTGRES_DB=gwc PGDATA=/var/lib/postgresql/data POSTGRES_INITDB_WALDIR=/var/lib/postgresql/wal DEV_VOL_DRIVER=seaweedfs VOL_TYPE=nfs4 VOL_ADDR=127.0.0.1 VOL_OPTS=rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14 GEOSERVER_DATA_VOL_NAME=geoserver-data-vol CACHE_VOL_NAME=geoserver-cache-vol Loading deploy/config/cluster.propertiesdeleted 100644 → 0 +0 −15 Original line number Diff line number Diff line CLUSTER_CONFIG_DIR=${CLUSTER_CONFIG_DIR} instanceName=${INSTANCE_STRING} readOnly=${READONLY} durable=${CLUSTER_DURABILITY} brokerURL=failover:(${BROKER_URL}) embeddedBroker=${EMBEDDED_BROKER} connection.retry=${CLUSTER_CONNECTION_RETRY_COUNT} toggleMaster=${TOGGLE_MASTER} xbeanURL=./broker.xml embeddedBrokerProperties=embedded-broker.properties topicName=VirtualTopic.geoserver connection=enabled toggleSlave=${TOGGLE_SLAVE} connection.maxwait=${CLUSTER_CONNECTION_MAX_WAIT} group=geoserver-cluster deploy/docker-compose.dev.yml +34 −10 Original line number Diff line number Diff line Loading @@ -8,10 +8,10 @@ services: deploy: resources: limits: cpus: '${GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS:-1}' cpus: '${GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS}' memory: ${DEV_GEOSERVER_MASTER_RESOURCES_LIMITS_MEMORY} reservations: cpus: '${GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS:-0.1}' cpus: '${GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS}' memory: ${DEV_GEOSERVER_MASTER_RESOURCES_RESERVATIONS_MEMORY} geoserver-node: Loading @@ -21,33 +21,57 @@ services: deploy: resources: limits: cpus: '${GEOSERVER_NODE_RESOURCES_LIMITS_CPUS:-1}' cpus: '${GEOSERVER_NODE_RESOURCES_LIMITS_CPUS}' memory: ${DEV_GEOSERVER_NODE_RESOURCES_LIMITS_MEMORY} reservations: cpus: '${GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS:-0.1}' cpus: '${GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS}' memory: ${DEV_GEOSERVER_NODE_RESOURCES_RESERVATIONS_MEMORY} volumes: geoserver-data-vol: name: ${GEOSERVER_DATA_VOL_NAME} driver: ${DEV_VOL_DRIVER} driver: local driver_opts: type: ${VOL_TYPE} o: addr=${VOL_ADDR},${VOL_OPTS} device: ${GEOSERVER_DATA_VOL_DEVICE:-:/geoserver-data-vol/} cache-vol: name: ${CACHE_VOL_NAME} driver: ${DEV_VOL_DRIVER} driver: local driver_opts: type: ${VOL_TYPE} o: addr=${VOL_ADDR},${VOL_OPTS} device: ${CACHE_VOL_DEVICE:-:/geoserver-cache-vol/} fonts-vol: name: ${FONTS_VOL_NAME} driver: ${DEV_VOL_DRIVER} driver: local driver_opts: type: ${VOL_TYPE} o: addr=${VOL_ADDR},${VOL_OPTS} device: ${FONTS_VOL_DEVICE:-:/geoserver-fonts-vol/} footprints-vol: name: ${FOOTPRINTS_VOL_NAME} driver: ${DEV_VOL_DRIVER} driver: local driver_opts: type: ${VOL_TYPE} o: addr=${VOL_ADDR},${VOL_OPTS} device: ${FOOTPRINTS_VOL_DEVICE:-:/geoserver-footprints-vol/} postgres-data-vol: name: ${POSTGRES_DATA_VOL_NAME} driver: ${DEV_VOL_DRIVER} driver: local driver_opts: type: ${VOL_TYPE} o: addr=${VOL_ADDR},${VOL_OPTS} device: ${POSTGRES_DATA_VOL_DEVICE:-:/postgres-gwc-data-vol/} wal-vol: name: ${WAL_VOL_NAME} driver: ${DEV_VOL_DRIVER} driver: local driver_opts: type: ${VOL_TYPE} o: addr=${VOL_ADDR},${VOL_OPTS} device: ${WAL_VOL_DEVICE:-:/postgres-gwc-wal-vol/} deploy/docker-compose.prod.yml +4 −4 Original line number Diff line number Diff line Loading @@ -11,10 +11,10 @@ services: - node.role == worker resources: limits: cpus: '${GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS:-1}' cpus: '${GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS}' memory: ${PRO_GEOSERVER_MASTER_RESOURCES_LIMITS_MEMORY} reservations: cpus: '${GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS:-0.1}' cpus: '${GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS}' memory: ${PRO_GEOSERVER_MASTER_RESOURCES_RESERVATIONS_MEMORY} geoserver-node: Loading @@ -27,10 +27,10 @@ services: - node.role == worker resources: limits: cpus: '${GEOSERVER_NODE_RESOURCES_LIMITS_CPUS:-1}' cpus: '${GEOSERVER_NODE_RESOURCES_LIMITS_CPUS}' memory: ${PRO_GEOSERVER_NODE_RESOURCES_LIMITS_MEMORY} reservations: cpus: '${GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS:-0.1}' cpus: '${GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS}' memory: ${PRO_GEOSERVER_NODE_RESOURCES_RESERVATIONS_MEMORY} volumes: Loading deploy/docker-compose.tmpl.yml +8 −16 Original line number Diff line number Diff line Loading @@ -11,9 +11,6 @@ x-geoserver-root: &geoserver-root - fonts-vol:${FONTS_DIR} - footprints-vol:${FOOTPRINTS_DATA_DIR} - cache-vol:${GEOWEBCACHE_CACHE_DIR} configs: - source: cluster-properties-config target: ${EXTRA_CONFIG_DIR}/cluster.properties healthcheck: test: > curl --fail --silent --write-out 'HTTP CODE : %{http_code}\n' --output /dev/null Loading Loading @@ -67,6 +64,7 @@ x-geoserver-deploy: &geoserver-deploy delay: ${GEOSERVER_UPDATE_DELAY:-3m} x-geoserver-traefik-common-service-labels: &geoserver-traefik-common-service-labels traefik.enable: ${TRAEFIK_ENABLE} traefik.http.services.geoserver.loadbalancer.server.port: ${GEOSERVER_PORT} traefik.http.services.geoserver.loadbalancer.sticky.cookie: 'true' traefik.http.services.geoserver.loadbalancer.sticky.cookie.name: ${TRAEFIK_COOKIE_NAME} Loading @@ -92,7 +90,6 @@ services: replicas: 1 labels: << : *geoserver-traefik-common-service-labels traefik.enable: ${TRAEFIK_ENABLE} traefik.http.routers.geoserver-master-admin.entrypoints: ${TRAEFIK_ENTRYPOINT} traefik.http.routers.geoserver-master-admin.rule: Host(`${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME}`) && (PathPrefix(`/geoserver/web`) || PathPrefix(`/geoserver/rest`) || PathPrefix(`/geoserver/j_spring_security`) || PathPrefix(`/geoserver/gwc/rest`)) Loading @@ -114,6 +111,7 @@ services: EMBEDDED_BROKER: disabled BROKER_URL: 'tcp://geoserver-master:${BROKER_PORT}' READONLY: enabled GEOSERVER_XSTREAM_WHITELIST: deploy: << : *geoserver-deploy replicas: ${GEOSERVER_NODE_REPLICAS:-1} Loading @@ -121,7 +119,6 @@ services: max_replicas_per_node: 1 labels: << : *geoserver-traefik-common-service-labels traefik.enable: ${TRAEFIK_ENABLE} traefik.http.routers.geoserver-node.entrypoints: ${TRAEFIK_ENTRYPOINT} traefik.http.routers.geoserver-node.rule: Host(`${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME}`) && PathPrefix(`/geoserver`) Loading @@ -134,8 +131,8 @@ services: postgres-gwc: image: ${POSTGRES_IMAGE_NAME:-postgres}:${POSTGRES_IMAGE_TAG:-alpine} command: > -c work_mem=${POSTGRES_GWC_WORK_MEM:-16MB} -c max_wal_size=${POSTGRES_GWC_MAX_WAL_SIZE:-256MB} -c work_mem=${POSTGRES_GWC_WORK_MEM} -c max_wal_size=${POSTGRES_GWC_MAX_WAL_SIZE} environment: POSTGRES_USER: POSTGRES_PASSWORD: Loading @@ -148,7 +145,7 @@ services: - postgres-data-vol:${PGDATA} - wal-vol:${POSTGRES_INITDB_WALDIR} healthcheck: test: pg_isready test: pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB} interval: ${POSTGRES_HEALTHCHECK_INTERVAL:-30s} timeout: ${POSTGRES_HEALTHCHECK_TIMEOUT:-15s} retries: ${POSTGRES_HEALTHCHECK_RETRIES:-5} Loading @@ -162,11 +159,11 @@ services: delay: ${POSTGRES_GWC_UPDATE_DELAY:-30s} resources: limits: cpus: '${POSTGRES_GWC_RESOURCES_LIMITS_CPUS:-0.5}' cpus: '${POSTGRES_GWC_RESOURCES_LIMITS_CPUS:-1}' memory: ${POSTGRES_GWC_RESOURCES_LIMITS_MEMORY:-128M} reservations: cpus: '${POSTGRES_GWC_RESOURCES_RESERVATIONS_CPUS:-0.001}' memory: ${POSTGRES_GWC_RESOURCES_RESERVATIONS_MEMORY:-32M} cpus: '${POSTGRES_GWC_RESOURCES_RESERVATIONS_CPUS:-0.01}' memory: ${POSTGRES_GWC_RESOURCES_RESERVATIONS_MEMORY:-64M} networks: gis-net: Loading @@ -183,8 +180,3 @@ networks: name: ${TRAEFIK_NET_NAME:-traefik-net} driver: ${TRAEFIK_NET_DRIVER:-overlay} external: true configs: cluster-properties-config: name: ${CLUSTER_PROPERTIES_CONFIG_NAME:-geoserver-cluster-properties-config} file: ./config/cluster.properties Loading
deploy/.env +11 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ GEOSERVER_SUBDOMAIN=atlas DISK_QUOTA_SIZE=5 GEOSERVER_LOG_LEVEL=PRODUCTION_LOGGING DISABLE_CORS=true GEOSERVER_XSTREAM_WHITELIST=org.geotools.jdbc.** DEV_MASTER_INITIAL_MEMORY=1G DEV_MASTER_MAXIMUM_MEMORY=1G Loading @@ -41,13 +42,22 @@ PRO_NODE_MAXIMUM_MEMORY=1500M PRO_GEOSERVER_NODE_RESOURCES_RESERVATIONS_MEMORY=2G PRO_GEOSERVER_NODE_RESOURCES_LIMITS_MEMORY=3G GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS=1 GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS=0.1 GEOSERVER_NODE_RESOURCES_LIMITS_CPUS=1 GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS=0.1 POSTGRES_GWC_WORK_MEM=16MB POSTGRES_GWC_MAX_WAL_SIZE=256MB POSTGRES_USER=geowebcache POSTGRES_PASSWORD=changeme POSTGRES_DB=gwc PGDATA=/var/lib/postgresql/data POSTGRES_INITDB_WALDIR=/var/lib/postgresql/wal DEV_VOL_DRIVER=seaweedfs VOL_TYPE=nfs4 VOL_ADDR=127.0.0.1 VOL_OPTS=rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14 GEOSERVER_DATA_VOL_NAME=geoserver-data-vol CACHE_VOL_NAME=geoserver-cache-vol Loading
deploy/config/cluster.propertiesdeleted 100644 → 0 +0 −15 Original line number Diff line number Diff line CLUSTER_CONFIG_DIR=${CLUSTER_CONFIG_DIR} instanceName=${INSTANCE_STRING} readOnly=${READONLY} durable=${CLUSTER_DURABILITY} brokerURL=failover:(${BROKER_URL}) embeddedBroker=${EMBEDDED_BROKER} connection.retry=${CLUSTER_CONNECTION_RETRY_COUNT} toggleMaster=${TOGGLE_MASTER} xbeanURL=./broker.xml embeddedBrokerProperties=embedded-broker.properties topicName=VirtualTopic.geoserver connection=enabled toggleSlave=${TOGGLE_SLAVE} connection.maxwait=${CLUSTER_CONNECTION_MAX_WAIT} group=geoserver-cluster
deploy/docker-compose.dev.yml +34 −10 Original line number Diff line number Diff line Loading @@ -8,10 +8,10 @@ services: deploy: resources: limits: cpus: '${GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS:-1}' cpus: '${GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS}' memory: ${DEV_GEOSERVER_MASTER_RESOURCES_LIMITS_MEMORY} reservations: cpus: '${GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS:-0.1}' cpus: '${GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS}' memory: ${DEV_GEOSERVER_MASTER_RESOURCES_RESERVATIONS_MEMORY} geoserver-node: Loading @@ -21,33 +21,57 @@ services: deploy: resources: limits: cpus: '${GEOSERVER_NODE_RESOURCES_LIMITS_CPUS:-1}' cpus: '${GEOSERVER_NODE_RESOURCES_LIMITS_CPUS}' memory: ${DEV_GEOSERVER_NODE_RESOURCES_LIMITS_MEMORY} reservations: cpus: '${GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS:-0.1}' cpus: '${GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS}' memory: ${DEV_GEOSERVER_NODE_RESOURCES_RESERVATIONS_MEMORY} volumes: geoserver-data-vol: name: ${GEOSERVER_DATA_VOL_NAME} driver: ${DEV_VOL_DRIVER} driver: local driver_opts: type: ${VOL_TYPE} o: addr=${VOL_ADDR},${VOL_OPTS} device: ${GEOSERVER_DATA_VOL_DEVICE:-:/geoserver-data-vol/} cache-vol: name: ${CACHE_VOL_NAME} driver: ${DEV_VOL_DRIVER} driver: local driver_opts: type: ${VOL_TYPE} o: addr=${VOL_ADDR},${VOL_OPTS} device: ${CACHE_VOL_DEVICE:-:/geoserver-cache-vol/} fonts-vol: name: ${FONTS_VOL_NAME} driver: ${DEV_VOL_DRIVER} driver: local driver_opts: type: ${VOL_TYPE} o: addr=${VOL_ADDR},${VOL_OPTS} device: ${FONTS_VOL_DEVICE:-:/geoserver-fonts-vol/} footprints-vol: name: ${FOOTPRINTS_VOL_NAME} driver: ${DEV_VOL_DRIVER} driver: local driver_opts: type: ${VOL_TYPE} o: addr=${VOL_ADDR},${VOL_OPTS} device: ${FOOTPRINTS_VOL_DEVICE:-:/geoserver-footprints-vol/} postgres-data-vol: name: ${POSTGRES_DATA_VOL_NAME} driver: ${DEV_VOL_DRIVER} driver: local driver_opts: type: ${VOL_TYPE} o: addr=${VOL_ADDR},${VOL_OPTS} device: ${POSTGRES_DATA_VOL_DEVICE:-:/postgres-gwc-data-vol/} wal-vol: name: ${WAL_VOL_NAME} driver: ${DEV_VOL_DRIVER} driver: local driver_opts: type: ${VOL_TYPE} o: addr=${VOL_ADDR},${VOL_OPTS} device: ${WAL_VOL_DEVICE:-:/postgres-gwc-wal-vol/}
deploy/docker-compose.prod.yml +4 −4 Original line number Diff line number Diff line Loading @@ -11,10 +11,10 @@ services: - node.role == worker resources: limits: cpus: '${GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS:-1}' cpus: '${GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS}' memory: ${PRO_GEOSERVER_MASTER_RESOURCES_LIMITS_MEMORY} reservations: cpus: '${GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS:-0.1}' cpus: '${GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS}' memory: ${PRO_GEOSERVER_MASTER_RESOURCES_RESERVATIONS_MEMORY} geoserver-node: Loading @@ -27,10 +27,10 @@ services: - node.role == worker resources: limits: cpus: '${GEOSERVER_NODE_RESOURCES_LIMITS_CPUS:-1}' cpus: '${GEOSERVER_NODE_RESOURCES_LIMITS_CPUS}' memory: ${PRO_GEOSERVER_NODE_RESOURCES_LIMITS_MEMORY} reservations: cpus: '${GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS:-0.1}' cpus: '${GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS}' memory: ${PRO_GEOSERVER_NODE_RESOURCES_RESERVATIONS_MEMORY} volumes: Loading
deploy/docker-compose.tmpl.yml +8 −16 Original line number Diff line number Diff line Loading @@ -11,9 +11,6 @@ x-geoserver-root: &geoserver-root - fonts-vol:${FONTS_DIR} - footprints-vol:${FOOTPRINTS_DATA_DIR} - cache-vol:${GEOWEBCACHE_CACHE_DIR} configs: - source: cluster-properties-config target: ${EXTRA_CONFIG_DIR}/cluster.properties healthcheck: test: > curl --fail --silent --write-out 'HTTP CODE : %{http_code}\n' --output /dev/null Loading Loading @@ -67,6 +64,7 @@ x-geoserver-deploy: &geoserver-deploy delay: ${GEOSERVER_UPDATE_DELAY:-3m} x-geoserver-traefik-common-service-labels: &geoserver-traefik-common-service-labels traefik.enable: ${TRAEFIK_ENABLE} traefik.http.services.geoserver.loadbalancer.server.port: ${GEOSERVER_PORT} traefik.http.services.geoserver.loadbalancer.sticky.cookie: 'true' traefik.http.services.geoserver.loadbalancer.sticky.cookie.name: ${TRAEFIK_COOKIE_NAME} Loading @@ -92,7 +90,6 @@ services: replicas: 1 labels: << : *geoserver-traefik-common-service-labels traefik.enable: ${TRAEFIK_ENABLE} traefik.http.routers.geoserver-master-admin.entrypoints: ${TRAEFIK_ENTRYPOINT} traefik.http.routers.geoserver-master-admin.rule: Host(`${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME}`) && (PathPrefix(`/geoserver/web`) || PathPrefix(`/geoserver/rest`) || PathPrefix(`/geoserver/j_spring_security`) || PathPrefix(`/geoserver/gwc/rest`)) Loading @@ -114,6 +111,7 @@ services: EMBEDDED_BROKER: disabled BROKER_URL: 'tcp://geoserver-master:${BROKER_PORT}' READONLY: enabled GEOSERVER_XSTREAM_WHITELIST: deploy: << : *geoserver-deploy replicas: ${GEOSERVER_NODE_REPLICAS:-1} Loading @@ -121,7 +119,6 @@ services: max_replicas_per_node: 1 labels: << : *geoserver-traefik-common-service-labels traefik.enable: ${TRAEFIK_ENABLE} traefik.http.routers.geoserver-node.entrypoints: ${TRAEFIK_ENTRYPOINT} traefik.http.routers.geoserver-node.rule: Host(`${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME}`) && PathPrefix(`/geoserver`) Loading @@ -134,8 +131,8 @@ services: postgres-gwc: image: ${POSTGRES_IMAGE_NAME:-postgres}:${POSTGRES_IMAGE_TAG:-alpine} command: > -c work_mem=${POSTGRES_GWC_WORK_MEM:-16MB} -c max_wal_size=${POSTGRES_GWC_MAX_WAL_SIZE:-256MB} -c work_mem=${POSTGRES_GWC_WORK_MEM} -c max_wal_size=${POSTGRES_GWC_MAX_WAL_SIZE} environment: POSTGRES_USER: POSTGRES_PASSWORD: Loading @@ -148,7 +145,7 @@ services: - postgres-data-vol:${PGDATA} - wal-vol:${POSTGRES_INITDB_WALDIR} healthcheck: test: pg_isready test: pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB} interval: ${POSTGRES_HEALTHCHECK_INTERVAL:-30s} timeout: ${POSTGRES_HEALTHCHECK_TIMEOUT:-15s} retries: ${POSTGRES_HEALTHCHECK_RETRIES:-5} Loading @@ -162,11 +159,11 @@ services: delay: ${POSTGRES_GWC_UPDATE_DELAY:-30s} resources: limits: cpus: '${POSTGRES_GWC_RESOURCES_LIMITS_CPUS:-0.5}' cpus: '${POSTGRES_GWC_RESOURCES_LIMITS_CPUS:-1}' memory: ${POSTGRES_GWC_RESOURCES_LIMITS_MEMORY:-128M} reservations: cpus: '${POSTGRES_GWC_RESOURCES_RESERVATIONS_CPUS:-0.001}' memory: ${POSTGRES_GWC_RESOURCES_RESERVATIONS_MEMORY:-32M} cpus: '${POSTGRES_GWC_RESOURCES_RESERVATIONS_CPUS:-0.01}' memory: ${POSTGRES_GWC_RESOURCES_RESERVATIONS_MEMORY:-64M} networks: gis-net: Loading @@ -183,8 +180,3 @@ networks: name: ${TRAEFIK_NET_NAME:-traefik-net} driver: ${TRAEFIK_NET_DRIVER:-overlay} external: true configs: cluster-properties-config: name: ${CLUSTER_PROPERTIES_CONFIG_NAME:-geoserver-cluster-properties-config} file: ./config/cluster.properties