From 6236aa796f86018de11afd9a21d85462fd86dbf7 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 14 May 2025 10:22:32 +0200 Subject: [PATCH] remove --- ct/bookstack.sh | 76 ------------ ct/homeassistant-core.sh | 170 -------------------------- ct/mattermost.sh | 50 -------- ct/openproject.sh | 44 ------- ct/paperless-ngx.sh | 129 ------------------- ct/streamlink-webui.sh | 73 ----------- install/bookstack-install.sh | 114 ----------------- install/gatus-install.sh | 67 ---------- install/homeassistant-core-install.sh | 106 ---------------- install/odoo-install.sh | 3 +- 10 files changed, 1 insertion(+), 831 deletions(-) delete mode 100644 ct/bookstack.sh delete mode 100644 ct/homeassistant-core.sh delete mode 100644 ct/mattermost.sh delete mode 100644 ct/openproject.sh delete mode 100644 ct/paperless-ngx.sh delete mode 100644 ct/streamlink-webui.sh delete mode 100644 install/bookstack-install.sh delete mode 100644 install/gatus-install.sh delete mode 100644 install/homeassistant-core-install.sh diff --git a/ct/bookstack.sh b/ct/bookstack.sh deleted file mode 100644 index 438cd62..0000000 --- a/ct/bookstack.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (Canbiz) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/BookStackApp/BookStack - -APP="Bookstack" -var_tags="${var_tags:-organizer}" -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_unprivileged="${var_unprivileged:-1}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/bookstack ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - RELEASE=$(curl -fsSL https://api.github.com/repos/BookStackApp/BookStack/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 - msg_info "Stopping Apache2" - systemctl stop apache2 - msg_ok "Services Stopped" - - msg_info "Updating ${APP} to v${RELEASE}" - mv /opt/bookstack /opt/bookstack-backup - fetch_and_deploy_gh_release BookstackApp/BookStack - cp /opt/bookstack-backup/.env /opt/bookstack/.env - cp -r /opt/bookstack-backup/public/uploads/* /opt/bookstack/public/uploads/ || true - cp -r /opt/bookstack-backup/storage/uploads/* /opt/bookstack/storage/uploads/ || true - cp -r /opt/bookstack-backup/themes/* /opt/bookstack/themes/ || true - cd /opt/bookstack - export COMPOSER_ALLOW_SUPERUSER=1 - $STD composer install --no-dev - $STD php artisan migrate --force - chown www-data:www-data -R /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage - chmod -R 755 /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage - chmod -R 775 /opt/bookstack/storage /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads - chmod -R 640 /opt/bookstack/.env - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to v${RELEASE}" - - msg_info "Starting Apache2" - systemctl start apache2 - msg_ok "Started Apache2" - - msg_info "Cleaning Up" - rm -rf /opt/bookstack-backup - rm -rf "/opt/BookStack-${RELEASE}.zip" - msg_ok "Cleaned" - msg_ok "Updated Successfully" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - fi - exit -} - -start -build_container -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}${CL}" diff --git a/ct/homeassistant-core.sh b/ct/homeassistant-core.sh deleted file mode 100644 index 84b308c..0000000 --- a/ct/homeassistant-core.sh +++ /dev/null @@ -1,170 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: tteck (tteckster) | Co-Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://www.home-assistant.io/ - -APP="Home Assistant-Core" -var_tags="${var_tags:-automation;smarthome}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_disk="${var_disk:-10}" -var_os="${var_os:-ubuntu}" -var_version="${var_version:-24.10}" -var_unprivileged="${var_unprivileged:-1}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - - # OS Check - if ! lsb_release -d | grep -q "Ubuntu 24.10"; then - msg_error "Wrong OS detected. This script only supports Ubuntu 24.10." - msg_error "Read Guide: https://github.com/community-scripts/ProxmoxVE/discussions/1549" - exit 1 - fi - - check_container_storage - check_container_resources - - if [[ ! -d /srv/homeassistant ]]; then - msg_error "No ${APP} Installation Found!" - exit 1 - fi - setup_uv - IP=$(hostname -I | awk '{print $1}') - UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \ - "1" "Update Core" ON \ - "2" "Install HACS" OFF \ - "3" "Install FileBrowser" OFF \ - 3>&1 1>&2 2>&3) - - if [ "$UPD" == "1" ]; then - if (whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SELECT BRANCH" --yesno "Use Beta Branch?" 10 58); then - clear - header_info - echo -e "${GN}Updating to Beta Version${CL}" - BR="--pre" - else - clear - header_info - echo -e "${GN}Updating to Stable Version${CL}" - BR="" - fi - - msg_info "Stopping Home Assistant" - systemctl stop homeassistant - msg_ok "Stopped Home Assistant" - - if [[ -d /srv/homeassistant/bin ]]; then - msg_info "Migrating to .venv-based structure" - $STD source /srv/homeassistant/bin/activate - PY_VER=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')") - $STD deactivate - mv /srv/homeassistant "/srv/homeassistant_backup_$PY_VER" - mkdir -p /srv/homeassistant - cd /srv/homeassistant - - $STD uv python install 3.13 - UV_PYTHON=$(uv python list | awk '/3\.13\.[0-9]+.*\/root\/.local/ {print $2; exit}') - if [[ -z "$UV_PYTHON" ]]; then - msg_error "No local Python 3.13 found via uv" - exit 1 - fi - - $STD uv venv .venv --python "$UV_PYTHON" - $STD source .venv/bin/activate - $STD uv pip install homeassistant mysqlclient psycopg2-binary isal webrtcvad wheel - mkdir -p /root/.homeassistant - msg_ok "Migration complete" - else - source /srv/homeassistant/.venv/bin/activate - fi - - msg_info "Updating Home Assistant" - $STD uv pip install $BR --upgrade homeassistant - msg_ok "Updated Home Assistant" - - msg_info "Starting Home Assistant" - if [[ -f /etc/systemd/system/homeassistant.service ]] && grep -q "/srv/homeassistant/bin/python3" /etc/systemd/system/homeassistant.service; then - sed -i 's|ExecStart=/srv/homeassistant/bin/python3|ExecStart=/srv/homeassistant/.venv/bin/python3|' /etc/systemd/system/homeassistant.service - sed -i 's|PATH=/srv/homeassistant/bin|PATH=/srv/homeassistant/.venv/bin|' /etc/systemd/system/homeassistant.service - $STD systemctl daemon-reload - fi - - systemctl start homeassistant - sleep 5 - msg_ok "Started Home Assistant" - msg_ok "Update Successful" - echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}" - exit - fi - - if [ "$UPD" == "2" ]; then - msg_info "Installing Home Assistant Community Store (HACS)" - $STD apt update - $STD apt install -y unzip - cd /root/.homeassistant - $STD bash <(curl -fsSL https://get.hacs.xyz) - msg_ok "Installed Home Assistant Community Store (HACS)" - echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n" - exit - fi - - if [ "$UPD" == "3" ]; then - set +Eeuo pipefail - read -r -p "Would you like to use No Authentication? " prompt - msg_info "Installing FileBrowser" - RELEASE=$(curl -fsSL https://api.github.com/repos/filebrowser/filebrowser/releases/latest | grep -o '"tag_name": ".*"' | sed 's/"//g' | sed 's/tag_name: //g') - $STD curl -fsSL https://github.com/filebrowser/filebrowser/releases/download/$RELEASE/linux-amd64-filebrowser.tar.gz | tar -xzv -C /usr/local/bin - - if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then - $STD filebrowser config init -a '0.0.0.0' - $STD filebrowser config set -a '0.0.0.0' - $STD filebrowser config set --auth.method=noauth - $STD filebrowser users add ID 1 --perm.admin - else - $STD filebrowser config init -a '0.0.0.0' - $STD filebrowser config set -a '0.0.0.0' - $STD filebrowser users add admin helper-scripts.com --perm.admin - fi - msg_ok "Installed FileBrowser" - - msg_info "Creating Service" - cat </etc/systemd/system/filebrowser.service -[Unit] -Description=Filebrowser -After=network-online.target - -[Service] -User=root -WorkingDirectory=/root/ -ExecStart=/usr/local/bin/filebrowser -r /root/.homeassistant - -[Install] -WantedBy=default.target -EOF - - systemctl enable --now -q filebrowser.service - msg_ok "Created Service" - - msg_ok "Completed Successfully!\n" - echo -e "FileBrowser should be reachable by going to the following URL. - ${BL}http://$IP:8080${CL} admin|helper-scripts.com\n" - exit - fi -} - -start -build_container -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}:8123${CL}" diff --git a/ct/mattermost.sh b/ct/mattermost.sh deleted file mode 100644 index 1fda8c9..0000000 --- a/ct/mattermost.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (Canbiz) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE - -APP="Mattermost" -var_disk="${var_disk:-10}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_os="${var_os:-debian}" -var_version="${var_version:-12}" -variables -color -catch_errors - -function update_script() { -header_info -if [[ ! -d /opt/mattermost ]]; 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 "Stopping App" - systemctl stop xxxx - msg_ok "App Stopped" - - msg_info "Updating App" - # - msg_ok "Updated App" - - msg_info "Starting App" - systemctl start App - msg_ok "Started App" - - msg_info "Cleaning Up" - #rm -rf - msg_ok "Cleaned" - msg_ok "Updated Successfully" -else - msg_ok "No update required. ${APP} is already at ${RELEASE}" -fi -exit -} - -start -build_container -description - -msg_ok "Completed Successfully!\n" -echo -e "${APP} Setup should be reachable by going to the following URL. - ${BL}http://${IP}:8086${CL} \n" diff --git a/ct/openproject.sh b/ct/openproject.sh deleted file mode 100644 index ac6d5a9..0000000 --- a/ct/openproject.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: michelroegl-brunner -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/opf/openproject - -APP="OpenProject" -var_tags="${var_tags:-project-management,erp}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-4096}" -var_disk="${var_disk:-8}" -var_os="${var_os:-debian}" -var_version="${var_version:-12}" -var_unprivileged="${var_unprivileged:-1}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -f /etc/openproject/installer.dat ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_info "Updating ${APP}" - $STD apt-get update - $STD apt-get install --only-upgrade -y openproject - msg_ok "Updated ${APP}" - exit 0 -} - -start -build_container -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}/openproject${CL}" diff --git a/ct/paperless-ngx.sh b/ct/paperless-ngx.sh deleted file mode 100644 index b0cfcc6..0000000 --- a/ct/paperless-ngx.sh +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://docs.paperless-ngx.com/ - -APP="Paperless-ngx" -var_tags="${var_tags:-document;management}" -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_unprivileged="${var_unprivileged:-1}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/paperless ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - RELEASE=$(curl -fsSL https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - msg_info "Stopping Paperless services" - systemctl stop paperless-{webserver,scheduler,task-queue,consumer} - msg_ok "Stopped Paperless services" - - BACKUP_DIR="/opt/paperless-backup-$(date +%F_%T | tr ':' '-')" - - MIGRATION_NEEDED=0 - if ! command -v uv &>/dev/null || [[ ! -d /opt/paperless/.venv ]]; then - MIGRATION_NEEDED=1 - msg_info "uv not found or missing venv, migrating..." - setup_uv - $STD uv venv /opt/paperless/.venv - source /opt/paperless/.venv/bin/activate - $STD uv sync --all-extras - fi - - BACKUP_DIR="/opt/paperless-backup-$(date +%F_%T | tr ':' '-')" - - setup_gs - setup_uv - - msg_info "Backing up Paperless folders" - mkdir -p "$BACKUP_DIR" - for d in consume data media; do - [[ -d "/opt/paperless/$d" ]] && mv "/opt/paperless/$d" "$BACKUP_DIR/" - done - [[ -f "/opt/paperless/paperless.conf" ]] && cp "/opt/paperless/paperless.conf" "$BACKUP_DIR/" - msg_ok "Backup completed to $BACKUP_DIR" - - msg_info "Updating PaperlessNGX" - RELEASE=$(curl -fsSL "https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest" | grep 'tag_name' | cut -d '"' -f4) - cd /tmp - curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz" -o paperless.tar.xz - tar -xf paperless.tar.xz - cp -r paperless-ngx/* /opt/paperless/ - rm -rf paperless.tar.xz paperless-ngx - echo "$RELEASE" >/opt/paperless/Paperless-ngx_version.txt - msg_ok "Updated Paperless-ngx to $RELEASE" - - for d in consume data media; do - [[ -d "$BACKUP_DIR/$d" ]] && mv "$BACKUP_DIR/$d" "/opt/paperless/" - done - [[ ! -f "/opt/paperless/paperless.conf" && -f "$BACKUP_DIR/paperless.conf" ]] && cp "$BACKUP_DIR/paperless.conf" "/opt/paperless/paperless.conf" - $STD uv venv /opt/paperless/.venv - source /opt/paperless/.venv/bin/activate - echo -e "source done" - $STD uv sync --all-extras - echo -e "uv sync done" - source /opt/paperless/paperless.conf - $STD /opt/paperless/.venv/bin/python3 /opt/paperless/src/manage.py migrate - - if [[ "$MIGRATION_NEEDED" == 1 ]]; then - cat </etc/default/paperless -PYTHONDONTWRITEBYTECODE=1 -PYTHONUNBUFFERED=1 -PNGX_CONTAINERIZED=0 -UV_LINK_MODE=copy -EOF - - for svc in /etc/systemd/system/paperless-*.service; do - sed -i \ - -e "s|^ExecStart=.*manage.py|ExecStart=/opt/paperless/.venv/bin/python3 manage.py|" \ - -e "s|^ExecStart=.*celery|ExecStart=/opt/paperless/.venv/bin/celery|" \ - -e "s|^ExecStart=.*granian|ExecStart=/opt/paperless/.venv/bin/granian|" \ - -e "/^WorkingDirectory=/a EnvironmentFile=/etc/default/paperless" "$svc" - done - fi - - systemctl daemon-reexec - systemctl daemon-reload - - msg_info "Starting Paperless services" - systemctl start paperless-{webserver,scheduler,task-queue,consumer}.service - sleep 1 - msg_ok "All services restarted" - msg_ok "Updated Successfully!\n" - read -r -p "Remove backup directory at $BACKUP_DIR? [y/N]: " CLEANUP - if [[ "$CLEANUP" =~ ^[Yy]$ ]]; then - rm -rf "$BACKUP_DIR" - msg_ok "Backup directory removed" - else - msg_info "Backup directory retained at $BACKUP_DIR" - fi - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" - fi - exit - -} - -start -build_container -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}:8000${CL}" diff --git a/ct/streamlink-webui.sh b/ct/streamlink-webui.sh deleted file mode 100644 index 252d858..0000000 --- a/ct/streamlink-webui.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: CrazyWolf13 -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://github.com/CrazyWolf13/streamlink-webui - -APP="streamlink-webui" -var_tags="${var_tags:-download,streaming}" -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_unprivileged="${var_unprivileged:-1}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - - if [[ ! -d /opt/streamlink-webui ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - RELEASE=$(curl -fsSL https://api.github.com/repos/CrazyWolf13/streamlink-webui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - msg_info "Stopping $APP" - systemctl stop ${APP} - msg_ok "Stopped $APP" - - rm -rf /opt/${APP} - NODE_VERSION="22" - NODE_MODULE="npm@latest,yarn@latest" - install_node_and_modules - setup_uv - fetch_and_deploy_gh_release "CrazyWolf13/streamlink-webui" - - msg_info "Updating $APP to v${RELEASE}" - $STD uv venv /opt/"${APP}"/backend/src/.venv - source /opt/"${APP}"/backend/src/.venv/bin/activate - $STD uv pip install -r /opt/streamlink-webui/backend/src/requirements.txt --python=/opt/"${APP}"/backend/src/.venv - cd /opt/"${APP}"/frontend/src - $STD yarn install - $STD yarn build - chmod +x /opt/"${APP}"/start.sh - msg_ok "Updated $APP to v${RELEASE}" - - msg_info "Starting $APP" - systemctl start ${APP} - msg_ok "Started $APP" - - msg_ok "Update Successful" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - fi - exit -} - -start -build_container -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}:8000${CL}" diff --git a/install/bookstack-install.sh b/install/bookstack-install.sh deleted file mode 100644 index bd1096f..0000000 --- a/install/bookstack-install.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (Canbiz) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/BookStackApp/BookStack - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Dependencies (Patience)" -$STD apt-get install -y \ - unzip \ - mariadb-server \ - apache2 \ - php8.2-{mbstring,gd,fpm,curl,intl,ldap,tidy,bz2,mysql,zip,xml} \ - composer \ - libapache2-mod-php \ - make -msg_ok "Installed Dependencies" - -msg_info "Setting up Database" -DB_NAME=bookstack -DB_USER=bookstack -DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD sudo mysql -u root -e "CREATE DATABASE $DB_NAME;" -$STD sudo mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" -$STD sudo mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" -{ - echo "Bookstack-Credentials" - echo "Bookstack Database User: $DB_USER" - echo "Bookstack Database Password: $DB_PASS" - echo "Bookstack Database Name: $DB_NAME" -} >>~/bookstack.creds -msg_ok "Set up database" - -msg_info "Setup Bookstack (Patience)" -LOCAL_IP="$(hostname -I | awk '{print $1}')" -cd /opt -fetch_and_deploy_gh_release BookstackApp/BookStack -cd /opt/bookstack -cp .env.example .env -sudo sed -i "s|APP_URL=.*|APP_URL=http://$LOCAL_IP|g" /opt/bookstack/.env -sudo sed -i "s/DB_DATABASE=.*/DB_DATABASE=$DB_NAME/" /opt/bookstack/.env -sudo sed -i "s/DB_USERNAME=.*/DB_USERNAME=$DB_USER/" /opt/bookstack/.env -sudo sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=$DB_PASS/" /opt/bookstack/.env -$STD composer install --no-dev --no-plugins --no-interaction -$STD php artisan key:generate --no-interaction --force -$STD php artisan migrate --no-interaction --force -chown www-data:www-data -R /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage -chmod -R 755 /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage -chmod -R 775 /opt/bookstack/storage /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads -chmod -R 640 /opt/bookstack/.env -$STD a2enmod rewrite -$STD a2enmod php8.2 -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -msg_ok "Installed Bookstack" - -msg_info "Creating Service" -cat </etc/apache2/sites-available/bookstack.conf - - ServerAdmin webmaster@localhost - DocumentRoot /opt/bookstack/public/ - - - Options -Indexes +FollowSymLinks - AllowOverride None - Require all granted - - - Options -MultiViews -Indexes - - - RewriteEngine On - - # Handle Authorization Header - RewriteCond %{HTTP:Authorization} . - RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] - - # Redirect Trailing Slashes If Not A Folder... - RewriteCond %{REQUEST_FILENAME} !-d - RewriteCond %{REQUEST_URI} (.+)/$ - RewriteRule ^ %1 [L,R=301] - - # Handle Front Controller... - RewriteCond %{REQUEST_FILENAME} !-d - RewriteCond %{REQUEST_FILENAME} !-f - RewriteRule ^ index.php [L] - - - - ErrorLog /var/log/apache2/error.log - CustomLog /var/log/apache2/access.log combined - - -EOF -$STD a2ensite bookstack.conf -$STD a2dissite 000-default.conf -$STD systemctl reload apache2 -msg_ok "Created Services" - -motd_ssh -customize - -msg_info "Cleaning up" -rm -rf /opt/v${RELEASE}.zip -$STD apt-get autoremove -$STD apt-get autoclean -msg_ok "Cleaned" diff --git a/install/gatus-install.sh b/install/gatus-install.sh deleted file mode 100644 index 8a2fc7a..0000000 --- a/install/gatus-install.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: Slaviša Arežina (tremor021) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/TwiN/gatus - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Dependencies" -$STD apt-get install -y \ - ca-certificates \ - libcap2-bin -msg_ok "Installed Dependencies" - -install_go - -RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -msg_info "Setting up gatus v${RELEASE}" -temp_file=$(mktemp) -mkdir -p /opt/gatus -curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" -tar zxf "$temp_file" --strip-components=1 -C /opt/gatus -cd /opt/gatus -$STD go mod tidy -CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus . -setcap CAP_NET_RAW+ep gatus -mv config.yaml config -echo "${RELEASE}" >/opt/gatus_version.txt -msg_ok "Done setting up gatus" - -msg_info "Creating Service" -cat </etc/systemd/system/gatus.service -[Unit] -Description=gatus Service -After=network.target - -[Service] -Type=simple -User=root -WorkingDirectory=/opt/gatus -ExecStart=/opt/gatus/gatus -Restart=always - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now gatus -msg_ok "Created Service" - -motd_ssh -customize - -msg_info "Cleaning up" -rm -f "$temp_file" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" - -motd_ssh -customize diff --git a/install/homeassistant-core-install.sh b/install/homeassistant-core-install.sh deleted file mode 100644 index 878c5c0..0000000 --- a/install/homeassistant-core-install.sh +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://www.home-assistant.io/ - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Dependencies (Patience)" -$STD apt-get install -y \ - git \ - gnupg \ - ca-certificates \ - bluez \ - libtiff6 \ - tzdata \ - libffi-dev \ - libssl-dev \ - libjpeg-dev \ - zlib1g-dev \ - autoconf \ - build-essential \ - libopenjp2-7 \ - libturbojpeg0-dev \ - ffmpeg \ - liblapack3 \ - liblapack-dev \ - dbus-broker \ - libpcap-dev \ - libavdevice-dev \ - libavformat-dev \ - libavcodec-dev \ - libavutil-dev \ - libavfilter-dev \ - libmariadb-dev-compat \ - libatlas-base-dev \ - software-properties-common \ - libmariadb-dev \ - pkg-config -msg_ok "Installed Dependencies" - -setup_uv -msg_info "Setup Python3" -$STD apt-get install -y \ - python3.13 \ - python3.13-dev \ - python3.13-venv -msg_ok "Setup Python3" - -msg_info "Preparing Python 3.13 for uv" -$STD uv python install 3.13 -UV_PYTHON=$(uv python list | awk '/3\.13\.[0-9]+.*\/root\/.local/ {print $2; exit}') -if [[ -z "$UV_PYTHON" ]]; then - msg_error "No local Python 3.13 found via uv" - exit 1 -fi -msg_ok "Prepared Python 3.13" - -msg_info "Setting up Home Assistant-Core environment" -rm -rf /srv/homeassistant -mkdir -p /srv/homeassistant -cd /srv/homeassistant -$STD uv venv .venv --python "$UV_PYTHON" -source .venv/bin/activate -msg_ok "Created virtual environment" - -msg_info "Installing Home Assistant-Core" -$STD uv pip install homeassistant mysqlclient psycopg2-binary isal webrtcvad wheel -mkdir -p /root/.homeassistant -msg_ok "Installed Home Assistant-Core" - -msg_info "Creating Service" -cat </etc/systemd/system/homeassistant.service -[Unit] -Description=Home Assistant -After=network-online.target - -[Service] -Type=simple -WorkingDirectory=/root/.homeassistant -Environment="PATH=/srv/homeassistant/.venv/bin:/usr/local/bin:/usr/bin" -ExecStart=/srv/homeassistant/.venv/bin/python3 -m homeassistant --config /root/.homeassistant -Restart=always -RestartForceExitStatus=100 - -[Install] -WantedBy=multi-user.target -EOF - -systemctl enable -q --now homeassistant -msg_ok "Created Service" - -motd_ssh -customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" diff --git a/install/odoo-install.sh b/install/odoo-install.sh index d73c9f3..cf75acf 100644 --- a/install/odoo-install.sh +++ b/install/odoo-install.sh @@ -2,8 +2,7 @@ # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) -# License: MIT -# https://github.com/tteck/Proxmox/raw/main/LICENSE +# License: MIT | https://github.com/tteck/Proxmox/raw/main/LICENSE # Source: https://github.com/odoo/odoo source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"