Add healthcheck for MySQL container

This commit is contained in:
Evgeniy Antonyuk 2024-05-09 17:57:17 +03:00
parent 2ae938697c
commit d67a2222d4
2 changed files with 11 additions and 1 deletions

View File

@ -1371,8 +1371,13 @@ install_product () {
reconfigure APP_URL_PORTAL "${APP_URL_PORTAL:-"http://${PACKAGE_SYSNAME}-router:8092"}"
reconfigure EXTERNAL_PORT ${EXTERNAL_PORT}
if [[ -z ${MYSQL_HOST} ]] && [ "$INSTALL_MYSQL_SERVER" == "true" ]; then
echo -n "Waiting for MySQL container to become healthy..."
(timeout 30 bash -c "while ! docker inspect --format '{{json .State.Health.Status }}' ${PACKAGE_SYSNAME}-mysql-server | grep -q 'healthy'; do sleep 1; done") && echo "OK" || (echo "FAILED")
fi
docker-compose -f $BASE_DIR/migration-runner.yml up -d
docker wait ${PACKAGE_SYSNAME}-migration-runner
echo -n "Waiting for database migration to complete..." && docker wait ${PACKAGE_SYSNAME}-migration-runner && echo "OK"
docker-compose -f $BASE_DIR/${PRODUCT}.yml up -d
docker-compose -f ${PROXY_YML} up -d
docker-compose -f $BASE_DIR/notify.yml up -d

View File

@ -16,6 +16,11 @@ services:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping --silent"]
interval: 10s
timeout: 5s
retries: 3
volumes:
- mysql_data:/var/lib/mysql
- ./config/mysql/conf.d/:/etc/mysql/conf.d