From 7a787c58a04d2f0e6cb7ed563b3da4d69153589d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 13 Nov 2025 13:30:37 +0100 Subject: [PATCH] Domain Monitor: Add domain checking cron (#9129) * Add cron * Update --- ct/domain-monitor.sh | 72 ++++++++++++++++--------------- install/domain-monitor-install.sh | 1 + 2 files changed, 39 insertions(+), 34 deletions(-) diff --git a/ct/domain-monitor.sh b/ct/domain-monitor.sh index 399dbdb00..da772433b 100644 --- a/ct/domain-monitor.sh +++ b/ct/domain-monitor.sh @@ -20,41 +20,45 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/domain-monitor ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "domain-monitor" "Hosteroid/domain-monitor"; then - msg_info "Stopping Service" - systemctl stop apache2 - msg_info "Service stopped" - - msg_info "Creating backup" - mv /opt/domain-monitor/.env /opt - msg_ok "Created backup" - - setup_composer - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "domain-monitor" "Hosteroid/domain-monitor" "prebuild" "latest" "/opt/domain-monitor" "domain-monitor-v*.zip" - - msg_info "Updating Domain Monitor" - cd /opt/domain-monitor - $STD composer install - msg_ok "Updated Domain Monitor" - - msg_info "Restoring backup" - mv /opt/.env /opt/domain-monitor - msg_ok "Restored backup" - - msg_info "Restarting Services" - systemctl reload apache2 - msg_ok "Restarted Services" - msg_ok "Updated successfully!" - fi + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/domain-monitor ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + + if ! grep -Fq "root /usr/bin/php /opt/domain-monitor/cron/check_domains.php" /etc/crontab; then + echo "0 0 * * * root /usr/bin/php /opt/domain-monitor/cron/check_domains.php" >>/etc/crontab + fi + + if check_for_gh_release "domain-monitor" "Hosteroid/domain-monitor"; then + msg_info "Stopping Service" + systemctl stop apache2 + msg_info "Service stopped" + + msg_info "Creating backup" + mv /opt/domain-monitor/.env /opt + msg_ok "Created backup" + + setup_composer + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "domain-monitor" "Hosteroid/domain-monitor" "prebuild" "latest" "/opt/domain-monitor" "domain-monitor-v*.zip" + + msg_info "Updating Domain Monitor" + cd /opt/domain-monitor + $STD composer install + msg_ok "Updated Domain Monitor" + + msg_info "Restoring backup" + mv /opt/.env /opt/domain-monitor + msg_ok "Restored backup" + + msg_info "Restarting Services" + systemctl reload apache2 + msg_ok "Restarted Services" + msg_ok "Updated successfully!" + fi + exit } start diff --git a/install/domain-monitor-install.sh b/install/domain-monitor-install.sh index 06f6d48b1..352b70891 100644 --- a/install/domain-monitor-install.sh +++ b/install/domain-monitor-install.sh @@ -43,6 +43,7 @@ sed -i -e "s|^APP_ENV=.*|APP_ENV=production|" \ -e "s|^DB_USERNAME=.*|DB_USERNAME=$MARIADB_DB_USER|" \ -e "s|^DB_PASSWORD=.*|DB_PASSWORD=$MARIADB_DB_PASS|" \ -e "s|^DB_DATABASE=.*|DB_DATABASE=$MARIADB_DB_NAME|" .env +echo "0 0 * * * root /usr/bin/php /opt/domain-monitor/cron/check_domains.php" >>/etc/crontab cat </etc/apache2/sites-enabled/000-default.conf