|
@@ -191,12 +191,12 @@ get_container_ip() {
|
|
|
else
|
|
|
sleep 0.5
|
|
|
# get long container id for exact match
|
|
|
- CONTAINER_ID=($(curl --silent --insecure https://dockerapi/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" | jq -rc "select( .name | tostring == \"${1}\") | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id"))
|
|
|
+ CONTAINER_ID=($(curl --silent --insecure https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" | jq -rc "select( .name | tostring == \"${1}\") | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id"))
|
|
|
# returned id can have multiple elements (if scaled), shuffle for random test
|
|
|
CONTAINER_ID=($(printf "%s\n" "${CONTAINER_ID[@]}" | shuf))
|
|
|
if [[ ! -z ${CONTAINER_ID} ]]; then
|
|
|
for matched_container in "${CONTAINER_ID[@]}"; do
|
|
|
- CONTAINER_IPS=($(curl --silent --insecure https://dockerapi/containers/${matched_container}/json | jq -r '.NetworkSettings.Networks[].IPAddress'))
|
|
|
+ CONTAINER_IPS=($(curl --silent --insecure https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/${matched_container}/json | jq -r '.NetworkSettings.Networks[].IPAddress'))
|
|
|
for ip_match in "${CONTAINER_IPS[@]}"; do
|
|
|
# grep will do nothing if one of these vars is empty
|
|
|
[[ -z ${ip_match} ]] && continue
|
|
@@ -716,7 +716,7 @@ rspamd_checks() {
|
|
|
From: watchdog@localhost
|
|
|
|
|
|
Empty
|
|
|
-' | usr/bin/curl --max-time 10 -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/scan | jq -rc .default.required_score | sed 's/\..*//' )
|
|
|
+' | usr/bin/curl --max-time 10 -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/scan | jq -rc .default.required_score | sed 's/\..*//' )
|
|
|
if [[ ${SCORE} -ne 9999 ]]; then
|
|
|
echo "Rspamd settings check failed, score returned: ${SCORE}" 2>> /tmp/rspamd-mailcow 1>&2
|
|
|
err_count=$(( ${err_count} + 1))
|
|
@@ -1095,12 +1095,12 @@ while true; do
|
|
|
elif [[ ${com_pipe_answer} =~ .+-mailcow ]]; then
|
|
|
kill -STOP ${BACKGROUND_TASKS[*]}
|
|
|
sleep 10
|
|
|
- CONTAINER_ID=$(curl --silent --insecure https://dockerapi/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" | jq -rc "select( .name | tostring | contains(\"${com_pipe_answer}\")) | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id")
|
|
|
+ CONTAINER_ID=$(curl --silent --insecure https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" | jq -rc "select( .name | tostring | contains(\"${com_pipe_answer}\")) | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id")
|
|
|
if [[ ! -z ${CONTAINER_ID} ]]; then
|
|
|
if [[ "${com_pipe_answer}" == "php-fpm-mailcow" ]]; then
|
|
|
- HAS_INITDB=$(curl --silent --insecure -XPOST https://dockerapi/containers/${CONTAINER_ID}/top | jq '.msg.Processes[] | contains(["php -c /usr/local/etc/php -f /web/inc/init_db.inc.php"])' | grep true)
|
|
|
+ HAS_INITDB=$(curl --silent --insecure -XPOST https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/${CONTAINER_ID}/top | jq '.msg.Processes[] | contains(["php -c /usr/local/etc/php -f /web/inc/init_db.inc.php"])' | grep true)
|
|
|
fi
|
|
|
- S_RUNNING=$(($(date +%s) - $(curl --silent --insecure https://dockerapi/containers/${CONTAINER_ID}/json | jq .State.StartedAt | xargs -n1 date +%s -d)))
|
|
|
+ S_RUNNING=$(($(date +%s) - $(curl --silent --insecure https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/${CONTAINER_ID}/json | jq .State.StartedAt | xargs -n1 date +%s -d)))
|
|
|
if [ ${S_RUNNING} -lt 360 ]; then
|
|
|
log_msg "Container is running for less than 360 seconds, skipping action..."
|
|
|
elif [[ ! -z ${HAS_INITDB} ]]; then
|
|
@@ -1108,7 +1108,7 @@ while true; do
|
|
|
sleep 60
|
|
|
else
|
|
|
log_msg "Sending restart command to ${CONTAINER_ID}..."
|
|
|
- curl --silent --insecure -XPOST https://dockerapi/containers/${CONTAINER_ID}/restart
|
|
|
+ curl --silent --insecure -XPOST https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/${CONTAINER_ID}/restart
|
|
|
notify_error "${com_pipe_answer}"
|
|
|
log_msg "Wait for restarted container to settle and continue watching..."
|
|
|
sleep 35
|