|
17 | 17 | done |
18 | 18 |
|
19 | 19 | echo "=================================================================================================================" |
20 | | -sudo mkdir 775 -p /docker/zabbix-docker/ |
| 20 | +sudo mkdir -m 775 -p /docker/zabbix-docker/ |
21 | 21 | cd /docker/zabbix-docker/ 2>&1 1>/dev/null |
22 | 22 | sudo wget https://github.com/zabbix/zabbix-docker/archive/refs/tags/${ZBX_VERSION}.zip |
23 | 23 | sudo unzip ${ZBX_VERSION}.zip |
24 | 24 | cd zabbix-docker-${ZBX_VERSION} 2>&1 1>/dev/null |
25 | 25 | echo "---> Setting up docker with Zabbix ${ZBX_VERSION}..." |
26 | 26 | # docker-compose dirty hack: it uses only file named 'docker-compose.yml' |
27 | 27 | yes | sudo cp docker-compose_v3_alpine_mysql_latest.yaml docker-compose.yml |
| 28 | + |
| 29 | +# Pin MySQL to 8.0.33 to avoid mysql_native_password deprecation in 8.0.34+ |
| 30 | +sudo sed -i 's/mysql:8\.0/mysql:8.0.33/g' docker-compose.yml |
| 31 | + |
| 32 | +# Replace MYSQL_ROOT_PASSWORD_FILE with plain MYSQL_ROOT_PASSWORD to avoid: |
| 33 | +# - "Secret file not found" in Zabbix 6.0+ web container (secret not mounted) |
| 34 | +# - "Both X and X_FILE are set" in MySQL 8.0.46+ entrypoint |
| 35 | +sudo sed -i 's/^\(MYSQL_ROOT_PASSWORD_FILE=.*\)/# \1/' env_vars/.env_db_mysql |
| 36 | +sudo sed -i 's/^# MYSQL_ROOT_PASSWORD=$/MYSQL_ROOT_PASSWORD=root_pwd/' env_vars/.env_db_mysql |
| 37 | +sudo sed -i 's/MYSQL_ROOT_PASSWORD_FILE=\/run\/secrets\/MYSQL_ROOT_PASSWORD/MYSQL_ROOT_PASSWORD=root_pwd/' compose_databases.yaml 2>/dev/null |
| 38 | + |
28 | 39 | docker-compose -f ./docker-compose.yml up -d |
29 | | -# wait for full set up |
30 | | -sleep 1m |
| 40 | + |
| 41 | +echo "---> Waiting for Zabbix ..." |
| 42 | +WAITED=0 |
| 43 | +until curl -sf http://localhost:80/ > /dev/null 2>&1; do |
| 44 | + sleep 5 |
| 45 | + WAITED=$((WAITED + 5)) |
| 46 | + if [ $WAITED -ge 300 ]; then |
| 47 | + echo "ERROR: Zabbix not ready after 300s" |
| 48 | + docker-compose -f ./docker-compose.yml ps |
| 49 | + docker-compose -f ./docker-compose.yml logs --tail=20 |
| 50 | + exit 1 |
| 51 | + fi |
| 52 | +done |
0 commit comments