Add health checks for all services and update depends on the ckan service block

This commit is contained in:
Kiril-Poposki1998 2024-08-27 14:17:08 +02:00
parent ff392c6fbc
commit 0ee692b8f4
3 changed files with 39 additions and 9 deletions

View File

@ -12,8 +12,12 @@ services:
- frontend - frontend
- backend - backend
depends_on: depends_on:
- db db:
- solr condition: service_healthy
restart: true
solr:
condition: service_healthy
restart: true
ports: ports:
- "0.0.0.0:${CKAN_PORT}:5000" - "0.0.0.0:${CKAN_PORT}:5000"
env_file: env_file:
@ -28,7 +32,6 @@ services:
- CKAN_MAX_UPLOAD_SIZE_MB=${CKAN_MAX_UPLOAD_SIZE_MB} - CKAN_MAX_UPLOAD_SIZE_MB=${CKAN_MAX_UPLOAD_SIZE_MB}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- DS_RO_PASS=${DATASTORE_READONLY_PASSWORD} - DS_RO_PASS=${DATASTORE_READONLY_PASSWORD}
volumes: volumes:
- ckan_data:/srv/app/data - ckan_data:/srv/app/data
@ -45,7 +48,7 @@ services:
- DATAPUSHER_CHUNK_SIZE=${DATAPUSHER_CHUNK_SIZE} - DATAPUSHER_CHUNK_SIZE=${DATAPUSHER_CHUNK_SIZE}
- DATAPUSHER_CHUNK_INSERT_ROWS=${DATAPUSHER_CHUNK_INSERT_ROWS} - DATAPUSHER_CHUNK_INSERT_ROWS=${DATAPUSHER_CHUNK_INSERT_ROWS}
- DATAPUSHER_DOWNLOAD_TIMEOUT=${DATAPUSHER_DOWNLOAD_TIMEOUT} - DATAPUSHER_DOWNLOAD_TIMEOUT=${DATAPUSHER_DOWNLOAD_TIMEOUT}
- DATAPUSHER_SSL_VERIFY=${DATA_PUSHER_SSL_VERIFY} - DATAPUSHER_SSL_VERIFY=${DATAPUSHER_SSL_VERIFY}
- DATAPUSHER_REWRITE_RESOURCES=${DATAPUSHER_REWRITE_RESOURCES} - DATAPUSHER_REWRITE_RESOURCES=${DATAPUSHER_REWRITE_RESOURCES}
- DATAPUSHER_REWRITE_URL=${DATAPUSHER_REWRITE_URL} - DATAPUSHER_REWRITE_URL=${DATAPUSHER_REWRITE_URL}
@ -82,12 +85,24 @@ services:
volumes: volumes:
- solr_data:/var/solr - solr_data:/var/solr
- ${PWD}/solr8/ckan_init_solr.sh:/docker-entrypoint-initdb.d/ckan_init_solr.sh - ${PWD}/solr8/ckan_init_solr.sh:/docker-entrypoint-initdb.d/ckan_init_solr.sh
healthcheck:
test: ["CMD-SHELL", "/opt/solr/bin/solr","status"]
interval: 5s
timeout: 5s
retries: 5
start_period: 5s
redis: redis:
container_name: redis container_name: redis
image: redis:${REDIS_VERSION} image: redis:${REDIS_VERSION}
networks: networks:
- backend - backend
healthcheck:
test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
networks: networks:
frontend: frontend:

View File

@ -27,7 +27,7 @@ DATAPUSHER_DOWNLOAD_TIMEOUT=30
DATAPUSHER_SSL_VERIFY=False DATAPUSHER_SSL_VERIFY=False
DATAPUSHER_REWRITE_RESOURCES=True DATAPUSHER_REWRITE_RESOURCES=True
DATAPUSHER_REWRITE_URL=http://ckan:5005 DATAPUSHER_REWRITE_URL=http://ckan:5005
DATA_PUSHER_SSL_VERIFY=False DATAPUSHER_SSL_VERIFY=False
# SOLR # SOLR
CKAN_CORE_NAME=ckan CKAN_CORE_NAME=ckan

View File

@ -12,8 +12,12 @@ services:
- frontend - frontend
- backend - backend
depends_on: depends_on:
- db db:
- solr condition: service_healthy
restart: true
solr:
condition: service_healthy
restart: true
ports: ports:
- "0.0.0.0:${CKAN_PORT}:5000" - "0.0.0.0:${CKAN_PORT}:5000"
env_file: env_file:
@ -28,7 +32,6 @@ services:
- CKAN_MAX_UPLOAD_SIZE_MB=${CKAN_MAX_UPLOAD_SIZE_MB} - CKAN_MAX_UPLOAD_SIZE_MB=${CKAN_MAX_UPLOAD_SIZE_MB}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- DS_RO_PASS=${DATASTORE_READONLY_PASSWORD} - DS_RO_PASS=${DATASTORE_READONLY_PASSWORD}
volumes: volumes:
- ckan_data:/srv/app/data - ckan_data:/srv/app/data
@ -45,7 +48,7 @@ services:
- DATAPUSHER_CHUNK_SIZE=${DATAPUSHER_CHUNK_SIZE} - DATAPUSHER_CHUNK_SIZE=${DATAPUSHER_CHUNK_SIZE}
- DATAPUSHER_CHUNK_INSERT_ROWS=${DATAPUSHER_CHUNK_INSERT_ROWS} - DATAPUSHER_CHUNK_INSERT_ROWS=${DATAPUSHER_CHUNK_INSERT_ROWS}
- DATAPUSHER_DOWNLOAD_TIMEOUT=${DATAPUSHER_DOWNLOAD_TIMEOUT} - DATAPUSHER_DOWNLOAD_TIMEOUT=${DATAPUSHER_DOWNLOAD_TIMEOUT}
- DATAPUSHER_SSL_VERIFY=${DATA_PUSHER_SSL_VERIFY} - DATAPUSHER_SSL_VERIFY=${DATAPUSHER_SSL_VERIFY}
- DATAPUSHER_REWRITE_RESOURCES=${DATAPUSHER_REWRITE_RESOURCES} - DATAPUSHER_REWRITE_RESOURCES=${DATAPUSHER_REWRITE_RESOURCES}
- DATAPUSHER_REWRITE_URL=${DATAPUSHER_REWRITE_URL} - DATAPUSHER_REWRITE_URL=${DATAPUSHER_REWRITE_URL}
@ -82,12 +85,24 @@ services:
volumes: volumes:
- solr_data:/var/solr - solr_data:/var/solr
- ${PWD}/solr8/ckan_init_solr.sh:/docker-entrypoint-initdb.d/ckan_init_solr.sh - ${PWD}/solr8/ckan_init_solr.sh:/docker-entrypoint-initdb.d/ckan_init_solr.sh
healthcheck:
test: ["CMD-SHELL", "/opt/solr/bin/solr","status"]
interval: 5s
timeout: 5s
retries: 5
start_period: 5s
redis: redis:
container_name: redis container_name: redis
image: redis:${REDIS_VERSION} image: redis:${REDIS_VERSION}
networks: networks:
- backend - backend
healthcheck:
test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
networks: networks:
frontend: frontend: