diff --git a/ct/dockge.sh b/ct/dockge.sh index d3e82a476a1..e3fe5d0370a 100644 --- a/ct/dockge.sh +++ b/ct/dockge.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-18}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -27,12 +27,21 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi +<<<<<<< HEAD + msg_info "Updating Dockge" + cd /opt/dockge + $STD docker compose pull + $STD docker compose up -d + msg_ok "Updated Dockge" + msg_ok "Updated successfully" +======= msg_info "Updating ${APP}" cd /opt/dockge $STD docker compose pull $STD docker compose up -d msg_ok "Updated ${APP}" msg_ok "Updated successfully!" +>>>>>>> main exit } diff --git a/ct/docmost.sh b/ct/docmost.sh index ea445bd5765..8a32e871c77 100644 --- a/ct/docmost.sh +++ b/ct/docmost.sh @@ -12,6 +12,7 @@ var_ram="${var_ram:-4096}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" var_version="${var_version:-13}" +var_unprivileged="${var_unprivileged:-1}" header_info "$APP" variables @@ -44,18 +45,22 @@ function update_script() { fetch_and_deploy_gh_release "docmost" "docmost/docmost" - msg_info "Updating ${APP}" + msg_info "Updating Docmost" cd /opt/docmost mv /opt/.env /opt/docmost/.env mv /opt/data /opt/docmost/data $STD pnpm install --force $STD pnpm build - msg_ok "Updated ${APP}" + msg_ok "Updated Docmost" msg_info "Starting Service" systemctl start docmost msg_ok "Started Service" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/dolibarr.sh b/ct/dolibarr.sh index 15a4daa2441..8f197e1741c 100644 --- a/ct/dolibarr.sh +++ b/ct/dolibarr.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-6}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -20,15 +20,15 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /usr/share/dolibarr ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_error "To update ${APP}, use the applications web interface." + header_info + check_container_storage + check_container_resources + if [[ ! -d /usr/share/dolibarr ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + msg_error "To update ${APP}, use the applications web interface." + exit } start @@ -38,4 +38,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/dolibarr/install${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/dolibarr/install${CL}" diff --git a/ct/dotnetaspwebapi.sh b/ct/dotnetaspwebapi.sh index 94bdef91eb8..631d677fb8e 100644 --- a/ct/dotnetaspwebapi.sh +++ b/ct/dotnetaspwebapi.sh @@ -20,6 +20,13 @@ color catch_errors function update_script() { +<<<<<<< HEAD + header_info + check_container_storage + check_container_resources + if [[ ! -d /var/www ]]; then + msg_error "No ${APP} Installation Found!" +======= header_info check_container_storage check_container_resources @@ -31,7 +38,14 @@ function update_script() { $STD apt-get update $STD apt-get -y upgrade msg_ok "Updated successfully!" +>>>>>>> main exit + fi + msg_info "Updating ${APP} LXC" + $STD apt update + $STD apt -y upgrade + msg_ok "Updated Successfully" + exit } start diff --git a/ct/duplicati.sh b/ct/duplicati.sh index 78979c89339..4cfd2891dd9 100644 --- a/ct/duplicati.sh +++ b/ct/duplicati.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-10}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -31,14 +31,22 @@ function update_script() { if check_for_gh_release "duplicati" "duplicati/duplicati"; then msg_info "Stopping Service" systemctl stop duplicati +<<<<<<< HEAD + msg_ok "Stopped Service" +======= msg_info "Stopped Service" +>>>>>>> main fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "duplicati-*-linux-x64-gui.deb" msg_info "Starting Service" systemctl start duplicati msg_ok "Started Service" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/emqx.sh b/ct/emqx.sh index b274fe187d4..03f8fe5acb0 100644 --- a/ct/emqx.sh +++ b/ct/emqx.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -32,9 +32,9 @@ function update_script() { msg_info "Removing old EMQX" if dpkg -l | grep -q "^ii\s\+emqx\s"; then - $STD apt-get remove --purge -y emqx + $STD apt remove --purge -y emqx elif dpkg -l | grep -q "^ii\s\+emqx-enterprise\s"; then - $STD apt-get remove --purge -y emqx-enterprise + $STD apt remove --purge -y emqx-enterprise else msg_ok "No old EMQX package found" fi @@ -46,11 +46,17 @@ function update_script() { msg_ok "Downloaded EMQX" msg_info "Installing EMQX" - $STD apt-get install -y "$DEB_FILE" + $STD apt install -y "$DEB_FILE" + echo "$RELEASE" >~/.emqx + rm -f "$DEB_FILE" msg_ok "Installed EMQX v${RELEASE}" - msg_info "Starting EMQX" + msg_info "Starting Service" systemctl start emqx +<<<<<<< HEAD + msg_ok "Started Service" + msg_ok "Updated successfully" +======= echo "$RELEASE" >~/.emqx msg_ok "Started EMQX" @@ -58,6 +64,7 @@ function update_script() { rm -f "$DEB_FILE" msg_ok "Cleanup Completed" msg_ok "Updated successfully!" +>>>>>>> main else msg_ok "No update required. EMQX is already at v${RELEASE}" fi diff --git a/ct/ersatztv.sh b/ct/ersatztv.sh index 8169063ac9b..c739132d646 100644 --- a/ct/ersatztv.sh +++ b/ct/ersatztv.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-5}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -27,23 +27,28 @@ function update_script() { exit fi if check_for_gh_release "ersatztv" "ErsatzTV/ErsatzTV"; then - msg_info "Stopping ErsatzTV" + msg_info "Stopping Service" systemctl stop ersatzTV - msg_ok "Stopped ErsatzTV" + msg_ok "Stopped Service" fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz" - msg_info "Starting ErsatzTV" + msg_info "Starting Service" systemctl start ersatzTV +<<<<<<< HEAD + msg_ok "Started Service" + msg_ok "ErsatzTV Updated successfully" +======= msg_ok "Started ErsatzTV" msg_ok "Updated successfully!" +>>>>>>> main fi if check_for_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg"; then - msg_info "Stopping ErsatzTV" + msg_info "Stopping Service" systemctl stop ersatzTV - msg_ok "Stopped ErsatzTV" + msg_ok "Stopped Service" fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz" @@ -54,10 +59,15 @@ function update_script() { ln -sf /opt/ErsatzTV-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe msg_ok "ffmpeg links set" - msg_info "Starting ErsatzTV" + msg_info "Starting Service" systemctl start ersatzTV +<<<<<<< HEAD + msg_ok "Started Service" + msg_ok "ErsatzTV-ffmpeg Updated successfully" +======= msg_ok "Started ErsatzTV" msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/esphome.sh b/ct/esphome.sh index ed1c446244f..d56309f31ef 100644 --- a/ct/esphome.sh +++ b/ct/esphome.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-10}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -81,7 +81,11 @@ EOF msg_info "Starting Service" systemctl start esphomeDashboard msg_ok "Started Service" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main exit } diff --git a/ct/evcc.sh b/ct/evcc.sh index b0105407704..dfdd6d2cf09 100644 --- a/ct/evcc.sh +++ b/ct/evcc.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -26,6 +26,18 @@ function update_script() { if ! command -v evcc >/dev/null 2>&1; then msg_error "No ${APP} Installation Found!" exit 1 +<<<<<<< HEAD + fi + + if [[ -f /etc/apt/sources.list.d/evcc-stable.list ]]; then + setup_deb822_repo \ + "evcc-stable" \ + "https://dl.evcc.io/public/evcc/stable/gpg.EAD5D0E07B0EC0FD.key" \ + "https://dl.evcc.io/public/evcc/stable/deb/debian/" \ + "$(get_os_info codename)" \ + "main" +======= +>>>>>>> main fi if [[ -f /etc/apt/sources.list.d/evcc-stable.list ]]; then diff --git a/ct/excalidraw.sh b/ct/excalidraw.sh index 944f8d39d09..7db44e7ad91 100644 --- a/ct/excalidraw.sh +++ b/ct/excalidraw.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-3072}" var_disk="${var_disk:-10}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -31,20 +31,28 @@ function update_script() { if check_for_gh_release "excalidraw" "excalidraw/excalidraw"; then msg_info "Stopping Service" systemctl stop excalidraw +<<<<<<< HEAD + msg_ok "Stopped Service" +======= msg_info "Stopped Service" +>>>>>>> main rm -rf /opt/excalidraw fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw" - msg_info "Updating $APP" + msg_info "Updating Excalidraw" cd /opt/excalidraw $STD yarn - msg_ok "Updated $APP" + msg_ok "Updated Excalidraw" msg_info "Starting Service" systemctl start excalidraw msg_ok "Started Service" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/fhem.sh b/ct/fhem.sh index 560288d1f09..d86eedb0201 100644 --- a/ct/fhem.sh +++ b/ct/fhem.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -20,6 +20,13 @@ color catch_errors function update_script() { +<<<<<<< HEAD + header_info + check_container_storage + check_container_resources + if [[ ! -f /etc/systemd/system/fhem.service ]]; then + msg_error "No ${APP} Installation Found!" +======= header_info check_container_storage check_container_resources @@ -31,7 +38,14 @@ function update_script() { $STD apt-get update $STD apt-get -y upgrade msg_ok "Updated successfully!" +>>>>>>> main exit + fi + msg_info "Updating ${APP} LXC" + $STD apt update + $STD apt -y upgrade + msg_ok "Updated Successfully" + exit } start diff --git a/ct/fileflows.sh b/ct/fileflows.sh index 3417d5d657f..a04ce9c68b2 100644 --- a/ct/fileflows.sh +++ b/ct/fileflows.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -28,27 +28,27 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - if ! [[ $(dpkg -s jq 2>/dev/null) ]]; then - $STD apt-get update - $STD apt-get install -y jq - fi update_available=$(curl -fsSL -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable) if [[ "${update_available}" == "true" ]]; then msg_info "Stopping Service" systemctl stop fileflows +<<<<<<< HEAD + msg_ok "Stopped Service" +======= msg_info "Stopped Service" +>>>>>>> main msg_info "Creating Backup" backup_filename="/opt/${APP}_backup_$(date +%F).tar.gz" tar -czf "$backup_filename" -C /opt/fileflows Data msg_ok "Backup Created" - msg_info "Updating $APP to latest version" + msg_info "Updating FileFlows" temp_file=$(mktemp) curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file" $STD unzip -o -d /opt/fileflows "$temp_file" - msg_ok "Updated $APP to latest version" + msg_ok "Updated FileFlows" msg_info "Starting Service" systemctl start fileflows @@ -58,11 +58,14 @@ function update_script() { rm -rf "$temp_file" rm -rf "$backup_filename" msg_ok "Cleanup Completed" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main else msg_ok "No update required. ${APP} is already at latest version" fi - exit } diff --git a/ct/firefly.sh b/ct/firefly.sh index ab36400c58c..3c0e2a2be5c 100644 --- a/ct/firefly.sh +++ b/ct/firefly.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -41,7 +41,7 @@ function update_script() { fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip" setup_composer - msg_info "Updating ${APP}" + msg_info "Updating Firefly" rm -rf /opt/firefly/storage cp /opt/.env /opt/firefly/.env cp -r /opt/storage /opt/firefly/storage @@ -57,12 +57,16 @@ function update_script() { $STD php artisan view:clear $STD php artisan firefly-iii:upgrade-database $STD php artisan firefly-iii:laravel-passport-keys - msg_ok "Updated ${APP}" + msg_ok "Updated Firefly" msg_info "Starting Apache2" systemctl start apache2 msg_ok "Started Apache2" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/flaresolverr.sh b/ct/flaresolverr.sh index 3b4c0d0763f..5d66c2eb344 100644 --- a/ct/flaresolverr.sh +++ b/ct/flaresolverr.sh @@ -28,6 +28,10 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi +<<<<<<< HEAD + if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr"; then + msg_info "Stopping Service" +======= if [[ $(grep -E '^VERSION_ID=' /etc/os-release) == *"12"* ]]; then msg_error "Wrong Debian version detected!" msg_error "You must upgrade your LXC to Debian Trixie before updating." @@ -35,16 +39,26 @@ function update_script() { fi if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr"; then msg_info "Stopping service" +>>>>>>> main systemctl stop flaresolverr - msg_ok "Stopped service" + msg_ok "Stopped Service" +<<<<<<< HEAD + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz" +======= rm -rf /opt/flaresolverr fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz" +>>>>>>> main - msg_info "Starting service" + msg_info "Starting Service" systemctl start flaresolverr +<<<<<<< HEAD + msg_ok "Started Service" + msg_ok "Updated successfully" +======= msg_ok "Started service" msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/flowiseai.sh b/ct/flowiseai.sh index b073b6b06bf..e792438138d 100644 --- a/ct/flowiseai.sh +++ b/ct/flowiseai.sh @@ -11,7 +11,7 @@ var_disk="${var_disk:-10}" var_cpu="${var_cpu:-4}" var_ram="${var_ram:-4096}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -27,12 +27,20 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi +<<<<<<< HEAD + msg_info "Updating FlowiseAI" + systemctl stop flowise + npm install -g flowise --upgrade + systemctl start flowise + msg_ok "Updated FlowiseAI" +======= msg_info "Updating ${APP}" systemctl stop flowise npm install -g flowise --upgrade systemctl start flowise msg_ok "Updated ${APP}" msg_ok "Updated successfully!" +>>>>>>> main exit } diff --git a/ct/fluid-calendar.sh b/ct/fluid-calendar.sh index d91e0e78b7a..65d6d0ae5e2 100644 --- a/ct/fluid-calendar.sh +++ b/ct/fluid-calendar.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-3}" var_ram="${var_ram:-4096}" var_disk="${var_disk:-7}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -31,13 +31,16 @@ function update_script() { if check_for_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"; then msg_info "Stopping Service" systemctl stop fluid-calendar +<<<<<<< HEAD + msg_ok "Stopped Service" +======= msg_info "Stopped Service" +>>>>>>> main cp /opt/fluid-calendar/.env /opt/fluid.env - rm -rf /opt/fluid-calendar - fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar" - msg_info "Updating $APP" + msg_info "Updating Fluid Calendar" mv /opt/fluid.env /opt/fluid-calendar/.env cd /opt/fluid-calendar export NEXT_TELEMETRY_DISABLED=1 @@ -45,12 +48,16 @@ function update_script() { $STD npm run prisma:generate $STD npx prisma migrate deploy $STD npm run build:os - msg_ok "Updated $APP" + msg_ok "Updated Fluid Calendar" msg_info "Starting Service" systemctl start fluid-calendar msg_ok "Started Service" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/forgejo.sh b/ct/forgejo.sh index 305420e512f..6257d10395d 100644 --- a/ct/forgejo.sh +++ b/ct/forgejo.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-10}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -31,23 +31,24 @@ function update_script() { systemctl stop forgejo msg_ok "Stopped Service" - msg_info "Updating ${APP}" + msg_info "Updating Forgejo" RELEASE=$(curl -fsSL https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//') curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" -o "forgejo-$RELEASE-linux-amd64" rm -rf /opt/forgejo/* cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64 chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64 ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo - msg_ok "Updated ${APP}" - - msg_info "Cleaning" rm -rf forgejo-$RELEASE-linux-amd64 - msg_ok "Cleaned" + msg_ok "Updated Forgejo" msg_info "Starting Service" systemctl start forgejo msg_ok "Started Service" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main exit } diff --git a/ct/freepbx.sh b/ct/freepbx.sh index be622f9e31a..ab4cbd6ec3d 100644 --- a/ct/freepbx.sh +++ b/ct/freepbx.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-10}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -20,16 +20,16 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources + header_info + check_container_storage + check_container_resources - if [[ ! -f /lib/systemd/system/freepbx.service ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_error "Currently we don't provide an update function for this ${APP}." + if [[ ! -f /lib/systemd/system/freepbx.service ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + msg_error "Currently we don't provide an update function for this ${APP}." + exit } start diff --git a/ct/freshrss.sh b/ct/freshrss.sh index 0eb31e66f0c..2aab9e9737a 100644 --- a/ct/freshrss.sh +++ b/ct/freshrss.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -33,7 +33,10 @@ function update_script() { chmod +x /opt/freshrss/cli/sensitive-log.sh systemctl restart apache2 msg_ok "Fixed wrong permissions" +<<<<<<< HEAD +======= exit +>>>>>>> main else msg_error "FreshRSS should be updated via the user interface." exit diff --git a/ct/fumadocs.sh b/ct/fumadocs.sh index 688624a5efe..8157cc6c740 100644 --- a/ct/fumadocs.sh +++ b/ct/fumadocs.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-5}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -44,7 +44,7 @@ function update_script() { exit fi if ! command -v git &>/dev/null; then - $STD apt-get install -y git + $STD apt install -y git fi msg_info "Stopping service $SERVICE_NAME" @@ -60,7 +60,11 @@ function update_script() { msg_info "Starting service $SERVICE_NAME" systemctl start "$SERVICE_NAME" msg_ok "Started service $SERVICE_NAME" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main exit } diff --git a/ct/gatus.sh b/ct/gatus.sh index c253f5f3439..4f35f43c6f3 100644 --- a/ct/gatus.sh +++ b/ct/gatus.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -39,8 +39,7 @@ function update_script() { fi mv /opt/gatus/config/config.yaml /opt - rm -rf /opt/gatus - fetch_and_deploy_gh_release "gatus" "TwiN/gatus" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gatus" "TwiN/gatus" msg_info "Updating Gatus" cd /opt/gatus @@ -53,7 +52,11 @@ function update_script() { msg_info "Starting Service" systemctl start gatus msg_ok "Started Service" +<<<<<<< HEAD + msg_ok "Updated Successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/ghostfolio.sh b/ct/ghostfolio.sh index 56a8445e031..aa526bde8c2 100644 --- a/ct/ghostfolio.sh +++ b/ct/ghostfolio.sh @@ -56,11 +56,15 @@ function update_script() { msg_info "Starting Service" systemctl start ghostfolio msg_ok "Started Service" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_info "Cleaning Up" $STD npm cache clean --force msg_ok "Cleanup Completed" msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/gitea-mirror.sh b/ct/gitea-mirror.sh index f53406eda8b..d048a028dcb 100644 --- a/ct/gitea-mirror.sh +++ b/ct/gitea-mirror.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-6}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -96,17 +96,15 @@ EOF ln -sf /opt/bun/bin/bun /usr/local/bin/bunx msg_ok "Installed Bun" - rm -rf /opt/gitea-mirror - fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror" - msg_info "Updating and rebuilding ${APP}" + msg_info "Updating Gitea-Mirror" cd /opt/gitea-mirror $STD bun run setup $STD bun run build APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4) - sudo sed -i.bak "s|^npm_package_version=.*|npm_package_version=${APP_VERSION}|" /opt/gitea-mirror.env - msg_ok "Updated and rebuilt ${APP}" + msg_ok "Updated Gitea-Mirror" msg_info "Restoring Data" cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data @@ -114,8 +112,13 @@ EOF msg_info "Starting Service" systemctl start gitea-mirror +<<<<<<< HEAD + msg_ok "Started Service" + msg_ok "Updated successfully" +======= msg_ok "Service Started" msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/gitea.sh b/ct/gitea.sh index 695b15b61fa..d6eaf0bee4c 100644 --- a/ct/gitea.sh +++ b/ct/gitea.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -29,18 +29,23 @@ function update_script() { exit fi if check_for_gh_release "gitea" "go-gitea/gitea"; then - msg_info "Stopping service" + msg_info "Stopping Service" systemctl stop gitea - msg_ok "Service stopped" + msg_ok "Stopped Service" rm -rf /usr/local/bin/gitea fetch_and_deploy_gh_release "gitea" "go-gitea/gitea" "singlefile" "latest" "/usr/local/bin" "gitea-*-linux-amd64" chmod +x /usr/local/bin/gitea - msg_info "Starting service" + msg_info "Starting Service" systemctl start gitea +<<<<<<< HEAD + msg_ok "Started Service" + msg_ok "Updated successfully" +======= msg_ok "Started service" msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/glance.sh b/ct/glance.sh index 340e7dfd792..0927cdf4535 100644 --- a/ct/glance.sh +++ b/ct/glance.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -39,7 +39,11 @@ function update_script() { msg_info "Starting Service" systemctl start glance msg_ok "Started Service" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/globaleaks.sh b/ct/globaleaks.sh index c8602b9fbc4..1c9c66f78d7 100644 --- a/ct/globaleaks.sh +++ b/ct/globaleaks.sh @@ -12,6 +12,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_os="${var_os:-debian}" var_version="${var_version:-13}" +var_unprivileged="${var_unprivileged:-1}" header_info "$APP" variables @@ -27,11 +28,17 @@ function update_script() { exit fi - msg_info "Updating $APP LXC" + msg_info "Updating Globaleaks" $STD apt update $STD apt -y upgrade +<<<<<<< HEAD + msg_ok "Updated Globaleaks" + msg_ok "Updated successfully" + exit +======= msg_ok "Updated $APP LXC" msg_ok "Updated successfully!" +>>>>>>> main } start diff --git a/ct/go2rtc.sh b/ct/go2rtc.sh index 73b14f7fbd4..e8cf7c3d2fe 100644 --- a/ct/go2rtc.sh +++ b/ct/go2rtc.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -29,16 +29,21 @@ function update_script() { fi if check_for_gh_release "go2rtc" "AlexxIT/go2rtc"; then - msg_info "Stopping service" + msg_info "Stopping Service" systemctl stop go2rtc - msg_ok "Stopped service" + msg_ok "Stopped Service" fetch_and_deploy_gh_release "go2rtc" "AlexxIT/go2rtc" "singlefile" "latest" "/opt/go2rtc" "go2rtc_linux_amd64" - msg_info "Starting service" + msg_info "Starting Service" systemctl start go2rtc +<<<<<<< HEAD + msg_ok "Started Service" + msg_ok "Updated successfully" +======= msg_ok "Started service" msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/goaway.sh b/ct/goaway.sh index f650b63ea13..4c5934fcc4b 100644 --- a/ct/goaway.sh +++ b/ct/goaway.sh @@ -38,8 +38,12 @@ function update_script() { msg_info "Starting Services" systemctl start goaway msg_ok "Started Services" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/gokapi.sh b/ct/gokapi.sh index 576688a3d66..4dc7c4a6f0e 100644 --- a/ct/gokapi.sh +++ b/ct/gokapi.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -37,7 +37,11 @@ function update_script() { msg_info "Starting Service" systemctl start gokapi msg_ok "Started Service" +<<<<<<< HEAD + msg_ok "Updated successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/gotify.sh b/ct/gotify.sh index 7ecf4fb1261..faf7a0942ed 100644 --- a/ct/gotify.sh +++ b/ct/gotify.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/grafana.sh b/ct/grafana.sh index dc1eb14dbf0..732563c15ed 100644 --- a/ct/grafana.sh +++ b/ct/grafana.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -20,6 +20,22 @@ color catch_errors function update_script() { +<<<<<<< HEAD + header_info + check_container_storage + check_container_resources + if [[ ! -f /etc/apt/sources.list.d/grafana.list ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + msg_info "Updating Grafana" + $STD apt update + $STD apt -y upgrade + msg_ok "Updated Grafana" + msg_ok "Updated successfully" + exit +======= header_info check_container_storage check_container_resources @@ -33,6 +49,7 @@ function update_script() { $STD apt-get -y upgrade msg_ok "Updated successfully!" exit +>>>>>>> main } start diff --git a/ct/graylog.sh b/ct/graylog.sh index c1a750dd938..99404505fcb 100644 --- a/ct/graylog.sh +++ b/ct/graylog.sh @@ -28,6 +28,21 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi +<<<<<<< HEAD + msg_info "Stopping Services" + systemctl stop graylog-datanode graylog-server + msg_ok "Stopped Services" + + msg_info "Updating Graylog" + $STD apt update + $STD apt upgrade -y + msg_ok "Updated Graylog" + + msg_info "Starting Services" + systemctl start graylog-datanode graylog-server + msg_ok "Started Services" + msg_ok "Updated successfully" +======= msg_info "Stopping Service" systemctl stop graylog-datanode @@ -60,6 +75,7 @@ function update_script() { systemctl start graylog-server msg_ok "Started Service" msg_ok "Updated successfully!" +>>>>>>> main exit } diff --git a/ct/grist.sh b/ct/grist.sh index 706ae7953ff..4835d295082 100644 --- a/ct/grist.sh +++ b/ct/grist.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-3072}" var_disk="${var_disk:-6}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -41,8 +41,13 @@ function update_script() { fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball" +<<<<<<< HEAD + msg_info "Updating Grist" + mkdir -p grist/docs +======= msg_info "Updating ${APP}" mkdir -p /opt/grist/docs +>>>>>>> main cp -n /opt/grist_bak/.env /opt/grist/.env cp -r /opt/grist_bak/docs/* /opt/grist/docs/ cp /opt/grist_bak/grist-sessions.db /opt/grist/grist-sessions.db @@ -51,13 +56,17 @@ function update_script() { $STD yarn install $STD yarn run build:prod $STD yarn run install:python - msg_ok "Updated ${APP}" + msg_ok "Updated Grist" msg_info "Starting Service" systemctl start grist msg_ok "Started Service" +<<<<<<< HEAD + msg_ok "Updated Successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/grocy.sh b/ct/grocy.sh index 19294229d82..ac3778ef9b6 100644 --- a/ct/grocy.sh +++ b/ct/grocy.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -32,9 +32,16 @@ function update_script() { PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php fi if check_for_gh_release "grocy" "grocy/grocy"; then +<<<<<<< HEAD + msg_info "Updating Grocy" + $STD bash /var/www/html/update.sh + msg_ok "Updated Grocy" + msg_ok "Updated Successfully" +======= msg_info "Updating ${APP}" bash /var/www/html/update.sh msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/ct/guardian.sh b/ct/guardian.sh index 8f3cd1ee4ed..f08ab894aa9 100755 --- a/ct/guardian.sh +++ b/ct/guardian.sh @@ -55,7 +55,10 @@ function update_script() { cd /opt/guardian/backend $STD npm ci $STD npm run build +<<<<<<< HEAD +======= +>>>>>>> main cd /opt/guardian/frontend $STD npm ci export DEPLOYMENT_MODE=standalone @@ -65,7 +68,11 @@ function update_script() { msg_info "Starting Services" systemctl start guardian-backend guardian-frontend msg_ok "Started Services" +<<<<<<< HEAD + msg_ok "Updated Successfully" +======= msg_ok "Updated successfully!" +>>>>>>> main fi exit } diff --git a/install/dispatcharr-install.sh b/install/dispatcharr-install.sh index 69b3682ed35..0caa386559b 100644 --- a/install/dispatcharr-install.sh +++ b/install/dispatcharr-install.sh @@ -28,24 +28,7 @@ msg_ok "Installed Dependencies" setup_uv NODE_VERSION="24" setup_nodejs PG_VERSION="16" setup_postgresql - -msg_info "Creating PostgreSQL Database" -DB_NAME=dispatcharr_db -DB_USER=dispatcharr_usr -DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" -$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';" -$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;" -$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';" -$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';" -$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';" -{ - echo "Dispatcharr Credentials" - echo "Database Name: $DB_NAME" - echo "Database User: $DB_USER" - echo "Database Password: $DB_PASS" - echo "" -} >>~/dispatcharr.creds -msg_ok "Created PostgreSQL Database" +PG_DB_NAME="dispatcharr_db" PG_DB_USER="dispatcharr_usr" setup_postgresql_db fetch_and_deploy_gh_release "dispatcharr" "Dispatcharr/Dispatcharr" @@ -62,18 +45,18 @@ install -d -m 755 \ /data/uploads/{m3us,epgs} \ /data/{m3us,epgs} chown -R root:root /data -export DATABASE_URL="postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}" -export POSTGRES_DB=$DB_NAME -export POSTGRES_USER=$DB_USER -export POSTGRES_PASSWORD=$DB_PASS +export DATABASE_URL="postgresql://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAME}" +export POSTGRES_DB=$PG_DB_NAME +export POSTGRES_USER=$PG_DB_USER +export POSTGRES_PASSWORD=$PG_DB_PASS export POSTGRES_HOST=localhost $STD uv run python manage.py migrate --noinput $STD uv run python manage.py collectstatic --noinput cat </opt/dispatcharr/.env -DATABASE_URL=postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME} -POSTGRES_DB=$DB_NAME -POSTGRES_USER=$DB_USER -POSTGRES_PASSWORD=$DB_PASS +DATABASE_URL=postgresql://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAME} +POSTGRES_DB=$PG_DB_NAME +POSTGRES_USER=$PG_DB_USER +POSTGRES_PASSWORD=$PG_DB_PASS POSTGRES_HOST=localhost CELERY_BROKER_URL=redis://localhost:6379/0 EOF @@ -260,9 +243,4 @@ msg_ok "Created Services" motd_ssh customize - -msg_info "Cleaning up" -$STD apt -y autoremove -$STD apt -y autoclean -$STD apt -y clean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/docmost-install.sh b/install/docmost-install.sh index 098d0837c0c..453105cbcd7 100644 --- a/install/docmost-install.sh +++ b/install/docmost-install.sh @@ -14,40 +14,21 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt install -y \ - redis \ - jq \ - make +$STD apt install -y redis make msg_ok "Installed Dependencies" HOST_IP=$(hostname -I | awk '{print $1}') NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs PG_VERSION="16" setup_postgresql +PG_DB_NAME="docmost_db" PG_DB_USER="docmost_user" setup_postgresql_db fetch_and_deploy_gh_release "docmost" "docmost/docmost" -msg_info "Setting up PostgreSQL" -DB_NAME="docmost_db" -DB_USER="docmost_user" -DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" -$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';" -$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;" -$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';" -$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';" -$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'" -{ - echo "Docmost-Credentials" - echo "Database Name: $DB_NAME" - echo "Database User: $DB_USER" - echo "Database Password: $DB_PASS" -} >>~/docmost.creds -msg_ok "Set up PostgreSQL" - msg_info "Configuring Docmost (Patience)" cd /opt/docmost mv .env.example .env mkdir data sed -i -e "s|APP_SECRET=.*|APP_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)|" \ - -e "s|DATABASE_URL=.*|DATABASE_URL=postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME|" \ + -e "s|DATABASE_URL=.*|DATABASE_URL=postgres://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME|" \ -e "s|FILE_UPLOAD_SIZE_LIMIT=.*|FILE_UPLOAD_SIZE_LIMIT=50mb|" \ -e "s|DRAWIO_URL=.*|DRAWIO_URL=https://embed.diagrams.net|" \ -e "s|DISABLE_TELEMETRY=.*|DISABLE_TELEMETRY=true|" \ @@ -78,9 +59,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt -y autoremove -$STD apt -y autoclean -$STD apt -y clean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/donetick-install.sh b/install/donetick-install.sh index 5bc12e07f51..1b6b40652c6 100644 --- a/install/donetick-install.sh +++ b/install/donetick-install.sh @@ -45,10 +45,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt -y autoremove -$STD apt -y autoclean -$STD apt -y clean -msg_ok "Cleaned" - +cleanup_lxc diff --git a/install/dotnetaspwebapi-install.sh b/install/dotnetaspwebapi-install.sh index 191395b0376..a128e5992e3 100644 --- a/install/dotnetaspwebapi-install.sh +++ b/install/dotnetaspwebapi-install.sh @@ -14,13 +14,12 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get update -$STD apt-get install -y \ +$STD apt install -y \ ssh \ software-properties-common $STD add-apt-repository -y ppa:dotnet/backports -$STD apt-get install -y \ +$STD apt install -y \ dotnet-sdk-9.0 \ vsftpd \ nginx @@ -105,8 +104,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/duplicati-install.sh b/install/duplicati-install.sh index 4687d6e25a2..5f14bd0a618 100644 --- a/install/duplicati-install.sh +++ b/install/duplicati-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ +$STD apt install -y \ libice6 \ libsm6 \ libfontconfig1 @@ -49,8 +49,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/emby-install.sh b/install/emby-install.sh index 99f87b532e4..9e84399e490 100644 --- a/install/emby-install.sh +++ b/install/emby-install.sh @@ -13,16 +13,7 @@ setting_up_container network_check update_os -msg_info "Setting Up Hardware Acceleration" -$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools} -if [[ "$CTTYPE" == "0" ]]; then - chgrp video /dev/dri - chmod 755 /dev/dri - chmod 660 /dev/dri/* - $STD adduser $(id -u -n) video - $STD adduser $(id -u -n) render -fi -msg_ok "Set Up Hardware Acceleration" +setup_hwaccel fetch_and_deploy_gh_release "emby" "MediaBrowser/Emby.Releases" "binary" @@ -36,8 +27,4 @@ msg_ok "Configured Emby" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/emqx-install.sh b/install/emqx-install.sh index 3592add7d01..7ca0d5e14e6 100644 --- a/install/emqx-install.sh +++ b/install/emqx-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing dependencies" -$STD apt-get install -y ca-certificates +$STD apt install -y ca-certificates msg_ok "Installed dependencies" msg_info "Fetching latest EMQX Enterprise version" @@ -33,19 +33,12 @@ $STD curl -fsSL -o "$DEB_FILE" "$DOWNLOAD_URL" msg_ok "Downloaded EMQX" msg_info "Installing EMQX" -$STD apt-get install -y "$DEB_FILE" +$STD apt install -y "$DEB_FILE" echo "$LATEST_VERSION" >~/.emqx -msg_ok "Installed EMQX" - -msg_info "Starting EMQX service" +rm -f "$DEB_FILE" $STD systemctl enable -q --now emqx -msg_ok "Enabled EMQX service" +msg_ok "Installed EMQX" motd_ssh customize - -msg_info "Cleaning up" -rm -f "$DEB_FILE" -$STD apt-get autoremove -$STD apt-get autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/ersatztv-install.sh b/install/ersatztv-install.sh index 4c930bb9526..e0208793f1e 100644 --- a/install/ersatztv-install.sh +++ b/install/ersatztv-install.sh @@ -13,38 +13,7 @@ setting_up_container network_check update_os -msg_info "Setting Up Hardware Acceleration" -$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools} -if [[ "$CTTYPE" == "0" ]]; then - chgrp video /dev/dri - chmod 755 /dev/dri - chmod 660 /dev/dri/* - $STD adduser $(id -u -n) video - $STD adduser $(id -u -n) render -fi -msg_ok "Set Up Hardware Acceleration" - -read -r -p "${TAB3}Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? " prompt -if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then - msg_info "Installing Intel Hardware Acceleration (non-free)" - cat </etc/apt/sources.list.d/non-free.list - -deb http://deb.debian.org/debian bookworm non-free non-free-firmware -deb-src http://deb.debian.org/debian bookworm non-free non-free-firmware - -deb http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware -deb-src http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware - -deb http://deb.debian.org/debian bookworm-updates non-free non-free-firmware -deb-src http://deb.debian.org/debian bookworm-updates non-free non-free-firmware -EOF - $STD apt-get update - $STD apt-get -y install {intel-media-va-driver-non-free,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools} -else - msg_info "Installing Intel Hardware Acceleration" - $STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools} -fi -msg_ok "Installed and Set Up Intel Hardware Acceleration" +setup_hwaccel fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz" fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz" @@ -78,8 +47,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/esphome-install.sh b/install/esphome-install.sh index b3cf777be75..d66b6994b45 100644 --- a/install/esphome-install.sh +++ b/install/esphome-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y git +$STD apt install -y git msg_ok "Installed Dependencies" PYTHON_VERSION="3.12" setup_uv @@ -55,8 +55,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/excalidraw-install.sh b/install/excalidraw-install.sh index 39e30bd1b57..38ac0005269 100644 --- a/install/excalidraw-install.sh +++ b/install/excalidraw-install.sh @@ -14,10 +14,10 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y xdg-utils +$STD apt install -y xdg-utils msg_ok "Installed Dependencies" -NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs +NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw" msg_info "Configuring Excalidraw" @@ -45,8 +45,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/fhem-install.sh b/install/fhem-install.sh index 90029e2c15c..2f3569cf962 100644 --- a/install/fhem-install.sh +++ b/install/fhem-install.sh @@ -14,23 +14,20 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y avahi-daemon +$STD apt install -y avahi-daemon msg_ok "Installed Dependencies" -msg_info "Setting up Fhem Repository" -curl -fsSL https://debian.fhem.de/archive.key | gpg --dearmor >/etc/apt/trusted.gpg.d/debianfhemde-archive-keyring.gpg -echo 'deb [signed-by=/etc/apt/trusted.gpg.d/debianfhemde-archive-keyring.gpg] https://debian.fhem.de/nightly/ /' >/etc/apt/sources.list.d/fhem.list -msg_ok "Set up Fhem Repository" +setup_deb822_repo \ + "debianfhemde" \ + "https://debian.fhem.de/archive.key" \ + "https://debian.fhem.de/nightly/" \ + "/" \ + "" msg_info "Installing Fhem" -$STD apt-get update -$STD apt-get install -y fhem -msg_info "Installed Fhem" +$STD apt install -y fhem +msg_ok "Installed Fhem" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/fileflows-install.sh b/install/fileflows-install.sh index 459f5dc8db7..8155b89c2e2 100644 --- a/install/fileflows-install.sh +++ b/install/fileflows-install.sh @@ -15,33 +15,12 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ +$STD apt install -y \ ffmpeg \ - jq \ imagemagick msg_ok "Installed Dependencies" -read -r -p "${TAB3}Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? " prompt -if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then - msg_info "Installing Intel Hardware Acceleration (non-free)" - cat </etc/apt/sources.list.d/non-free.list - -deb http://deb.debian.org/debian bookworm non-free non-free-firmware -deb-src http://deb.debian.org/debian bookworm non-free non-free-firmware - -deb http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware -deb-src http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware - -deb http://deb.debian.org/debian bookworm-updates non-free non-free-firmware -deb-src http://deb.debian.org/debian bookworm-updates non-free non-free-firmware -EOF - $STD apt-get update - $STD apt-get -y install {intel-media-va-driver-non-free,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools} -else - msg_info "Installing Intel Hardware Acceleration" - $STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools} -fi -msg_ok "Installed and Set Up Intel Hardware Acceleration" +setup_hwaccel msg_info "Installing ASP.NET Core Runtime" curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb @@ -51,7 +30,7 @@ $STD apt-get update $STD apt-get install -y aspnetcore-runtime-8.0 msg_ok "Installed ASP.NET Core Runtime" -msg_info "Setup ${APPLICATION}" +msg_info "Setup FileFlows" $STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg $STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe temp_file=$(mktemp) @@ -59,13 +38,9 @@ curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file" $STD unzip -d /opt/fileflows "$temp_file" (cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true) systemctl enable -q --now fileflows -msg_ok "Setup ${APPLICATION}" +rm -f "$temp_file" +msg_ok "Setup FileFlows" motd_ssh customize - -msg_info "Cleaning up" -rm -f "$temp_file" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/firefly-install.sh b/install/firefly-install.sh index f0c714e7338..47ad75e4c9b 100644 --- a/install/firefly-install.sh +++ b/install/firefly-install.sh @@ -16,32 +16,18 @@ update_os PHP_VERSION="8.4" PHP_APACHE="YES" PHP_MODULE="mysql" setup_php setup_composer setup_mariadb -LOCAL_IP=$(hostname -I | awk '{print $1}') - -msg_info "Setting up database" -DB_NAME=firefly -DB_USER=firefly -DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" -$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" -mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" -{ - echo "Firefly-Credentials" - echo "Firefly Database User: $DB_USER" - echo "Firefly Database Password: $DB_PASS" - echo "Firefly Database Name: $DB_NAME" -} >>~/firefly.creds -msg_ok "Set up database" +MARIADB_DB_NAME="firefly" MARIADB_DB_USER="firefly" setup_mariadb_db fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip" msg_info "Configuring Firefly III (Patience)" +LOCAL_IP=$(hostname -I | awk '{print $1}') chown -R www-data:www-data /opt/firefly chmod -R 775 /opt/firefly/storage cd /opt/firefly cp .env.example .env sed -i "s/DB_HOST=.*/DB_HOST=localhost/" /opt/firefly/.env -sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=$DB_PASS/" /opt/firefly/.env +sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=$MARIADB_DB_PASS/" /opt/firefly/.env $STD composer install --no-dev --no-plugins --no-interaction $STD php artisan firefly:upgrade-database $STD php artisan firefly:correct-database @@ -55,6 +41,7 @@ tar -xzf "DataImporter-v${IMPORTER_RELEASE}.tar.gz" -C /opt/firefly/dataimporter cp /opt/firefly/dataimporter/.env.example /opt/firefly/dataimporter/.env sed -i "s#FIREFLY_III_URL=#FIREFLY_III_URL=http://${LOCAL_IP}#g" /opt/firefly/dataimporter/.env chown -R www-data:www-data /opt/firefly +rm -rf "/opt/DataImporter-v${IMPORTER_RELEASE}.tar.gz" msg_ok "Configured Firefly III" msg_info "Creating Service" @@ -95,9 +82,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -rm -rf "/opt/DataImporter-v${IMPORTER_RELEASE}.tar.gz" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/flaresolverr-install.sh b/install/flaresolverr-install.sh index ff22bcb8979..47c22ded3b9 100644 --- a/install/flaresolverr-install.sh +++ b/install/flaresolverr-install.sh @@ -15,9 +15,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ - apt-transport-https \ - xvfb +$STD apt install -y apt-transport-https xvfb msg_ok "Installed Dependencies" msg_info "Installing Chrome" @@ -28,7 +26,6 @@ setup_deb822_repo \ "stable" $STD apt update $STD apt install -y google-chrome-stable -# remove google-chrome.list added by google-chrome-stable rm /etc/apt/sources.list.d/google-chrome.list msg_ok "Installed Chrome" @@ -57,8 +54,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/flowiseai-install.sh b/install/flowiseai-install.sh index 585157d95a5..6849dfebfb3 100644 --- a/install/flowiseai-install.sh +++ b/install/flowiseai-install.sh @@ -44,8 +44,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/fluid-calendar-install.sh b/install/fluid-calendar-install.sh index 687759acbd2..efdbc3e16d4 100644 --- a/install/fluid-calendar-install.sh +++ b/install/fluid-calendar-install.sh @@ -14,35 +14,20 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y zip +$STD apt install -y zip msg_ok "Installed Dependencies" PG_VERSION="17" setup_postgresql NODE_VERSION="20" setup_nodejs - -msg_info "Setting up Postgresql Database" -DB_NAME="fluiddb" -DB_USER="fluiduser" -DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)" -NEXTAUTH_SECRET="$(openssl rand -base64 44 | tr -dc 'a-zA-Z0-9' | cut -c1-32)" -$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH ENCRYPTED PASSWORD '$DB_PASS';" -$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;" -$STD sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME to $DB_USER;" -$STD sudo -u postgres psql -c "ALTER USER $DB_USER WITH SUPERUSER;" -{ - echo "${APPLICATION} Credentials" - echo "Database User: $DB_USER" - echo "Database Password: $DB_PASS" - echo "Database Name: $DB_NAME" - echo "NextAuth Secret: $NEXTAUTH_SECRET" -} >>~/$APPLICATION.creds -msg_ok "Set up Postgresql Database" +PG_DB_NAME="fluiddb" PG_DB_USER="fluiduser" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar" -msg_info "Configuring ${APPLICATION}" +msg_info "Setup Fluid Calendar" +NEXTAUTH_SECRET="$(openssl rand -base64 44 | tr -dc 'a-zA-Z0-9' | cut -c1-32)" +echo "NextAuth Secret: $NEXTAUTH_SECRET" >>~/$APPLICATION.creds cat </opt/fluid-calendar/.env -DATABASE_URL="postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}" +DATABASE_URL="postgresql://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAME}" # Change the URL below to your external URL NEXTAUTH_URL="http://localhost:3000" @@ -61,7 +46,7 @@ $STD npm install --legacy-peer-deps $STD npm run prisma:generate $STD npx prisma migrate deploy $STD npm run build:os -msg_ok "Configuring ${APPLICATION}" +msg_ok "Setup Fluid Calendar" msg_info "Creating Service" cat </etc/systemd/system/fluid-calendar.service @@ -82,8 +67,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/forgejo-install.sh b/install/forgejo-install.sh index 595790393fd..78abfe17482 100644 --- a/install/forgejo-install.sh +++ b/install/forgejo-install.sh @@ -14,8 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y git -$STD apt-get install -y git-lfs +$STD apt install -y git git-lfs msg_ok "Installed Dependencies" msg_info "Installing Forgejo" @@ -59,8 +58,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/freepbx-install.sh b/install/freepbx-install.sh index 887527614a7..28510a8d481 100644 --- a/install/freepbx-install.sh +++ b/install/freepbx-install.sh @@ -14,15 +14,11 @@ network_check update_os msg_info "Installing FreePBX (Patience)" -curl -fsSL https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -o /opt/sng_freepbx_debian_install.sh +curl -fsSL https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -o /opt/sng_freepbx_debian_install.sh $STD bash /opt/sng_freepbx_debian_install.sh +rm /opt/sng_freepbx_debian_install.sh msg_ok "Installed FreePBX" motd_ssh customize - -msg_info "Cleaning up" -rm /opt/sng_freepbx_debian_install.sh -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/freshrss-install.sh b/install/freshrss-install.sh index 3b958c04c7c..bad5bc0dca4 100644 --- a/install/freshrss-install.sh +++ b/install/freshrss-install.sh @@ -13,22 +13,9 @@ setting_up_container network_check update_os -PHP_VERSION="8.2" PHP_MODULE="curl,xml,mbstring,intl,zip,pgsql,gmp" PHP_APACHE="YES" setup_php +PHP_VERSION="8.3" PHP_MODULE="curl,xml,mbstring,intl,zip,pgsql,gmp" PHP_APACHE="YES" setup_php PG_VERSION="16" setup_postgresql - -msg_info "Setting up PostgreSQL" -DB_NAME=freshrss -DB_USER=freshrss -DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13) -$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';" -$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMPLATE template0;" -{ - echo "FreshRSS Credentials" - echo "FreshRSS Database User: $DB_USER" - echo "FreshRSS Database Password: $DB_PASS" - echo "FreshRSS Database Name: $DB_NAME" -} >>~/freshrss.creds -msg_ok "Set up PostgreSQL" +PG_DB_NAME="freshrss" PG_DB_USER="freshrss" setup_postgresql_db fetch_and_deploy_gh_release "freshrss" "FreshRSS/FreshRSS" diff --git a/install/fumadocs-install.sh b/install/fumadocs-install.sh index c3bc2034a3a..3a76a94f8b8 100644 --- a/install/fumadocs-install.sh +++ b/install/fumadocs-install.sh @@ -13,12 +13,12 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ +$STD apt install -y \ ca-certificates \ git msg_ok "Installed Dependencies" -NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs +NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs msg_info "Installing Fumadocs" mkdir -p /opt/fumadocs @@ -47,8 +47,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/garage-install.sh b/install/garage-install.sh index 4c51e7cdb1a..8aefdb8acc7 100644 --- a/install/garage-install.sh +++ b/install/garage-install.sh @@ -23,10 +23,10 @@ RPC_SECRET=$(openssl rand -hex 32) ADMIN_TOKEN=$(openssl rand -base64 32) METRICS_TOKEN=$(openssl rand -base64 32) { - echo "Garage Tokens and Secrets" - echo "RPC Secret: $RPC_SECRET" - echo "Admin Token: $ADMIN_TOKEN" - echo "Metrics Token: $METRICS_TOKEN" + echo "Garage Tokens and Secrets" + echo "RPC Secret: $RPC_SECRET" + echo "Admin Token: $ADMIN_TOKEN" + echo "Metrics Token: $METRICS_TOKEN" } >>~/garage.creds echo $GITEA_RELEASE >>~/.garage cat </etc/garage.toml @@ -59,7 +59,6 @@ metrics_token = "${METRICS_TOKEN}" EOF msg_ok "Set up Garage" - msg_info "Creating service" cat <<'EOF' >/etc/systemd/system/garage.service [Unit] @@ -87,9 +86,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt -y autoremove -$STD apt -y autoclean -$STD apt -y clean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/gatus-install.sh b/install/gatus-install.sh index ea3e75d45fd..3b3caf1ddc5 100644 --- a/install/gatus-install.sh +++ b/install/gatus-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ +$STD apt install -y \ ca-certificates \ libcap2-bin msg_ok "Installed Dependencies" @@ -51,8 +51,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/ghostfolio-install.sh b/install/ghostfolio-install.sh index 941571c4012..89bd8dcc230 100644 --- a/install/ghostfolio-install.sh +++ b/install/ghostfolio-install.sh @@ -15,49 +15,32 @@ update_os msg_info "Installing Dependencies" $STD apt install -y \ - build-essential \ - openssl \ - ca-certificates \ - redis-server + build-essential \ + openssl \ + ca-certificates \ + redis-server msg_ok "Installed Dependencies" PG_VERSION="17" setup_postgresql NODE_VERSION="24" setup_nodejs - -msg_info "Setting up Database" -DB_NAME=ghostfolio -DB_USER=ghostfolio -DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -REDIS_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -ACCESS_TOKEN_SALT=$(openssl rand -base64 32) -JWT_SECRET_KEY=$(openssl rand -base64 32) -$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME;" -$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH ENCRYPTED PASSWORD '$DB_PASS';" -$STD sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;" -$STD sudo -u postgres psql -c "ALTER USER $DB_USER CREATEDB;" -$STD sudo -u postgres psql -d $DB_NAME -c "GRANT ALL ON SCHEMA public TO $DB_USER;" -$STD sudo -u postgres psql -d $DB_NAME -c "GRANT CREATE ON SCHEMA public TO $DB_USER;" -$STD sudo -u postgres psql -d $DB_NAME -c "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO $DB_USER;" -$STD sudo -u postgres psql -d $DB_NAME -c "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO $DB_USER;" -{ - echo "Ghostfolio Credentials" - echo "Database User: $DB_USER" - echo "Database Password: $DB_PASS" - echo "Database Name: $DB_NAME" - echo "Redis Password: $REDIS_PASS" - echo "Access Token Salt: $ACCESS_TOKEN_SALT" - echo "JWT Secret Key: $JWT_SECRET_KEY" -} >>~/ghostfolio.creds -msg_ok "Set up Database" +PG_DB_NAME="ghostfolio" PG_DB_USER="ghostfolio" PG_DB_SCHEMA_PERMS="true" setup_postgresql_db fetch_and_deploy_gh_release "ghostfolio" "ghostfolio/ghostfolio" "tarball" "latest" "/opt/ghostfolio" msg_info "Setup Ghostfolio" +REDIS_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) +ACCESS_TOKEN_SALT=$(openssl rand -base64 32) +JWT_SECRET_KEY=$(openssl rand -base64 32) sed -i "s/# requirepass foobared/requirepass $REDIS_PASS/" /etc/redis/redis.conf systemctl restart redis-server cd /opt/ghostfolio $STD npm ci $STD npm run build:production +{ + echo "Redis Password: $REDIS_PASS" + echo "Access Token Salt: $ACCESS_TOKEN_SALT" + echo "JWT Secret Key: $JWT_SECRET_KEY" +} >>~/ghostfolio.creds msg_ok "Built Ghostfolio" echo -e "" @@ -69,7 +52,7 @@ read -rp "${TAB3}CoinGecko Pro API key (press Enter to skip): " COINGECKO_PRO_KE msg_info "Setting up Environment" cat </opt/ghostfolio/.env -DATABASE_URL=postgresql://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME?connect_timeout=300&sslmode=prefer +DATABASE_URL=postgresql://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME?connect_timeout=300&sslmode=prefer REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD=$REDIS_PASS @@ -82,11 +65,11 @@ TZ=Etc/UTC EOF if [[ -n "${COINGECKO_DEMO_KEY:-}" ]]; then - echo "API_KEY_COINGECKO_DEMO=$COINGECKO_DEMO_KEY" >>/opt/ghostfolio/.env + echo "API_KEY_COINGECKO_DEMO=$COINGECKO_DEMO_KEY" >>/opt/ghostfolio/.env fi if [[ -n "${COINGECKO_PRO_KEY:-}" ]]; then - echo "API_KEY_COINGECKO_PRO=$COINGECKO_PRO_KEY" >>/opt/ghostfolio/.env + echo "API_KEY_COINGECKO_PRO=$COINGECKO_PRO_KEY" >>/opt/ghostfolio/.env fi msg_ok "Set up Environment" @@ -122,10 +105,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD npm cache clean --force -$STD apt -y autoremove -$STD apt -y autoclean -$STD apt -y clean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/gitea-install.sh b/install/gitea-install.sh index 88af785f80e..e48029432bd 100644 --- a/install/gitea-install.sh +++ b/install/gitea-install.sh @@ -15,8 +15,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y git -$STD apt-get install -y sqlite3 +$STD apt install -y git sqlite3 msg_ok "Installed Dependencies" fetch_and_deploy_gh_release "gitea" "go-gitea/gitea" "singlefile" "latest" "/usr/local/bin" "gitea-*-linux-amd64" @@ -68,8 +67,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/glance-install.sh b/install/glance-install.sh index 23850e784bb..687f0c8374d 100644 --- a/install/glance-install.sh +++ b/install/glance-install.sh @@ -39,8 +39,7 @@ EOF msg_ok "Configured Glance" msg_info "Creating Service" -service_path="/etc/systemd/system/glance.service" -echo "[Unit] +cat </etc/systemd/system/glance.service Description=Glance Daemon After=network.target @@ -53,15 +52,11 @@ KillMode=process Restart=on-failure [Install] -WantedBy=multi-user.target" >$service_path - +WantedBy=multi-user.target +EOF systemctl enable -q --now glance msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/globaleaks-install.sh b/install/globaleaks-install.sh index 8465dbbd357..911df4a8c54 100644 --- a/install/globaleaks-install.sh +++ b/install/globaleaks-install.sh @@ -23,8 +23,4 @@ msg_ok "Setup GlobaLeaks" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/go2rtc-install.sh b/install/go2rtc-install.sh index 2abfd47799e..0bc754f6454 100644 --- a/install/go2rtc-install.sh +++ b/install/go2rtc-install.sh @@ -34,8 +34,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/goaway-install.sh b/install/goaway-install.sh index 061ebfb7b54..3db1d4f198d 100644 --- a/install/goaway-install.sh +++ b/install/goaway-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y net-tools +$STD apt install -y net-tools msg_ok "Installed Dependencies" fetch_and_deploy_gh_release "goaway" "pommee/goaway" "prebuild" "latest" "/opt/goaway" "goaway_*_linux_amd64.tar.gz" @@ -54,9 +54,4 @@ msg_ok "Service Created" motd_ssh customize - -msg_info "Cleaning up" -$STD apt -y autoremove -$STD apt -y autoclean -$STD apt -y clean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/gokapi-install.sh b/install/gokapi-install.sh index 272a7a05fd6..1fd714e8ef5 100644 --- a/install/gokapi-install.sh +++ b/install/gokapi-install.sh @@ -39,8 +39,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/gotify-install.sh b/install/gotify-install.sh index 15fe235d2bb..86c2153160a 100644 --- a/install/gotify-install.sh +++ b/install/gotify-install.sh @@ -39,8 +39,4 @@ msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/grafana-install.sh b/install/grafana-install.sh index 5c19200026e..286d9fbacc9 100644 --- a/install/grafana-install.sh +++ b/install/grafana-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ +$STD apt install -y \ apt-transport-https \ software-properties-common msg_ok "Installed Dependencies" @@ -25,15 +25,11 @@ echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com st msg_ok "Set up Grafana Repository" msg_info "Installing Grafana" -$STD apt-get update -$STD apt-get install -y grafana -systemctl enable -q --now grafana-server +$STD apt update +$STD apt install -y grafana +systemctl enable -q --now grafana-server msg_ok "Installed Grafana" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/graylog-install.sh b/install/graylog-install.sh index 1f1004210b0..b14d6df0c15 100644 --- a/install/graylog-install.sh +++ b/install/graylog-install.sh @@ -25,11 +25,11 @@ sed -i "s/password_secret =/password_secret = $PASSWORD_SECRET/g" /etc/graylog/d systemctl enable -q --now graylog-datanode msg_ok "Setup Graylog Data Node" -msg_info "Setup ${APPLICATION}" -$STD apt-get install graylog-server +msg_info "Setup Graylog" +$STD apt install graylog-server ROOT_PASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16) { - echo "${APPLICATION} Credentials" + echo "Graylog Credentials" echo "Admin User: admin" echo "Admin Password: ${ROOT_PASSWORD}" } >>~/graylog.creds @@ -38,7 +38,8 @@ sed -i "s/password_secret =/password_secret = $PASSWORD_SECRET/g" /etc/graylog/s sed -i "s/root_password_sha2 =/root_password_sha2 = $ROOT_PASSWORD/g" /etc/graylog/server/server.conf sed -i 's/#http_bind_address = 127.0.0.1.*/http_bind_address = 0.0.0.0:9000/g' /etc/graylog/server/server.conf systemctl enable -q --now graylog-server -msg_ok "Setup ${APPLICATION}" +rm -f graylog-*-repository_latest.deb +msg_ok "Setup Graylog" motd_ssh customize diff --git a/install/grist-install.sh b/install/grist-install.sh index f499b3da31d..9c49b62ac04 100644 --- a/install/grist-install.sh +++ b/install/grist-install.sh @@ -14,11 +14,12 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ +$STD apt install -y \ make \ ca-certificates \ python3-venv msg_ok "Installed Dependencies" + NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball" @@ -50,14 +51,9 @@ EnvironmentFile=-/opt/grist/.env [Install] WantedBy=multi-user.target EOF - systemctl enable -q --now grist msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/grocy-install.sh b/install/grocy-install.sh index d1e888392e1..7eb2edb7fce 100644 --- a/install/grocy-install.sh +++ b/install/grocy-install.sh @@ -13,10 +13,6 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y apt-transport-https -msg_ok "Installed Dependencies" - PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php fetch_and_deploy_gh_release "grocy" "grocy/grocy" "prebuild" "latest" "/var/www/html" "grocy*.zip" @@ -47,8 +43,4 @@ msg_ok "Installed grocy" motd_ssh customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" +cleanup_lxc diff --git a/install/guardian-install.sh b/install/guardian-install.sh index 994ee440736..894032e6b2c 100644 --- a/install/guardian-install.sh +++ b/install/guardian-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" NODE_VERSION="24" setup_nodejs fetch_and_deploy_gh_release "guardian" "HydroshieldMKII/Guardian" "tarball" "latest" "/opt/guardian" -msg_info "Configuring ${APPLICATION}" +msg_info "Configuring Guardian" cd /opt/guardian/backend $STD npm ci $STD npm run build @@ -28,7 +28,7 @@ cd /opt/guardian/frontend $STD npm ci export DEPLOYMENT_MODE=standalone $STD npm run build -msg_ok "Configured ${APPLICATION}" +msg_ok "Configured Guardian" msg_info "Creating Service" cat </etc/systemd/system/guardian-backend.service @@ -60,16 +60,10 @@ RestartSec=3 [Install] WantedBy=multi-user.target EOF - systemctl enable -q --now guardian-backend systemctl enable -q --now guardian-frontend msg_ok "Created Service" motd_ssh customize - -msg_info "Cleaning up" -$STD apt -y autoremove -$STD apt -y autoclean -$STD apt -y clean -msg_ok "Cleaned" +cleanup_lxc