diff --git a/USER_SUBMITTED_GUIDES.md b/USER_SUBMITTED_GUIDES.md index ff89b37d..a1a3aae9 100644 --- a/USER_SUBMITTED_GUIDES.md +++ b/USER_SUBMITTED_GUIDES.md @@ -40,3 +40,5 @@ [Proxmox Homelab Series]() [The fastest installation of Docker and Portainer on Proxmox VE](https://lavr.site/en-fastest-install-docker-portainer-proxmox/) + +[How To Setup Proxmox Backuper Server Using Helper Scripts]() diff --git a/ct/bunkerweb.sh b/ct/bunkerweb.sh index 42f0e50f..98a80963 100644 --- a/ct/bunkerweb.sh +++ b/ct/bunkerweb.sh @@ -66,7 +66,7 @@ Pin: version ${RELEASE} Pin-Priority: 1001 EOF apt-get update - apt-get install -y nginx=1.26.1* + apt-get install -y nginx=1.26.2* apt-get install -y bunkerweb=${RELEASE} echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated ${APP} to ${RELEASE}" diff --git a/ct/openwebui.sh b/ct/openwebui.sh new file mode 100644 index 00000000..051c42f6 --- /dev/null +++ b/ct/openwebui.sh @@ -0,0 +1,84 @@ +#!/usr/bin/env bash +source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) +# Copyright (c) 2021-2024 tteck +# Author: tteck +# Co-Author: havardthom +# License: MIT +# https://github.com/tteck/Proxmox/raw/main/LICENSE + +function header_info { +clear +cat <<"EOF" + ____ _ __ __ __ ______ + / __ \____ ___ ____ | | / /__ / /_ / / / / _/ + / / / / __ \/ _ \/ __ \ | | /| / / _ \/ __ \/ / / // / +/ /_/ / /_/ / __/ / / / | |/ |/ / __/ /_/ / /_/ // / +\____/ .___/\___/_/ /_/ |__/|__/\___/_.___/\____/___/ + /_/ + +EOF +} +header_info +echo -e "Loading..." +APP="Open WebUI" +var_disk="16" +var_cpu="4" +var_ram="4096" +var_os="debian" +var_version="12" +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/open-webui ]]; then msg_error "No ${APP} Installation Found!"; exit; fi +msg_info "Updating ${APP} (Patience)" +cd /opt/open-webui +output=$(git pull --no-rebase) +if echo "$output" | grep -q "Already up to date." +then + msg_ok "$APP is already up to date." + exit +fi +systemctl stop open-webui.service +npm install &>/dev/null +npm run build &>/dev/null +cd ./backend +pip install -r requirements.txt -U &>/dev/null +systemctl start open-webui.service +msg_ok "Updated Successfully" +exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${APP} should be reachable by going to the following URL. + ${BL}http://${IP}:8080${CL} \n" diff --git a/ct/peanut.sh b/ct/peanut.sh index d776df0d..f327e0e8 100644 --- a/ct/peanut.sh +++ b/ct/peanut.sh @@ -68,6 +68,8 @@ function update_script() { pnpm i &>/dev/null pnpm run build &>/dev/null cp -r .next/static .next/standalone/.next/ + mkdir -p /opt/peanut/.next/standalone/config + ln -sf /etc/peanut/settings.yml /opt/peanut/.next/standalone/config/settings.yml systemctl start peanut echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated $APP to ${RELEASE}" diff --git a/ct/vaultwarden.sh b/ct/vaultwarden.sh index 612a20ec..95b92bbb 100644 --- a/ct/vaultwarden.sh +++ b/ct/vaultwarden.sh @@ -57,7 +57,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - 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 + VAULT=$(curl -s https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') @@ -73,7 +73,7 @@ function update_script() { header_info if [ "$UPD" == "1" ]; then - echo -e "\n ⚠️ Ensure you set 4vCPU & 4096MiB RAM minimum!!! \n" + 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 Vaultwarden" systemctl stop vaultwarden.service msg_ok "Stopped Vaultwarden" diff --git a/install/bunkerweb-install.sh b/install/bunkerweb-install.sh index aeb4e587..c195030e 100644 --- a/install/bunkerweb-install.sh +++ b/install/bunkerweb-install.sh @@ -26,7 +26,7 @@ msg_info "Installing Nginx" wget -qO- https://nginx.org/keys/nginx_signing.key | gpg --dearmor >/usr/share/keyrings/nginx-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian $(lsb_release -cs) nginx" >/etc/apt/sources.list.d/nginx.list $STD apt-get update -$STD apt-get install -y nginx=1.26.1* +$STD apt-get install -y nginx=1.26.2* msg_ok "Installed Nginx" RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') diff --git a/install/openwebui-install.sh b/install/openwebui-install.sh new file mode 100644 index 00000000..a5edd864 --- /dev/null +++ b/install/openwebui-install.sh @@ -0,0 +1,81 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2024 tteck +# Author: tteck +# Co-Author: havardthom +# License: MIT +# https://github.com/tteck/Proxmox/raw/main/LICENSE + +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 curl +$STD apt-get install -y sudo +$STD apt-get install -y mc +$STD apt-get install -y gpg +$STD apt-get install -y git +msg_ok "Installed Dependencies" + +msg_info "Installing Python3 Dependencies" +$STD apt-get install -y --no-install-recommends \ + python3 \ + python3-pip +msg_ok "Installed Python3 Dependencies" + +msg_info "Setting up Node.js Repository" +mkdir -p /etc/apt/keyrings +curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg +echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list +msg_ok "Set up Node.js Repository" + +msg_info "Installing Node.js" +$STD apt-get update +$STD apt-get install -y nodejs +msg_ok "Installed Node.js" + +msg_info "Installing Open WebUI (Patience)" +$STD git clone https://github.com/open-webui/open-webui.git /opt/open-webui +cd /opt/open-webui/backend +$STD pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu +$STD pip3 install -r requirements.txt -U +cd /opt/open-webui +cp .env.example .env +cat </opt/open-webui/.env +ENV=prod +ENABLE_OLLAMA_API=false +EOF +$STD npm install +$STD npm run build +msg_ok "Installed Open WebUI" + +msg_info "Creating Service" +cat </etc/systemd/system/open-webui.service +[Unit] +Description=Open WebUI Service +After=network.target + +[Service] +Type=exec +WorkingDirectory=/opt/open-webui +EnvironmentFile=/opt/open-webui/.env +ExecStart=/opt/open-webui/backend/start.sh + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now open-webui.service +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/peanut-install.sh b/install/peanut-install.sh index f32e764f..fa4a6215 100644 --- a/install/peanut-install.sh +++ b/install/peanut-install.sh @@ -44,6 +44,15 @@ $STD npm install -g pnpm $STD pnpm i $STD pnpm run build cp -r .next/static .next/standalone/.next/ +mkdir -p /opt/peanut/.next/standalone/config +mkdir -p /etc/peanut/ +cat </etc/peanut/settings.yml +WEB_HOST: 0.0.0.0 +WEB_PORT: 3000 +NUT_HOST: 0.0.0.0 +NUT_PORT: 3493 +EOF +ln -sf /etc/peanut/settings.yml /opt/peanut/.next/standalone/config/settings.yml msg_ok "Installed Peanut" msg_info "Creating Service" @@ -57,10 +66,10 @@ Restart=always RestartSec=5 Type=simple Environment="NODE_ENV=production" -Environment="NUT_HOST=localhost" -Environment="NUT_PORT=3493" -Environment="WEB_HOST=0.0.0.0" -Environment="WEB_PORT=3000" +#Environment="NUT_HOST=localhost" +#Environment="NUT_PORT=3493" +#Environment="WEB_HOST=0.0.0.0" +#Environment="WEB_PORT=3000" WorkingDirectory=/opt/peanut ExecStart=node /opt/peanut/.next/standalone/server.js TimeoutStopSec=30 @@ -76,4 +85,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" \ No newline at end of file +msg_ok "Cleaned"