diff --git a/.vscode/.shellcheckrc b/.vscode/.shellcheckrc new file mode 100644 index 0000000..5cafdf6 --- /dev/null +++ b/.vscode/.shellcheckrc @@ -0,0 +1 @@ +disable=SC2034,SC1091,SC2155,SC2086,SC2317,SC2181 diff --git a/.vscode/settings.json b/.vscode/settings.json index 2eb7a5b..cc8cbf9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,7 +8,6 @@ "files.insertFinalNewline": true, "files.autoSave": "afterDelay", "files.autoGuessEncoding": false, - "editor.detectIndentation": false, "editor.tabSize": 4, "editor.insertSpaces": true, @@ -17,23 +16,20 @@ "editor.formatOnSave": true, "editor.formatOnPaste": true, "editor.minimap.enabled": false, - - "terminal.integrated.shell.linux": "/bin/bash", "terminal.integrated.scrollback": 10000, - "[shellscript]": { "editor.defaultFormatter": "foxundermoon.shell-format", "editor.tabSize": 4, - "editor.insertSpaces": true + "editor.insertSpaces": true, }, - + "shellcheck.customArgs": [ + "--rcfile", + ".vscode/.shellcheckrc" + ], "workbench.colorTheme": "Default Dark+", "workbench.iconTheme": "vscode-icons", - "git.autofetch": true, "git.confirmSync": false, "git.enableSmartCommit": true, - - "extensions.ignoreRecommendations": false, - "security.workspace.trust.untrustedFiles": "open" + "extensions.ignoreRecommendations": false } diff --git a/ct/ampache.sh b/ct/ampache.sh index b1cf047..28b5fad 100644 --- a/ct/ampache.sh +++ b/ct/ampache.sh @@ -3,13 +3,16 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/ # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: APP="Ampache" +var_tags="music" var_disk="5" var_cpu="4" var_ram="2048" var_os="debian" var_version="12" +var_unprivileged="1" header_info "$APP" variables @@ -17,33 +20,29 @@ color catch_errors function update_script() { - header_info - if [[ ! -d /opt/ampache ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/ampache ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Updating ${APP} LXC" + cd /opt/ampache + ###### Update Script Here ###### + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi exit - fi - msg_info "Updating ${APP} LXC" - cd /opt/bookstack - git config --global --add safe.directory /opt/bookstack >/dev/null 2>&1 - git pull origin release >/dev/null 2>&1 - composer install --no-interaction --no-dev >/dev/null 2>&1 - php artisan migrate --force >/dev/null 2>&1 - php artisan cache:clear - php artisan config:clear - php artisan view:clear - msg_ok "Updated Successfully" - exit - msg_error "There is currently no update path available." } start build_container description -msg_info "Setting Container to Normal Resources" -pct set $CTID -cores 2 -msg_ok "Set Container to Normal Resources" - msg_ok "Completed Successfully!\n" -echo -e "${APP} Setup should be reachable by going to the following URL. - ${BL}http://${IP}/install.php${CL} \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}/install.php${CL}" diff --git a/ct/apache-tomcat.sh b/ct/apache-tomcat.sh index bf87dde..a396f9b 100644 --- a/ct/apache-tomcat.sh +++ b/ct/apache-tomcat.sh @@ -3,6 +3,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/ # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: APP="Apache-Tomcat" var_tags="webserver" diff --git a/ct/babybuddy.sh b/ct/babybuddy.sh index f823f80..897c3af 100644 --- a/ct/babybuddy.sh +++ b/ct/babybuddy.sh @@ -3,13 +3,16 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/ # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: APP="BabyBuddy" +var_tags="baby" var_disk="5" var_cpu="2" var_ram="2048" var_os="debian" var_version="12" +var_unprivileged="1" header_info "$APP" variables @@ -17,10 +20,19 @@ color catch_errors function update_script() { - if [[ ! -d /opt/babybuddy ]]; then msg_error "No ${APP} Installation Found!"; exit; fi - RELEASE=$(curl -s https://api.github.com/repos/xxxxx/xxxxx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - exit -fi + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/maxun ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -s https://api.github.com/repos/xxxxx/xxxxx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Stopping Services" + systemctl stop APP + msg_ok "Services Stopped" + fi } start @@ -28,6 +40,6 @@ build_container description msg_ok "Completed Successfully!\n" -echo -e "${APP} Setup should be reachable by going to the following URL. - but first, you need to edit the influxDB connection! - ${BL}http://${IP}:8080${CL} \n" \ No newline at end of file +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}:8080${CL}" diff --git a/ct/docspell.sh b/ct/docspell.sh index 30774e6..353d52d 100644 --- a/ct/docspell.sh +++ b/ct/docspell.sh @@ -3,13 +3,16 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/ # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: APP="Docspell" +var_tags="document" var_disk="5" var_cpu="4" var_ram="2048" var_os="debian" var_version="12" +var_unprivileged="1" header_info "$APP" variables @@ -17,33 +20,32 @@ color catch_errors function update_script() { - header_info - if [[ ! -d /opt/docspell ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/docspell ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating ${APP} LXC" + cd /opt/bookstack + git config --global --add safe.directory /opt/bookstack >/dev/null 2>&1 + git pull origin release >/dev/null 2>&1 + composer install --no-interaction --no-dev >/dev/null 2>&1 + php artisan migrate --force >/dev/null 2>&1 + php artisan cache:clear + php artisan config:clear + php artisan view:clear + msg_ok "Updated Successfully" exit - fi - msg_info "Updating ${APP} LXC" - cd /opt/bookstack - git config --global --add safe.directory /opt/bookstack >/dev/null 2>&1 - git pull origin release >/dev/null 2>&1 - composer install --no-interaction --no-dev >/dev/null 2>&1 - php artisan migrate --force >/dev/null 2>&1 - php artisan cache:clear - php artisan config:clear - php artisan view:clear - msg_ok "Updated Successfully" - exit - msg_error "There is currently no update path available." + msg_error "There is currently no update path available." } start build_container description -msg_info "Setting Container to Normal Resources" -pct set $CTID -cores 2 -msg_ok "Set Container to Normal Resources" - msg_ok "Completed Successfully!\n" -echo -e "${APP} Setup should be reachable by going to the following URL. - ${BL}http://${IP}:7880${CL} \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}:7880${CL}" diff --git a/ct/documenso.sh b/ct/documenso.sh index 01496fe..fc9650f 100644 --- a/ct/documenso.sh +++ b/ct/documenso.sh @@ -1,25 +1,12 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2024 tteck -# Author: tteck -# Co-Author: MickLesk (Canbiz) -# License: MIT -# https://github.com/tteck/Proxmox/raw/main/LICENSE +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (Canbiz) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: -function header_info { -clear -cat <<"EOF" - ____ - / __ \____ _______ ______ ___ ___ ____ _________ - / / / / __ \/ ___/ / / / __ `__ \/ _ \/ __ \/ ___/ __ \ - / /_/ / /_/ / /__/ /_/ / / / / / / __/ / / (__ ) /_/ / -/_____/\____/\___/\__,_/_/ /_/ /_/\___/_/ /_/____/\____/ - -EOF -} -header_info -echo -e "Loading..." APP="Documenso" +var_tags="document" var_disk="12" var_cpu="6" var_ram="6144" @@ -27,55 +14,52 @@ var_os="debian" var_version="12" var_unprivileged="1" -# App Output & Base Settings header_info "$APP" - -# Core variables color catch_errors - function update_script() { -header_info -if [[ ! -d /opt/documenso ]]; then msg_error "No ${APP} Installation Found!"; exit; fi -if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then - read -r -p "Warning: Storage is dangerously low, continue anyway? " prompt - [[ ${prompt,,} =~ ^(y|yes)$ ]] || exit -fi -RELEASE=$(curl -s https://api.github.com/repos/documenso/documenso/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75 - msg_info "Stopping ${APP}" - systemctl stop documenso - msg_ok "${APP} Stopped" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/documenso ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -s https://api.github.com/repos/documenso/documenso/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75 + msg_info "Stopping ${APP}" + systemctl stop documenso + msg_ok "${APP} Stopped" - msg_info "Updating ${APP} to ${RELEASE}" - cp /opt/documenso/.env /opt/ - rm -R /opt/documenso - wget -q "https://github.com/documenso/documenso/archive/refs/tags/v${RELEASE}.zip" - unzip -q v${RELEASE}.zip - mv documenso-${RELEASE} /opt/documenso - cd /opt/documenso - mv /opt/.env /opt/documenso/.env - npm install &>/dev/null - npm run build:web &>/dev/null - npm run prisma:migrate-deploy &>/dev/null - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP}" + msg_info "Updating ${APP} to ${RELEASE}" + cp /opt/documenso/.env /opt/ + rm -R /opt/documenso + wget -q "https://github.com/documenso/documenso/archive/refs/tags/v${RELEASE}.zip" + unzip -q v${RELEASE}.zip + mv documenso-${RELEASE} /opt/documenso + cd /opt/documenso + mv /opt/.env /opt/documenso/.env + npm install &>/dev/null + npm run build:web &>/dev/null + npm run prisma:migrate-deploy &>/dev/null + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated ${APP}" - msg_info "Starting ${APP}" - systemctl start documenso - msg_ok "Started ${APP}" + msg_info "Starting ${APP}" + systemctl start documenso + msg_ok "Started ${APP}" - msg_info "Cleaning Up" - rm -rf v${RELEASE}.zip - msg_ok "Cleaned" - msg_ok "Updated Successfully" -else - msg_ok "No update required. ${APP} is already at ${RELEASE}" -fi -exit + msg_info "Cleaning Up" + rm -rf v${RELEASE}.zip + msg_ok "Cleaned" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start @@ -83,5 +67,6 @@ build_container description msg_ok "Completed Successfully!\n" -echo -e "${APP} Setup should be reachable by going to the following URL. - ${BL}http://${IP}:9000${CL} \n" \ No newline at end of file +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}:9000${CL}" diff --git a/ct/ghostfolio.sh b/ct/ghostfolio.sh index 9777057..20f04c8 100644 --- a/ct/ghostfolio.sh +++ b/ct/ghostfolio.sh @@ -3,13 +3,16 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/ # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: APP="Ghostfolio" +var_tags="portfolio" var_disk="6" var_cpu="2" var_ram="2048" var_os="debian" var_version="12" +var_unprivileged="1" header_info "$APP" variables @@ -17,16 +20,16 @@ color catch_errors function update_script() { - header_info - if [[ ! -d /opt/ghostfolio ]]; then - msg_error "No ${APP} Installation Found!" + header_info + if [[ ! -d /opt/ghostfolio ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating OS" + apt-get update &>/dev/null + apt-get -y upgrade &>/dev/null + msg_ok "Updated Successfully" exit - fi - msg_info "Updating OS" - apt-get update &>/dev/null - apt-get -y upgrade &>/dev/null - msg_ok "Updated Successfully" - exit } start @@ -34,5 +37,6 @@ build_container description msg_ok "Completed Successfully!\n" -echo -e "${APP} should be reachable by going to the following URL. - ${BL}http://${IP}:3333${CL} \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}:3333${CL}" diff --git a/ct/healthchecks.sh b/ct/healthchecks.sh index 124b0ba..85bdf75 100644 --- a/ct/healthchecks.sh +++ b/ct/healthchecks.sh @@ -1,8 +1,9 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (Canbiz) +# Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: APP="healthchecks" var_tags="monitoring" @@ -11,7 +12,7 @@ var_ram="4096" var_disk="20" var_os="debian" var_version="12" -var_unprivileged="0" +var_unprivileged="1" header_info "$APP" variables @@ -19,15 +20,15 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -f /etc/systemd/system/healthchecks.service ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -f /etc/systemd/system/healthchecks.service ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_error "No Update." exit - fi - msg_error "No Update." - exit } start diff --git a/ct/hoodik.sh b/ct/hoodik.sh index 7d8d85d..d0b4088 100644 --- a/ct/hoodik.sh +++ b/ct/hoodik.sh @@ -1,11 +1,12 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (Canbiz) +# Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: -# App Default Values APP="Hoodik" +# shellcheck disable=SC2034 var_tags="sharing" var_disk="7" var_cpu="4" @@ -14,55 +15,52 @@ var_os="debian" var_version="12" var_unprivileged="1" -# App Output & Base Settings header_info "$APP" - -# Core variables color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/hoodik ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - RELEASE=$(curl -s https://api.github.com/repos/hudikhq/hoodik/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Stopping Services" - systemctl stop hoodik - msg_ok "Services Stopped" - - msg_info "Updating ${APP} to ${RELEASE}" - cd /opt - if [ -d hoodik_bak ]; then - rm -rf hoodik_bak + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/hoodik ]]; then + msg_error "No ${APP} Installation Found!" + exit fi - mv hoodik hoodik_bak - wget -q "https://github.com/hudikhq/hoodik/archive/refs/tags/${RELEASE}.zip" - unzip -q ${RELEASE}.zip - mv hoodik-${RELEASE} /opt/hoodik - cd /opt/hoodik - cargo update -q - cargo build -q --release - msg_ok "Updated Hoodik" + RELEASE=$(curl -s https://api.github.com/repos/hudikhq/hoodik/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Stopping Services" + systemctl stop hoodik + msg_ok "Services Stopped" - msg_info "Starting Services" - systemctl start hoodik - msg_ok "Started Services" + msg_info "Updating ${APP} to ${RELEASE}" + cd /opt + if [ -d hoodik_bak ]; then + rm -rf hoodik_bak + fi + mv hoodik hoodik_bak + wget -q "https://github.com/hudikhq/hoodik/archive/refs/tags/${RELEASE}.zip" + unzip -q ${RELEASE}.zip + mv hoodik-${RELEASE} /opt/hoodik + cd /opt/hoodik + cargo update -q + cargo build -q --release + msg_ok "Updated Hoodik" - msg_info "Cleaning Up" - rm -R /opt/${RELEASE}.zip - rm -R /opt/hoodik_bak - msg_ok "Cleaned" - msg_ok "Updated Successfully" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" - fi - exit + msg_info "Starting Services" + systemctl start hoodik + msg_ok "Started Services" + + msg_info "Cleaning Up" + rm -R /opt/${RELEASE}.zip + rm -R /opt/hoodik_bak + msg_ok "Cleaned" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start diff --git a/ct/pixelfed.sh b/ct/pixelfed.sh index 561f173..d85e27f 100644 --- a/ct/pixelfed.sh +++ b/ct/pixelfed.sh @@ -1,91 +1,40 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2024 tteck -# Author: tteck -# Co-Author: MickLesk (Canbiz) -# License: MIT -# https://github.com/tteck/Proxmox/raw/main/LICENSE +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (Canbiz) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: -function header_info { -clear -cat <<"EOF" - ____ _ ______ __ - / __ \(_) _____ / / __/__ ____/ / - / /_/ / / |/_/ _ \/ / /_/ _ \/ __ / - / ____/ /> 80 )); then - read -r -p "Warning: Storage is dangerously low, continue anyway? " prompt - [[ ${prompt,,} =~ ^(y|yes)$ ]] || exit -fi -RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Stopping ${APP}" - systemctl stop homebox - msg_ok "${APP} Stopped" - - msg_info "Updating ${APP} to ${RELEASE}" - cd /opt - rm -rf homebox_bak - mv homebox homebox_bak - wget -qO- https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz | tar -xzf - -C /opt - chmod +x /opt/homebox - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated Homebox" - - msg_info "Starting ${APP}" - systemctl start homebox - msg_ok "Started ${APP}" - - msg_info "Cleaning Up" - rm -rf homebox_Linux_x86_64.tar.gz - msg_ok "Cleaned" - msg_ok "Updated Successfully" -else - msg_ok "No update required. ${APP} is already at ${RELEASE}" -fi -exit + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/pixelfed ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -s https://api.github.com/repos/xxxx/xxxx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Updating ${APP} to ${RELEASE}" + cd /opt + wget -q + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start @@ -94,4 +43,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${APP} Setup should be reachable by going to the following URL. - ${BL}http://${IP}:8000${CL} \n" \ No newline at end of file + ${BL}http://${IP}:8000${CL} \n" diff --git a/ct/roundcubemail.sh b/ct/roundcubemail.sh index 836b77d..ec72259 100644 --- a/ct/roundcubemail.sh +++ b/ct/roundcubemail.sh @@ -1,88 +1,58 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2024 tteck -# Author: tteck (tteckster) -# License: MIT -# https://github.com/tteck/Proxmox/raw/main/LICENSE +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: -function header_info { -clear -cat <<"EOF" - ____ __ __ _ __ - / __ \____ __ ______ ____/ /______ __/ /_ ___ ____ ___ ____ _(_) / - / /_/ / __ \/ / / / __ \/ __ / ___/ / / / __ \/ _ \/ __ `__ \/ __ `/ / / - / _, _/ /_/ / /_/ / / / / /_/ / /__/ /_/ / /_/ / __/ / / / / / /_/ / / / -/_/ |_|\____/\__,_/_/ /_/\__,_/\___/\__,_/_.___/\___/_/ /_/ /_/\__,_/_/_/ - -EOF -} -header_info -echo -e "Loading..." APP="Roundcubemail" +var_tags="mail" var_disk="5" var_cpu="1" var_ram="1024" var_os="debian" var_version="12" +var_unprivileged="1" + +header_info "$APP" variables color catch_errors -function default_settings() { - CT_TYPE="1" - PW="" - CT_ID=$NEXTID - HN=$NSAPP - DISK_SIZE="$var_disk" - CORE_COUNT="$var_cpu" - RAM_SIZE="$var_ram" - BRG="vmbr0" - NET="dhcp" - GATE="" - APT_CACHER="" - APT_CACHER_IP="" - DISABLEIP6="no" - MTU="" - SD="" - NS="" - MAC="" - VLAN="" - SSH="no" - VERB="yes" - echo_default -} - function update_script() { -header_info -if [[ ! -d /opt/roundcubemail ]]; then msg_error "No ${APP} Installation Found!"; exit; fi -if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then - read -r -p "Warning: Storage is dangerously low, continue anyway? " prompt - [[ ${prompt,,} =~ ^(y|yes)$ ]] || exit -fi -RELEASE=$(curl -s https://api.github.com/repos/roundcube/roundcubemail/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Updating ${APP} to ${RELEASE}" - cd /opt - wget -q "https://github.com/roundcube/roundcubemail/releases/download/${RELEASE}/roundcubemail-${RELEASE}-complete.tar.gz" - tar -xf roundcubemail-${RELEASE}-complete.tar.gz - mv roundcubemail-${RELEASE} /opt/roundcubemail - cd /opt/roundcubemail - COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev - chown -R www-data:www-data temp/ logs/ - msg_ok "Updated ${APP}" + header_info + if [[ ! -d /opt/roundcubemail ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + if (($(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80)); then + read -r -p "Warning: Storage is dangerously low, continue anyway? " prompt + [[ ${prompt,,} =~ ^(y|yes)$ ]] || exit + fi + RELEASE=$(curl -s https://api.github.com/repos/roundcube/roundcubemail/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Updating ${APP} to ${RELEASE}" + cd /opt + wget -q "https://github.com/roundcube/roundcubemail/releases/download/${RELEASE}/roundcubemail-${RELEASE}-complete.tar.gz" + tar -xf roundcubemail-${RELEASE}-complete.tar.gz + mv roundcubemail-${RELEASE} /opt/roundcubemail + cd /opt/roundcubemail + COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev + chown -R www-data:www-data temp/ logs/ + msg_ok "Updated ${APP}" - msg_info "Reload Apache2" - systemctl reload apache2 - msg_ok "Apache2 Reloaded" + msg_info "Reload Apache2" + systemctl reload apache2 + msg_ok "Apache2 Reloaded" - msg_info "Cleaning Up" - rm -rf /opt/roundcubemail-${RELEASE}-complete.tar.gz - msg_ok "Cleaned" - msg_ok "Updated Successfully" -else - msg_ok "No update required. ${APP} is already at ${RELEASE}" -fi -exit + msg_info "Cleaning Up" + rm -rf /opt/roundcubemail-${RELEASE}-complete.tar.gz + msg_ok "Cleaned" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start diff --git a/ct/squirrelserversmanager.sh b/ct/squirrelserversmanager.sh index 09236b3..2351eef 100644 --- a/ct/squirrelserversmanager.sh +++ b/ct/squirrelserversmanager.sh @@ -1,79 +1,48 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2024 tteck -# Author: tteck (tteckster) -# License: MIT -# https://github.com/tteck/Proxmox/raw/main/LICENSE +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (Canbiz) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: -function header_info { -clear -cat <<"EOF" - _____ _ __ _____ __ ___ - / ___/____ ___ __(_)____________ / / / ___/___ ______ _____ __________ / |/ /___ _____ ____ _____ ____ _____ - \__ \/ __ `/ / / / / ___/ ___/ _ \/ / \__ \/ _ \/ ___/ | / / _ \/ ___/ ___/ / /|_/ / __ `/ __ \/ __ `/ __ `/ _ \/ ___/ - ___/ / /_/ / /_/ / / / / / / __/ / ___/ / __/ / | |/ / __/ / (__ ) / / / / /_/ / / / / /_/ / /_/ / __/ / -/____/\__, /\__,_/_/_/ /_/ \___/_/ /____/\___/_/ |___/\___/_/ /____/ /_/ /_/\__,_/_/ /_/\__,_/\__, /\___/_/ - /_/ /____/ -EOF -} -header_info -echo -e "Loading..." APP="Squirrel Servers Manager" +var_tags="manager" var_disk="10" var_cpu="2" var_ram="4096" var_os="alpine" -var_version="3.19" +var_version="3.21" +var_unprivileged="1" + variables color catch_errors -function default_settings() { - CT_TYPE="1" - PW="" - CT_ID=$NEXTID - HN=$NSAPP - DISK_SIZE="$var_disk" - CORE_COUNT="$var_cpu" - RAM_SIZE="$var_ram" - BRG="vmbr0" - NET="dhcp" - GATE="" - APT_CACHER="" - APT_CACHER_IP="" - DISABLEIP6="no" - MTU="" - SD="" - NS="" - MAC="" - VLAN="" - SSH="no" - VERB="no" - echo_default -} - function update_script() { - header_info - if [[ ! -d /opt/squirrelserversmanager ]]; then msg_error "No ${APP} Installation Found!"; exit; fi - msg_info "Updating ${APP}" - pm2 stop "squirrelserversmanager-frontend" - pm2 stop "squirrelserversmanager-backend" - cd /opt/squirrelserversmanager - git pull - cd /opt/squirrelserversmanager/shared-lib - npm ci &>/dev/null - npm run build - cd /opt/squirrelserversmanager/server - npm ci &>/dev/null - npm run build - cd /opt/squirrelserversmanager/client - npm ci &>/dev/null - npm run build - pm2 flush - pm2 restart "squirrelserversmanager-frontend" - pm2 restart "squirrelserversmanager-backend" - msg_ok "Successfully Updated ${APP}" - exit + header_info + if [[ ! -d /opt/squirrelserversmanager ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating ${APP}" + pm2 stop "squirrelserversmanager-frontend" + pm2 stop "squirrelserversmanager-backend" + cd /opt/squirrelserversmanager + git pull + cd /opt/squirrelserversmanager/shared-lib + npm ci &>/dev/null + npm run build + cd /opt/squirrelserversmanager/server + npm ci &>/dev/null + npm run build + cd /opt/squirrelserversmanager/client + npm ci &>/dev/null + npm run build + pm2 flush + pm2 restart "squirrelserversmanager-frontend" + pm2 restart "squirrelserversmanager-backend" + msg_ok "Successfully Updated ${APP}" + exit } start diff --git a/ct/timescaledb.sh b/ct/timescaledb.sh index 3719c50..a62b7bb 100644 --- a/ct/timescaledb.sh +++ b/ct/timescaledb.sh @@ -3,7 +3,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/ # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://www.postgresql.org/ +# Source: APP="TimescaleDB" var_tags="database" @@ -41,4 +41,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 IP:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}${IP}:5432${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}${IP}:5432${CL}"