Commit 670ba5e7 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Integra servicio PostgreSQL para gestionar caché

parent a5abac28
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -6,14 +6,24 @@ COMMUNITY_EXTENSIONS=jms-cluster-plugin
CLUSTERING=true
CLUSTER_DURABILITY=false
TOMCAT_EXTRAS=false

MASTER_INITIAL_MEMORY=1500M
MASTER_MAXIMUM_MEMORY=3G
DEV_SLAVE_INITIAL_MEMORY=1500M
DEV_SLAVE_MAXIMUM_MEMORY=3G
PRO_SLAVE_INITIAL_MEMORY=1500M
PRO_SLAVE_MAXIMUM_MEMORY=3G

POSTGRES_USER=geowebcache
POSTGRES_PASSWORD=changeme
POSTGRES_DB=gwc
PGDATA=/var/lib/postgresql/data
POSTGRES_INITDB_WALDIR=/var/lib/postgresql/wal

VOL_ADDR=127.0.0.1
DATA_VOL_NAME=geoserver-data-vol
GEOSERVER_DATA_VOL_NAME=geoserver-data-vol
CACHE_VOL_NAME=geoserver-cache-vol
FONTS_VOL_NAME=geoserver-fonts-vol
FOOTPRINTS_VOL_NAME=geoserver-footprints-vol
POSTGRES_DATA_VOL_NAME=postgres-gwc-data-vol
WAL_VOL_NAME=postgres-gwc-wal-vol
+21 −5
Original line number Diff line number Diff line
@@ -16,12 +16,12 @@ services:
          memory: ${DEV_SLAVE_INITIAL_MEMORY}

volumes:
  data-vol:
    name: ${DATA_VOL_NAME}
  geoserver-data-vol:
    name: ${GEOSERVER_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}
      type: ${GEOSERVER_DATA_VOL_TYPE:-nfs4}
      o: addr=${VOL_ADDR},${GEOSERVER_DATA_VOL_OPTIONS:-rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14}
      device: :/geoserver-data-vol/

  cache-vol:
@@ -29,7 +29,7 @@ volumes:
    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}
      o: addr=${VOL_ADDR},${CACHE_VOL_OPTIONS:-rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14}
      device: :/geoserver-cache-vol/

  fonts-vol:
@@ -47,3 +47,19 @@ volumes:
      type: ${FOOTPRINTS_VOL_TYPE:-nfs4}
      o: addr=${VOL_ADDR},${FOOTPRINTS_VOL_OPTIONS:-rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14}
      device: :/geoserver-footprints-vol/

  postgres-data-vol:
    name: ${POSTGRES_DATA_VOL_NAME}
    driver: local
    driver_opts:
      type: ${POSTGRES_DATA_VOL_TYPE:-nfs4}
      o: addr=${VOL_ADDR},${POSTGRES_DATA_VOL_OPTIONS:-rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14}
      device: :/postgres-gwc-data-vol/

  wal-vol:
    name: ${WAL_VOL_NAME}
    driver: local
    driver_opts:
      type: ${WAL_VOL_TYPE:-nfs4}
      o: addr=${VOL_ADDR},${WAL_VOL_OPTIONS:-rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14}
      device: :/postgres-gwc-wal-vol/
+14 −2
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@ services:
          memory: ${PRO_SLAVE_INITIAL_MEMORY}

volumes:
  data-vol:
    name: ${DATA_VOL_NAME}
  geoserver-data-vol:
    name: ${GEOSERVER_DATA_VOL_NAME}
    driver: 'cloudstor:aws'
    driver_opts:
      backing: shared
@@ -44,3 +44,15 @@ volumes:
    driver: 'cloudstor:aws'
    driver_opts:
      backing: shared

  postgres-data-vol:
    name: ${POSTGRES_DATA_VOL_NAME}
    driver: 'cloudstor:aws'
    driver_opts:
      backing: shared

  wal-vol:
    name: ${WAL_VOL_NAME}
    driver: 'cloudstor:aws'
    driver_opts:
      backing: shared
+34 −3
Original line number Diff line number Diff line
version: '3.8'

x-geoserver-root: &geoserver-root
  image: ${IMAGE_NAME:-kartoza/geoserver}:${IMAGE_TAG:-latest}
  image: ${GEOSERVER_IMAGE_NAME:-kartoza/geoserver}:${GEOSERVER_IMAGE_TAG:-latest}

x-geoserver-environment: &geoserver-environment
  GEOWEBCACHE_CACHE_DIR:
@@ -16,7 +16,7 @@ x-geoserver-environment: &geoserver-environment
  TOMCAT_EXTRAS:

x-geoserver-volumes: &geoserver-volumes
  - data-vol:/opt/geoserver/data_dir
  - geoserver-data-vol:/opt/geoserver/data_dir
  - fonts-vol:/opt/fonts
  - letsencrypt-vol:/etc/letsencrypt
  - footprints-vol:/opt/footprints_dir
@@ -104,6 +104,37 @@ services:
      update_config:
        delay: ${GEOSERVER_SLAVE_UPDATE_DELAY:-3m}

  postgres-gwc:
    image: ${POSTGRES_IMAGE_NAME:-postgres}:${POSTGRES_IMAGE_TAG:-latest}
    command: >
      -c work_mem=${POSTGRES_GWC_WORK_MEM:-16MB}
      -c max_wal_size=${POSTGRES_GWC_MAX_WAL_SIZE:-256MB}
    environment:
      POSTGRES_USER:
      POSTGRES_PASSWORD:
      POSTGRES_DB:
      PGDATA:
      POSTGRES_INITDB_WALDIR:
    networks:
      gis-net:
    volumes:
      - postgres-data-vol:${PGDATA}
      - wal-vol:${POSTGRES_INITDB_WALDIR}
    deploy:
      mode: replicated
      replicas: ${POSTGRES_GWC_REPLICAS:-1}
      restart_policy:
        delay: ${POSTGRES_GWC_RESTART_DELAY:-1s}
      update_config:
        delay: ${POSTGRES_GWC_UPDATE_DELAY:-30s}
      resources:
        limits:
          cpus: '${POSTGRES_GWC_RESOURCES_LIMITS_CPUS:-0.5}'
          memory: ${POSTGRES_GWC_RESOURCES_LIMITS_MEMORY:-128M}
        reservations:
          cpus: '${POSTGRES_GWC_RESOURCES_RESERVATIONS_CPUS:-0.001}'
          memory: ${POSTGRES_GWC_RESOURCES_RESERVATIONS_MEMORY:-32M}

volumes:
  letsencrypt-vol:
    name: ${LETSENCRYPT_VOL_NAME:-geoserver-letsencrypt-vol}
@@ -115,7 +146,7 @@ networks:
  gis-net:
    name: ${GIS_NET_NAME:-gis-net}
    driver: ${GIS_NET_DRIVER:-overlay}
    attachable: true
    attachable: ${GIS_NET_ATTACHABLE:-true}

  postgres-net:
    name: ${POSTGRES_NET_NAME:-postgres-net}