diff --git a/ct/calibre-web.sh b/ct/calibre-web.sh index 1733a29bf..3c8568d06 100644 --- a/ct/calibre-web.sh +++ b/ct/calibre-web.sh @@ -35,10 +35,8 @@ function update_script() { systemctl stop calibre-web msg_ok "Stopped Service" - msg_info "Backing up Data" - cp -r /opt/calibre-web/app.db /opt/app.db_backup - cp -r /opt/calibre-web/data /opt/data_backup - msg_ok "Backed up Data" + create_backup /opt/calibre-web/app.db \ + /opt/calibre-web/data CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Calibre-Web" "janeczku/calibre-web" "prebuild" "latest" "/opt/calibre-web" "calibre-web*.tar.gz" setup_uv @@ -50,11 +48,7 @@ function update_script() { $STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir -r requirements.txt msg_ok "Installed Dependencies" - msg_info "Restoring Data" - cp /opt/app.db_backup /opt/calibre-web/app.db 2>/dev/null - cp -r /opt/data_backup /opt/calibre-web/data 2>/dev/null - rm -rf /opt/app.db_backup /opt/data_backup - msg_ok "Restored Data" + restore_backup msg_info "Starting Service" systemctl start calibre-web diff --git a/ct/certimate.sh b/ct/certimate.sh index 414fe96b1..bb321aa20 100644 --- a/ct/certimate.sh +++ b/ct/certimate.sh @@ -35,16 +35,11 @@ function update_script() { systemctl stop certimate msg_ok "Stopped Service" - msg_info "Backing up Data" - cp -r /opt/certimate/pb_data /opt/certimate_pb_data_backup - msg_ok "Backed up Data" + create_backup /opt/certimate/pb_data fetch_and_deploy_gh_release "certimate" "certimate-go/certimate" "prebuild" "latest" "/opt/certimate" "certimate_*_linux_amd64.zip" - msg_info "Restoring Data" - cp -r /opt/certimate_pb_data_backup/. /opt/certimate/pb_data - rm -rf /opt/certimate_pb_data_backup - msg_ok "Restored Data" + restore_backup msg_info "Starting Service" systemctl start certimate diff --git a/ct/checkmate.sh b/ct/checkmate.sh index 14fa8420d..471b7e4f7 100644 --- a/ct/checkmate.sh +++ b/ct/checkmate.sh @@ -35,10 +35,8 @@ function update_script() { systemctl stop checkmate-server checkmate-client nginx msg_ok "Stopped Services" - msg_info "Backing up Data" - cp /opt/checkmate/server/.env /opt/checkmate_server.env.bak - [ -f /opt/checkmate/client/.env.local ] && cp /opt/checkmate/client/.env.local /opt/checkmate_client.env.local.bak - msg_ok "Backed up Data" + create_backup /opt/checkmate/server/.env \ + /opt/checkmate/client/.env.local CLEAN_INSTALL=1 fetch_and_deploy_gh_release "checkmate" "bluewave-labs/Checkmate" "tarball" @@ -56,10 +54,7 @@ function update_script() { VITE_APP_API_BASE_URL="/api/v1" UPTIME_APP_API_BASE_URL="/api/v1" VITE_APP_LOG_LEVEL="warn" $STD npm run build msg_ok "Updated Checkmate Client" - msg_info "Restoring Data" - mv /opt/checkmate_server.env.bak /opt/checkmate/server/.env - [ -f /opt/checkmate_client.env.local.bak ] && mv /opt/checkmate_client.env.local.bak /opt/checkmate/client/.env.local - msg_ok "Restored Data" + restore_backup msg_info "Starting Services" systemctl start checkmate-server checkmate-client nginx diff --git a/ct/cleanuparr.sh b/ct/cleanuparr.sh index a97d8726c..f554e2048 100755 --- a/ct/cleanuparr.sh +++ b/ct/cleanuparr.sh @@ -33,16 +33,11 @@ function update_script() { systemctl stop cleanuparr msg_ok "Stopped Service" - msg_info "Backing up config" - cp -r /opt/cleanuparr/config /opt/cleanuparr_config_backup - msg_ok "Backed up config" + create_backup /opt/cleanuparr/config CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-amd64.zip" - msg_info "Restoring config" - [[ -d /opt/cleanuparr/config ]] && rm -rf /opt/cleanuparr/config - mv /opt/cleanuparr_config_backup /opt/cleanuparr/config - msg_ok "Restored config" + restore_backup msg_info "Starting Service" systemctl start cleanuparr diff --git a/ct/commafeed.sh b/ct/commafeed.sh index 2a6411e46..d842c3c7f 100644 --- a/ct/commafeed.sh +++ b/ct/commafeed.sh @@ -36,20 +36,11 @@ function update_script() { msg_ok "Stopped Service" ensure_dependencies rsync - - if [ -d /opt/commafeed/data ] && [ "$(ls -A /opt/commafeed/data)" ]; then - msg_info "Backing up existing data" - mv /opt/commafeed/data /opt/data.bak - msg_ok "Backed up existing data" - fi + create_backup /opt/commafeed/data CLEAN_INSTALL=1 fetch_and_deploy_gh_release "commafeed" "Athou/commafeed" "prebuild" "latest" "/opt/commafeed" "commafeed-*-h2-jvm.zip" - if [ -d /opt/data.bak ] && [ "$(ls -A /opt/data.bak)" ]; then - msg_info "Restoring data" - mv /opt/data.bak /opt/commafeed/data - msg_ok "Restored data" - fi + restore_backup msg_info "Starting Service" systemctl start commafeed diff --git a/ct/configarr.sh b/ct/configarr.sh index f13bf18bf..d8fdcfb32 100644 --- a/ct/configarr.sh +++ b/ct/configarr.sh @@ -33,11 +33,13 @@ function update_script() { systemctl stop configarr-task.timer msg_ok "Stopped Service" - mkdir -p /opt/backup/ - mv /opt/configarr/{config.yml,secrets.yml,.env} /opt/backup/ + create_backup /opt/configarr/config.yml \ + /opt/configarr/secrets.yml \ + /opt/configarr/.env + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr" "prebuild" "latest" "/opt/configarr" "configarr-linux-x64.tar.xz" - mv /opt/backup/{config.yml,secrets.yml,.env} /opt/configarr/ - rm -rf /opt/backup + + restore_backup msg_info "Starting Service" systemctl start configarr-task.timer diff --git a/ct/convertx.sh b/ct/convertx.sh index 96f40fa84..2ec368dc4 100644 --- a/ct/convertx.sh +++ b/ct/convertx.sh @@ -36,19 +36,14 @@ function update_script() { ensure_dependencies libreoffice-writer - msg_info "Move data-Folder" - if [[ -d /opt/convertx/data ]]; then - mv /opt/convertx/data /opt/data - fi - msg_ok "Moved data-Folder" + create_backup /opt/convertx/data fetch_and_deploy_gh_release "ConvertX" "C4illin/ConvertX" "tarball" "latest" "/opt/convertx" + restore_backup + msg_info "Updating ConvertX" - if [[ -d /opt/data ]]; then - mv /opt/data /opt/convertx/data - fi - cd /opt/convertx + cd /opt/convertx $STD bun install msg_ok "Updated ConvertX" diff --git a/ct/crafty-controller.sh b/ct/crafty-controller.sh index 6661cb5ef..7e1118640 100644 --- a/ct/crafty-controller.sh +++ b/ct/crafty-controller.sh @@ -30,20 +30,17 @@ function update_script() { fi RELEASE=$(curl -fsSL "https://gitlab.com/api/v4/projects/20430749/releases" | grep -o '"tag_name":"v[^"]*"' | head -n 1 | sed 's/"tag_name":"v//;s/"//') - if [[ ! -f /opt/crafty-controller_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/crafty-controller_version.txt)" ]]; then + if [[ ! -f /opt/crafty-controller_version.txt ]] || [[ ${RELEASE} != "$(cat /opt/crafty-controller_version.txt)" ]]; then msg_info "Stopping Crafty-Controller" systemctl stop crafty-controller msg_ok "Stopped Crafty-Controller" - msg_info "Creating Backup of config" - cp -a /opt/crafty-controller/crafty/crafty-4/app/config/. /opt/crafty-controller/backup - rm /opt/crafty-controller/backup/version.json - rm /opt/crafty-controller/backup/credits.json - rm /opt/crafty-controller/backup/logging.json - rm /opt/crafty-controller/backup/default.json.example - rm /opt/crafty-controller/backup/motd_format.json - msg_ok "Backup Created" + create_backup /opt/crafty-controller/crafty/crafty-4/app/config/version.json \ + /opt/crafty-controller/crafty/crafty-4/app/config/credits.json \ + /opt/crafty-controller/crafty/crafty-4/app/config/logging.json \ + /opt/crafty-controller/crafty/crafty-4/app/config/default.json.example \ + /opt/crafty-controller/crafty/crafty-4/app/config/motd_format.json msg_info "Updating Crafty-Controller to v${RELEASE}" curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") @@ -58,11 +55,8 @@ function update_script() { echo "${RELEASE}" >"/opt/crafty-controller_version.txt" msg_ok "Updated Crafty-Controller to v${RELEASE}" - msg_info "Restoring Backup of config" - cp -a /opt/crafty-controller/backup/. /opt/crafty-controller/crafty/crafty-4/app/config - rm -rf /opt/crafty-controller/backup + restore_backup chown -R crafty:crafty /opt/crafty-controller/ - msg_ok "Backup Restored" msg_info "Starting Crafty-Controller" systemctl start crafty-controller diff --git a/ct/cryptpad.sh b/ct/cryptpad.sh index abb180246..0480c0b66 100644 --- a/ct/cryptpad.sh +++ b/ct/cryptpad.sh @@ -34,21 +34,18 @@ function update_script() { systemctl stop cryptpad msg_info "Stopped Service" - msg_info "Creating backup" - [ -f /opt/cryptpad/config/config.js ] && mv /opt/cryptpad/config/config.js /opt/ - for dir in blob block customize data datastore www/common/onlyoffice/dist onlyoffice-conf; do - [ -d "/opt/cryptpad/${dir}" ] && mv "/opt/cryptpad/${dir}" "/tmp/cryptpad_${dir//\//_}" - done - msg_ok "Created backup" + create_backup /opt/cryptpad/config/config.js \ + /opt/cryptpad/blob \ + /opt/cryptpad/block \ + /opt/cryptpad/customize \ + /opt/cryptpad/data \ + /opt/cryptpad/datastore \ + /opt/cryptpad/www/common/onlyoffice/dist \ + /opt/cryptpad/onlyoffice-conf CLEAN_INSTALL=1 fetch_and_deploy_gh_release "cryptpad" "cryptpad/cryptpad" "tarball" - msg_info "Restoring backup" - mv /opt/config.js /opt/cryptpad/config/ - for dir in blob block customize data datastore www/common/onlyoffice/dist onlyoffice-conf; do - [ -d "/tmp/cryptpad_${dir//\//_}" ] && mv "/tmp/cryptpad_${dir//\//_}" "/opt/cryptpad/${dir}" - done - msg_ok "Restored backup" + restore_backup msg_info "Updating CryptPad" cd /opt/cryptpad diff --git a/ct/dagu.sh b/ct/dagu.sh index 225242b10..10dd3f067 100644 --- a/ct/dagu.sh +++ b/ct/dagu.sh @@ -35,17 +35,11 @@ function update_script() { systemctl stop dagu msg_ok "Stopped Service" - msg_info "Backing up Data" - cp -r /opt/dagu/data /opt/dagu_data_backup - msg_ok "Backed up Data" + create_backup /opt/dagu/data fetch_and_deploy_gh_release "dagu" "dagucloud/dagu" "prebuild" "latest" "/opt/dagu" "dagu_*_linux_amd64.tar.gz" - msg_info "Restoring Data" - mkdir -p /opt/dagu/data - cp -r /opt/dagu_data_backup/. /opt/dagu/data - rm -rf /opt/dagu_data_backup - msg_ok "Restored Data" + restore_backup msg_info "Starting Service" systemctl start dagu diff --git a/ct/dashy.sh b/ct/dashy.sh index 35e066fad..8d3e53402 100644 --- a/ct/dashy.sh +++ b/ct/dashy.sh @@ -36,10 +36,7 @@ function update_script() { systemctl stop dashy msg_ok "Stopped Service" - msg_info "Backing up user-data" - rm -rf /opt/dashy_user_data_backup - cp -r /opt/dashy/user-data /opt/dashy_user_data_backup - msg_ok "Backed up user-data" + create_backup /opt/dashy/user-data CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dashy" "lissy93/dashy" "prebuild" "latest" "/opt/dashy" "dashy-*.tar.gz" @@ -48,10 +45,7 @@ function update_script() { $STD yarn install --ignore-engines --network-timeout 300000 msg_ok "Updated Dashy" - msg_info "Restoring user-data" - cp -r /opt/dashy_user_data_backup/. /opt/dashy/user-data/ - rm -rf /opt/dashy_user_data_backup - msg_ok "Restored user-data" + restore_backup msg_info "Starting Dashy" systemctl start dashy diff --git a/ct/databasus.sh b/ct/databasus.sh index f45f62386..88f4fb643 100644 --- a/ct/databasus.sh +++ b/ct/databasus.sh @@ -35,12 +35,7 @@ function update_script() { $STD systemctl stop databasus msg_ok "Stopped Databasus" - msg_info "Backing up Configuration" - [[ ! -f /.env && -f /opt/databasus/.env ]] && cp /opt/databasus/.env /.env - chmod 600 /.env - cp /.env /opt/databasus.env.bak - chmod 600 /opt/databasus.env.bak - msg_ok "Backed up Configuration" + create_backup /opt/databasus/.env msg_info "Ensuring Database Clients" # Create PostgreSQL version symlinks for compatibility @@ -87,11 +82,7 @@ function update_script() { chown -R postgres:postgres /opt/databasus msg_ok "Updated Databasus" - msg_info "Restoring Configuration" - cp /opt/databasus.env.bak /.env - rm -f /opt/databasus.env.bak - chmod 600 /.env - msg_ok "Restored Configuration" + restore_backup if ! grep -q "EnvironmentFile=/.env" /etc/systemd/system/databasus.service; then msg_info "Updating Service" diff --git a/ct/dawarich.sh b/ct/dawarich.sh index 86e6c95e1..c34de77e1 100644 --- a/ct/dawarich.sh +++ b/ct/dawarich.sh @@ -37,11 +37,9 @@ function update_script() { systemctl stop dawarich-web dawarich-worker msg_ok "Stopped Services" - msg_info "Backing up Data" - cp -r /opt/dawarich/app/storage /opt/dawarich_storage_backup 2>/dev/null || true - cp /opt/dawarich/app/config/master.key /opt/dawarich_master.key 2>/dev/null || true - cp /opt/dawarich/app/config/credentials.yml.enc /opt/dawarich_credentials.yml.enc 2>/dev/null || true - msg_ok "Backed up Data" + create_backup /opt/dawarich/app/storage \ + /opt/dawarich/app/config/master.key \ + /opt/dawarich/app/config/credentials.yml.enc CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dawarich" "Freika/dawarich" "tarball" "latest" "/opt/dawarich/app" @@ -85,12 +83,7 @@ function update_script() { $STD bundle exec rake data:migrate msg_ok "Ran Migrations" - msg_info "Restoring Data" - cp -r /opt/dawarich_storage_backup/. /opt/dawarich/app/storage/ 2>/dev/null || true - cp /opt/dawarich_master.key /opt/dawarich/app/config/master.key 2>/dev/null || true - cp /opt/dawarich_credentials.yml.enc /opt/dawarich/app/config/credentials.yml.enc 2>/dev/null || true - rm -rf /opt/dawarich_storage_backup /opt/dawarich_master.key /opt/dawarich_credentials.yml.enc - msg_ok "Restored Data" + restore_backup msg_info "Starting Services" systemctl start dawarich-web dawarich-worker diff --git a/ct/ddns-updater.sh b/ct/ddns-updater.sh index aa2016a63..c5d6851aa 100644 --- a/ct/ddns-updater.sh +++ b/ct/ddns-updater.sh @@ -33,16 +33,11 @@ function update_script() { systemctl stop ddns-updater msg_ok "Stopped Service" - msg_info "Backing up Data" - cp -r /opt/ddns-updater/data /opt/ddns-updater_data_backup - msg_ok "Backed up Data" + create_backup /opt/ddns-updater/data CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ddns-updater" "qdm12/ddns-updater" "singlefile" "latest" "/opt/ddns-updater" "ddns-updater_*_linux_amd64" - msg_info "Restoring Data" - cp -r /opt/ddns-updater_data_backup/. /opt/ddns-updater/data/ - rm -rf /opt/ddns-updater_data_backup - msg_ok "Restored Data" + restore_backup msg_info "Starting Service" systemctl start ddns-updater diff --git a/ct/degoog.sh b/ct/degoog.sh index 0dbe0c4d5..dbded5b95 100644 --- a/ct/degoog.sh +++ b/ct/degoog.sh @@ -35,10 +35,8 @@ function update_script() { systemctl stop degoog msg_ok "Stopped Service" - msg_info "Backing up Configuration & Data" - [[ -f /opt/degoog/.env ]] && cp /opt/degoog/.env /opt/degoog.env.bak - [[ -d /opt/degoog/data ]] && mv /opt/degoog/data /opt/degoog_data_backup - msg_ok "Backed up Configuration & Data" + create_backup /opt/degoog/.env \ + /opt/degoog/data if ! command -v bun >/dev/null 2>&1; then msg_info "Installing Bun" @@ -55,9 +53,7 @@ function update_script() { CLEAN_INSTALL=1 fetch_and_deploy_gh_release "degoog" "fccview/degoog" "prebuild" "latest" "/opt/degoog" "degoog_*_prebuild.tar.gz" - msg_info "Restoring Configuration & Data" - [[ -f /opt/degoog.env.bak ]] && mv /opt/degoog.env.bak /opt/degoog/.env - [[ -d /opt/degoog_data_backup ]] && mv /opt/degoog_data_backup /opt/degoog/data + restore_backup if [[ -f /opt/degoog/.env ]]; then grep -q "^DEGOOG_VALKEY_URL=" /opt/degoog/.env && sed -i "s|^DEGOOG_VALKEY_URL=.*|DEGOOG_VALKEY_URL=redis://valkey:6379|" /opt/degoog/.env || echo "DEGOOG_VALKEY_URL=redis://valkey:6379" >>/opt/degoog/.env diff --git a/ct/discopanel.sh b/ct/discopanel.sh index f71b64021..9521b2279 100644 --- a/ct/discopanel.sh +++ b/ct/discopanel.sh @@ -37,19 +37,12 @@ function update_script() { systemctl stop discopanel msg_ok "Stopped Service" - msg_info "Creating Backup" - mkdir -p /opt/discopanel_backup_temp - cp /opt/discopanel/data/discopanel.db /opt/discopanel_backup_temp/discopanel.db - msg_ok "Created Backup" + create_backup /opt/discopanel/data/discopanel.db fetch_and_deploy_gh_release "discopanel" "nickheyer/discopanel" "prebuild" "latest" "/opt/discopanel" "discopanel-linux-amd64.tar.gz" ln -sf /opt/discopanel/discopanel-linux-amd64 /opt/discopanel/discopanel - msg_info "Restoring Data" - mkdir -p /opt/discopanel/data - mv /opt/discopanel_backup_temp/discopanel.db /opt/discopanel/data/discopanel.db - rm -rf /opt/discopanel_backup_temp - msg_ok "Restored Data" + restore_backup msg_info "Starting Service" systemctl start discopanel diff --git a/ct/docmost.sh b/ct/docmost.sh index c50f59c3d..c3392c585 100644 --- a/ct/docmost.sh +++ b/ct/docmost.sh @@ -37,25 +37,19 @@ function update_script() { systemctl stop docmost msg_ok "Stopped Service" - msg_info "Backing up data" - cp /opt/docmost/.env /opt/ - cp -r /opt/docmost/data /opt/ - rm -rf /opt/docmost - msg_ok "Data backed up" + create_backup /opt/docmost/.env \ + /opt/docmost/data fetch_and_deploy_gh_release "docmost" "docmost/docmost" "tarball" - msg_info "Updating ${APP}" - cd /opt/docmost - mv /opt/.env /opt/docmost/.env - mv /opt/data /opt/docmost/data + restore_backup # Fix: Docmost EE (audit logs etc.) lives in a git submodule that is NOT # included in GitHub tarballs. The community NoopAuditService exists but # is only exported by CoreModule – child modules such as UserModule cannot # resolve it. Making CoreModule @Global() exposes the token app-wide. - if [[ ! -f /opt/docmost/apps/server/src/ee/ee.module.ts ]] \ - && ! grep -q '@Global()' /opt/docmost/apps/server/src/core/core.module.ts 2>/dev/null; then + if [[ ! -f /opt/docmost/apps/server/src/ee/ee.module.ts ]] && + ! grep -q '@Global()' /opt/docmost/apps/server/src/core/core.module.ts 2>/dev/null; then sed -i '/^ Module,$/a\ Global,' /opt/docmost/apps/server/src/core/core.module.ts sed -i '/^@Module({$/i @Global()' /opt/docmost/apps/server/src/core/core.module.ts fi diff --git a/ct/docuseal.sh b/ct/docuseal.sh index e33270257..ee2c6478f 100644 --- a/ct/docuseal.sh +++ b/ct/docuseal.sh @@ -35,24 +35,19 @@ function update_script() { systemctl stop docuseal docuseal-sidekiq msg_ok "Stopped Services" - msg_info "Backing up Data" - cp /opt/docuseal/.env /opt/docuseal.env.bak - [[ -d /opt/docuseal/data ]] && mv /opt/docuseal/data /opt/docuseal_data.bak - msg_ok "Backed up Data" + create_backup /opt/docuseal/.env \ + /opt/docuseal/data CLEAN_INSTALL=1 fetch_and_deploy_gh_release "docuseal" "docusealco/docuseal" "tarball" local required_ruby current_ruby required_ruby=$(grep -m1 '^ruby ' /opt/docuseal/Gemfile | grep -oP '[0-9]+\.[0-9]+\.[0-9]+') current_ruby=$(PATH="/root/.rbenv/bin:/root/.rbenv/shims:${PATH}" rbenv global 2>/dev/null || true) - if [[ -n "$required_ruby" && "$required_ruby" != "$current_ruby" ]]; then + if [[ -n $required_ruby && $required_ruby != "$current_ruby" ]]; then RUBY_VERSION="${required_ruby}" RUBY_INSTALL_RAILS="false" HOME=/root setup_ruby fi - msg_info "Restoring Data" - mv /opt/docuseal.env.bak /opt/docuseal/.env - [[ -d /opt/docuseal_data.bak ]] && mv /opt/docuseal_data.bak /opt/docuseal/data - msg_ok "Restored Data" + restore_backup msg_info "Building Application" cd /opt/docuseal diff --git a/ct/domain-monitor.sh b/ct/domain-monitor.sh index b5ced7a7e..110be28bf 100644 --- a/ct/domain-monitor.sh +++ b/ct/domain-monitor.sh @@ -43,9 +43,7 @@ function update_script() { systemctl stop apache2 msg_info "Service stopped" - msg_info "Creating backup" - mv /opt/domain-monitor/.env /opt - msg_ok "Created backup" + create_backup /opt/domain-monitor/.env setup_composer CLEAN_INSTALL=1 fetch_and_deploy_gh_release "domain-monitor" "Hosteroid/domain-monitor" "prebuild" "latest" "/opt/domain-monitor" "domain-monitor-v*.zip" @@ -56,9 +54,7 @@ function update_script() { chown -R www-data:www-data /opt/domain-monitor msg_ok "Updated Domain Monitor" - msg_info "Restoring backup" - mv /opt/.env /opt/domain-monitor - msg_ok "Restored backup" + restore_backup msg_info "Restarting Services" systemctl start apache2 diff --git a/ct/donetick.sh b/ct/donetick.sh index bb86e98b7..d1b8771a4 100644 --- a/ct/donetick.sh +++ b/ct/donetick.sh @@ -35,18 +35,14 @@ function update_script() { systemctl stop donetick msg_ok "Stopped Service" - msg_info "Backing Up Configurations" - mv /opt/donetick/config/selfhosted.yaml /opt/donetick/donetick.db /opt - msg_ok "Backed Up Configurations" + create_backup /opt/donetick/config/selfhosted.yaml \ + /opt/donetick/donetick.db CLEAN_INSTALL=1 fetch_and_deploy_gh_release "donetick" "donetick/donetick" "prebuild" "latest" "/opt/donetick" "donetick_Linux_x86_64.tar.gz" - msg_info "Restoring Configurations" - mv /opt/selfhosted.yaml /opt/donetick/config + restore_backup grep -q 'http://localhost"$' /opt/donetick/config/selfhosted.yaml || sed -i '/https:\/\/localhost"$/a\ - "http://localhost"' /opt/donetick/config/selfhosted.yaml grep -q 'capacitor://localhost' /opt/donetick/config/selfhosted.yaml || sed -i '/http:\/\/localhost"$/a\ - "capacitor://localhost"' /opt/donetick/config/selfhosted.yaml - mv /opt/donetick.db /opt/donetick - msg_ok "Restored Configurations" msg_info "Starting Service" systemctl start donetick diff --git a/ct/dynacat.sh b/ct/dynacat.sh index 5f7951bb6..19d14fda6 100644 --- a/ct/dynacat.sh +++ b/ct/dynacat.sh @@ -35,19 +35,13 @@ function update_script() { systemctl stop dynacat msg_ok "Stopped Service" - msg_info "Backing up Data" - cp -r /opt/dynacat/config /opt/dynacat_config_backup - cp -r /opt/dynacat/assets /opt/dynacat_assets_backup - cp -r /opt/dynacat/data /opt/dynacat_data_backup - msg_ok "Backed up Data" + create_backup /opt/dynacat/config \ + /opt/dynacat/assets \ + /opt/dynacat/data CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dynacat" "Panonim/dynacat" "prebuild" "latest" "/opt/dynacat" "dynacat-linux-amd64.tar.gz" - msg_info "Restoring Data" - cp -r /opt/dynacat_config_backup/. /opt/dynacat/config - cp -r /opt/dynacat_assets_backup/. /opt/dynacat/assets - cp -r /opt/dynacat_data_backup/. /opt/dynacat/data - rm -rf /opt/dynacat_config_backup /opt/dynacat_assets_backup /opt/dynacat_data_backup + restore_backup chmod +x /opt/dynacat/dynacat msg_ok "Restored Data"