22
33# Hestia Control Panel - Upgrade Control Script
44
5+ # Import system health check and repair library
6+ source $HESTIA /func/syshealth.sh
7+
58# ####################################################################
69# ###### Functions & Initialization #######
710# ####################################################################
@@ -16,6 +19,7 @@ is_debug_build() {
1619}
1720
1821upgrade_health_check () {
22+
1923 echo " ============================================================================="
2024 echo " [ ! ] Performing system health check before proceeding with installation... "
2125 # Perform basic health check against hestia.conf to ensure that
@@ -30,137 +34,8 @@ upgrade_health_check() {
3034 echo
3135 fi
3236
33- # Release branch
34- if [ -z " $RELEASE_BRANCH " ]; then
35- echo " [ ! ] Adding missing variable to hestia.conf: RELEASE_BRANCH ('release')"
36- $BIN /v-change-sys-config-value ' RELEASE_BRANCH' ' release'
37- fi
38-
39- # Webmail alias
40- if [ ! -z " $IMAP_SYSTEM " ]; then
41- if [ -z " $WEBMAIL_ALIAS " ]; then
42- echo " [ ! ] Adding missing variable to hestia.conf: WEBMAIL_ALIAS ('webmail')"
43- $BIN /v-change-sys-config-value ' WEBMAIL_ALIAS' ' webmail'
44- fi
45- fi
46-
47- # phpMyAdmin/phpPgAdmin alias
48- if [ ! -z " $DB_SYSTEM " ]; then
49- if [ " $DB_SYSTEM " = " mysql" ]; then
50- if [ -z " $DB_PMA_ALIAS " ]; then
51- echo " [ ! ] Adding missing variable to hestia.conf: DB_PMA_ALIAS ('phpMyAdmin')"
52- $BIN /v-change-sys-config-value ' DB_PMA_ALIAS' ' phpMyAdmin'
53- fi
54- fi
55- if [ " $DB_SYSTEM " = " pgsql" ]; then
56- if [ -z " $DB_PGA_ALIAS " ]; then
57- echo " [ ! ] Adding missing variable to hestia.conf: DB_PGA_ALIAS ('phpPgAdmin')"
58- $BIN /v-change-sys-config-value ' DB_PGA_ALIAS' ' phpPgAdmin'
59- fi
60- fi
61- fi
62-
63- # Backup compression level
64- if [ -z " $BACKUP_GZIP " ]; then
65- echo " [ ! ] Adding missing variable to hestia.conf: BACKUP_GZIP ('9')"
66- $BIN /v-change-sys-config-value ' BACKUP_GZIP' ' 9'
67- fi
68-
69- # Theme
70- if [ -z " $THEME " ]; then
71- echo " [ ! ] Adding missing variable to hestia.conf: THEME ('default')"
72- $BIN /v-change-sys-config-value ' THEME' ' default'
73- fi
74-
75- # Default language
76- if [ -z " $LANGUAGE " ]; then
77- echo " [ ! ] Adding missing variable to hestia.conf: LANGUAGE ('en')"
78- $BIN /v-change-sys-language ' en'
79- fi
80-
81- # Disk Quota
82- if [ -z " $DISK_QUOTA " ]; then
83- echo " [ ! ] Adding missing variable to hestia.conf: DISK_QUOTA ('no')"
84- $BIN /v-change-sys-config-value ' DISK_QUOTA' ' no'
85- fi
86-
87- # CRON daemon
88- if [ -z " $CRON_SYSTEM " ]; then
89- echo " [ ! ] Adding missing variable to hestia.conf: CRON_SYSTEM ('cron')"
90- $BIN /v-change-sys-config-value ' CRON_SYSTEM' ' cron'
91- fi
37+ syshealth_repair_system_config
9238
93- # Backend port
94- if [ -z " $BACKEND_PORT " ]; then
95- echo " [ ! ] Adding missing variable to hestia.conf: BACKEND_PORT ('8083')"
96- $BIN /v-change-sys-port ' 8083' > /dev/null 2>&1
97- fi
98-
99- # Upgrade: Send email notification
100- if [ -z " $UPGRADE_SEND_EMAIL " ]; then
101- echo " [ ! ] Adding missing variable to hestia.conf: UPGRADE_SEND_EMAIL ('true')"
102- $BIN /v-change-sys-config-value ' UPGRADE_SEND_EMAIL' ' true'
103- fi
104-
105- # Upgrade: Send email notification
106- if [ -z " $UPGRADE_SEND_EMAIL_LOG " ]; then
107- echo " [ ! ] Adding missing variable to hestia.conf: UPGRADE_SEND_EMAIL_LOG ('false')"
108- $BIN /v-change-sys-config-value ' UPGRADE_SEND_EMAIL_LOG' ' false'
109- fi
110-
111- # File Manager
112- if [ -z " $FILE_MANAGER " ]; then
113- echo " [ ! ] Adding missing variable to hestia.conf: FILE_MANAGER ('true')"
114- echo " [ ! ] File Manager is enabled but not installed, repairing components..."
115- $BIN /v-add-sys-filemanager quiet
116- fi
117-
118- # Support for ZSTD / GZIP Change
119- if [ -z " $BACKUP_MODE " ]; then
120- echo " [ ! ] Setting zstd backup compression type as default..."
121- $BIN /v-change-sys-config-value " BACKUP_MODE" " zstd"
122- fi
123-
124- # Login style switcher
125- if [ -z " $LOGIN_STYLE " ]; then
126- echo " [ ! ] Adding missing variable to hestia.conf: LOGIN_STYLE ('default')"
127- $BIN /v-change-sys-config-value " LOGIN_STYLE" " default"
128- fi
129-
130- # Webmail clients
131- if [ -z " $WEBMAIL_SYSTEM " ]; then
132- if [ -d " /var/lib/roundcube" ]; then
133- echo " [ ! ] Adding missing variable to hestia.conf: WEBMAIL_SYSTEM ('roundcube')"
134- $BIN /v-change-sys-config-value " WEBMAIL_SYSTEM" " roundcube"
135- else
136- echo " [ ! ] Adding missing variable to hestia.conf: WEBMAIL_SYSTEM ('')"
137- $BIN /v-change-sys-config-value " WEBMAIL_SYSTEM" " "
138- fi
139- fi
140-
141- # Inactive session timeout
142- if [ -z " $INACTIVE_SESSION_TIMEOUT " ]; then
143- echo " [ ! ] Adding missing variable to hestia.conf: INACTIVE_SESSION_TIMEOUT ('60')"
144- $BIN /v-change-sys-config-value " INACTIVE_SESSION_TIMEOUT" " 60"
145- fi
146-
147- # Enforce subdomain ownership
148- if [ -z " $ENFORCE_SUBDOMAIN_OWNERSHIP " ]; then
149- echo " [ ! ] Adding missing variable to hestia.conf: ENFORCE_SUBDOMAIN_OWNERSHIP ('yes')"
150- $BIN /v-change-sys-config-value " ENFORCE_SUBDOMAIN_OWNERSHIP" " yes"
151- fi
152-
153- # API access allowed IP's
154- if [ " $API " = " yes" ]; then
155- check_api_key=$( grep " API_ALLOWED_IP" $HESTIA /conf/hestia.conf)
156- if [ -z " $check_api_key " ]; then
157- if [ -z " $API_ALLOWED_IP " ]; then
158- echo " [ ! ] Adding missing variable to hestia.conf: API_ALLOWED_IP ('allow-all')"
159- $BIN /v-change-sys-config-value " API_ALLOWED_IP" " allow-all"
160- fi
161- fi
162- fi
163-
16439 echo " [ * ] Health check complete. Starting upgrade from $VERSION to $new_version ..."
16540 echo " ============================================================================="
16641}
0 commit comments