@@ -20,52 +20,62 @@ color
2020catch_errors
2121
2222function update_script() {
23- header_info
24- check_container_storage
25- check_container_resources
26- if [[ ! -d /opt/kimai ]]; then
27- msg_error " No ${APP} Installation Found!"
28- exit
29- fi
30- RELEASE=$( curl -s https://api.github.com/repos/kimai/kimai/releases/latest | grep " tag_name" | awk ' {print substr($2, 2, length($2)-3) }' )
31- if [[ ! -f /opt/${APP} _version.txt ]] || [[ " ${RELEASE} " != " $( cat /opt/${APP} _version.txt) " ]]; then
32- msg_info " Stopping Apache2"
33- systemctl stop apache2
34- msg_ok " Stopped Apache2"
23+ header_info
24+ check_container_storage
25+ check_container_resources
26+ if [[ ! -d /opt/kimai ]]; then
27+ msg_error " No ${APP} Installation Found!"
28+ exit
29+ fi
30+ RELEASE=$( curl -s https://api.github.com/repos/kimai/kimai/releases/latest | grep " tag_name" | awk ' {print substr($2, 2, length($2)-3) }' )
31+ BACKUP_DIR=" /opt/kimai_backup"
32+
33+ if [[ ! -f /opt/${APP} _version.txt ]] || [[ " ${RELEASE} " != " $( cat /opt/${APP} _version.txt) " ]]; then
34+ msg_info " Stopping Apache2"
35+ systemctl stop apache2
36+ msg_ok " Stopped Apache2"
3537
36- msg_info " Updating ${APP} to ${RELEASE} "
37- cp /opt/kimai/.env /opt/.env
38- [ -f /opt/kimai/config/packages/local.yaml ] && cp /opt/kimai/config/packages/local.yaml /opt/local.yaml
39- rm -rf /opt/kimai
40- wget -q " https://github.com/kimai/kimai/archive/refs/tags/${RELEASE} .zip"
41- unzip -q ${RELEASE} .zip
42- mv kimai-${RELEASE} /opt/kimai
43- mv /opt/.env /opt/kimai/.env
44- [ -f /opt/local.yaml ] && mv /opt/local.yaml /opt/kimai/config/packages/local.yaml
45- cd /opt/kimai
46- $STD composer install --no-dev --optimize-autoloader
47- $STD bin/console kimai:update
48- chown -R :www-data .
49- chmod -R g+r .
50- chmod -R g+rw var/
51- chmod -R 777 /opt/kimai/var/
52- chown -R www-data:www-data /opt/kimai
53- chmod -R 755 /opt/kimai
54- echo " ${RELEASE} " > /opt/${APP} _version.txt
55- msg_ok " Updated ${APP} to ${RELEASE} "
38+ msg_info " Backing up Kimai configuration and var directory"
39+ mkdir -p " $BACKUP_DIR "
40+ [ -d /opt/kimai/var ] && cp -r /opt/kimai/var " $BACKUP_DIR /"
41+ [ -f /opt/kimai/.env ] && cp /opt/kimai/.env " $BACKUP_DIR /"
42+ [ -f /opt/kimai/config/packages/local.yaml ] && cp /opt/kimai/config/packages/local.yaml " $BACKUP_DIR /"
43+ msg_ok " Backup completed"
5644
57- msg_info " Starting Apache2"
58- systemctl start apache2
59- msg_ok " Started Apache2"
45+ msg_info " Updating ${APP} to ${RELEASE} "
46+ rm -rf /opt/kimai
47+ wget -q " https://github.com/kimai/kimai/archive/refs/tags/${RELEASE} .zip"
48+ unzip -q ${RELEASE} .zip
49+ mv kimai-${RELEASE} /opt/kimai
50+ [ -d " $BACKUP_DIR /var" ] && cp -r " $BACKUP_DIR /var" /opt/kimai/
51+ [ -f " $BACKUP_DIR /.env" ] && cp " $BACKUP_DIR /.env" /opt/kimai/
52+ [ -f " $BACKUP_DIR /local.yaml" ] && cp " $BACKUP_DIR /local.yaml" /opt/kimai/config/packages/
53+ rm -rf " $BACKUP_DIR "
54+ cd /opt/kimai
55+ $STD composer install --no-dev --optimize-autoloader
56+ $STD bin/console kimai:update
57+ chown -R :www-data .
58+ chmod -R g+r .
59+ chmod -R g+rw var/
60+ chmod -R 777 /opt/kimai/var/
61+ chown -R www-data:www-data /opt/kimai
62+ chmod -R 755 /opt/kimai
63+ echo " ${RELEASE} " > /opt/${APP} _version.txt
64+ msg_ok " Updated ${APP} to ${RELEASE} "
6065
61- msg_info " Cleaning Up"
62- rm -rf ${RELEASE} .zip
63- msg_ok " Cleaned"
64- msg_ok " Updated Successfully"
65- else
66- msg_ok " No update required. ${APP} is already at ${RELEASE} "
67- fi
68- exit
66+ msg_info " Starting Apache2"
67+ systemctl start apache2
68+ msg_ok " Started Apache2"
69+
70+ msg_info " Cleaning Up"
71+ rm -rf ${RELEASE} .zip
72+ rm -rf " $BACKUP_DIR "
73+ msg_ok " Cleaned"
74+ msg_ok " Updated Successfully"
75+ else
76+ msg_ok " No update required. ${APP} is already at ${RELEASE} "
77+ fi
78+ exit
6979}
7080
7181start
0 commit comments