diff --git a/CHANGELOG.md b/CHANGELOG.md index fd304c7d8..3d9428aad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,11 @@

All notable changes to this project will be documented in this file.

-> [!WARNING] +> [!CAUTION] Be cautious of copycat or coat-tailing sites that exploit the project's popularity with potentially malicious intent. Please only trust information from https://Helper-Scripts.com/ or https://tteck.github.io/Proxmox/. -- All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +> [!NOTE] +All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. ## 2024-08-21 diff --git a/ct/collabora.sh b/ct/collabora.sh new file mode 100644 index 000000000..56c3a977b --- /dev/null +++ b/ct/collabora.sh @@ -0,0 +1,71 @@ +#!/usr/bin/env bash +source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) +# Copyright (c) 2021-2024 tteck +# Author: tteck (tteckster) +# Co-Author: remz1337 +# License: MIT +# https://github.com/tteck/Proxmox/raw/main/LICENSE + +function header_info { +clear +cat <<"EOF" + ______ ____ __ + / ____/___ / / /___ _/ /_ ____ _________ _ + / / / __ \/ / / __ `/ __ \/ __ \/ ___/ __ `/ +/ /___/ /_/ / / / /_/ / /_/ / /_/ / / / /_/ / +\____/\____/_/_/\__,_/_.___/\____/_/ \__,_/ + +EOF +} +header_info +echo -e "Loading..." +APP="Collabora" +var_disk="12" +var_cpu="1" +var_ram="1024" +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 [[ ! -f /lib/systemd/system/coolwsd.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi + msg_info "Updating ${APP} LXC" + apt-get update &>/dev/null + apt-get -y upgrade &>/dev/null + msg_ok "Updated ${APP} LXC" + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${APP} needs to be behind a proxy (Nginx Proxy Manager)." diff --git a/ct/frigate.sh b/ct/frigate.sh index 0aeac7057..d2b7c2fd0 100644 --- a/ct/frigate.sh +++ b/ct/frigate.sh @@ -55,7 +55,7 @@ function default_settings() { function update_script() { if [[ ! -f /etc/systemd/system/frigate.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi - msg_error "There is currently no update path available." + msg_error "To update Frigate, create a new container and transfer your configuration." exit } diff --git a/ct/prometheus.sh b/ct/prometheus.sh index 48c0f5b10..88ade8044 100644 --- a/ct/prometheus.sh +++ b/ct/prometheus.sh @@ -55,7 +55,30 @@ function default_settings() { function update_script() { header_info if [[ ! -f /etc/systemd/system/prometheus.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi -msg_error "There is currently no update path available." +RELEASE=$(curl -s https://api.github.com/repos/prometheus/prometheus/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 ${APP}" + systemctl stop prometheus + msg_ok "Stopped ${APP}" + + msg_info "Updating ${APP} to ${RELEASE}" + wget -q https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz + tar -xf prometheus-${RELEASE}.linux-amd64.tar.gz + cd prometheus-${RELEASE}.linux-amd64 + cp -rf prometheus promtool /usr/local/bin/ + cp -rf consoles/ console_libraries/ /etc/prometheus/ + cd ~ + rm -rf prometheus-${RELEASE}.linux-amd64 prometheus-${RELEASE}.linux-amd64.tar.gz + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated ${APP} to ${RELEASE}" + + msg_info "Starting ${APP}" + systemctl start prometheus + msg_ok "Started ${APP}" + msg_ok "Updated Successfully" +else + msg_ok "No update required. ${APP} is already at ${RELEASE}" +fi exit } diff --git a/install/collabora-install.sh b/install/collabora-install.sh new file mode 100644 index 000000000..570d6ae80 --- /dev/null +++ b/install/collabora-install.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2024 tteck +# Author: tteck (tteckster) +# Co-Author: remz1337 +# 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 +msg_ok "Installed Dependencies" + +msg_info "Installing Collabora Online" +wget -q -O /usr/share/keyrings/collaboraonline-release-keyring.gpg https://collaboraoffice.com/downloads/gpg/collaboraonline-release-keyring.gpg +cat </etc/apt/sources.list.d/collaboraonline.sources +Types: deb +URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb +Suites: ./ +Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg +EOF +$STD apt update +$STD apt install -y coolwsd code-brand collaboraoffice* +sed -i 's|true|false|g' /etc/coolwsd/coolwsd.xml +sed -i 's|false|true|g' /etc/coolwsd/coolwsd.xml +systemctl restart coolwsd +msg_ok "Installed Collabora Online" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" diff --git a/install/jellyfin-install.sh b/install/jellyfin-install.sh index ec466f4d2..031ca1b44 100644 --- a/install/jellyfin-install.sh +++ b/install/jellyfin-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y curl $STD apt-get install -y sudo -$STD apt-get install -y gnupg +$STD apt-get install -y gpg $STD apt-get install -y mc $STD apt-get install -y wget $STD apt-get install -y openssh-server @@ -53,6 +53,9 @@ EOF # Install Jellyfin using the metapackage (which will fetch jellyfin-server, jellyfin-web, and jellyfin-ffmpeg5) $STD apt-get update $STD apt-get install -y jellyfin +chown -R jellyfin:adm /etc/jellyfin +sleep 10 +systemctl restart jellyfin if [[ "$CTTYPE" == "0" ]]; then sed -i -e 's/^ssl-cert:x:104:$/render:x:104:root,jellyfin/' -e 's/^render:x:108:root,jellyfin$/ssl-cert:x:108:/' /etc/group else diff --git a/install/mariadb-install.sh b/install/mariadb-install.sh index 8aa9d66ab..3ad8dbdcb 100644 --- a/install/mariadb-install.sh +++ b/install/mariadb-install.sh @@ -22,8 +22,6 @@ $STD apt-get install -y openssh-server msg_ok "Installed Dependencies" msg_info "Installing MariaDB" -$STD bash <(curl -fsSL https://r.mariadb.com/downloads/mariadb_repo_setup) -$STD apt-get update $STD apt-get install -y mariadb-server sed -i 's/^# *\(port *=.*\)/\1/' /etc/mysql/my.cnf sed -i 's/^bind-address/#bind-address/g' /etc/mysql/mariadb.conf.d/50-server.cnf diff --git a/install/plex-install.sh b/install/plex-install.sh index 81e54d8d4..055712a38 100644 --- a/install/plex-install.sh +++ b/install/plex-install.sh @@ -19,6 +19,7 @@ $STD apt-get install -y sudo $STD apt-get install -y mc $STD apt-get install -y wget $STD apt-get install -y openssh-server +$STD apt-get install -y gpg msg_ok "Installed Dependencies" msg_info "Setting Up Hardware Acceleration" diff --git a/install/prometheus-install.sh b/install/prometheus-install.sh index 827158085..022f0450c 100644 --- a/install/prometheus-install.sh +++ b/install/prometheus-install.sh @@ -25,12 +25,13 @@ msg_info "Installing Prometheus" RELEASE=$(curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /etc/prometheus mkdir -p /var/lib/prometheus -$STD wget https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-arm64.tar.gz -$STD tar -xvf prometheus-${RELEASE}.linux-arm64.tar.gz +wget -q https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-arm64.tar.gz +tar -xf prometheus-${RELEASE}.linux-arm64.tar.gz cd prometheus-${RELEASE}.linux-arm64 mv prometheus promtool /usr/local/bin/ mv consoles/ console_libraries/ /etc/prometheus/ mv prometheus.yml /etc/prometheus/prometheus.yml +echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Prometheus" msg_info "Creating Service" @@ -53,7 +54,7 @@ ExecStart=/usr/local/bin/prometheus \ [Install] WantedBy=multi-user.target" >$service_path -$STD sudo systemctl enable --now prometheus +systemctl enable -q --now prometheus msg_ok "Created Service" motd_ssh diff --git a/install/wireguard-install.sh b/install/wireguard-install.sh index 7661323fa..0b91425d9 100644 --- a/install/wireguard-install.sh +++ b/install/wireguard-install.sh @@ -24,6 +24,9 @@ msg_ok "Installed Dependencies" msg_info "Installing WireGuard" $STD apt-get install -y wireguard wireguard-tools net-tools iptables +iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE +DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confnew" install -y iptables-persistent &>/dev/null +$STD netfilter-persistent reload msg_ok "Installed WireGuard" msg_info "Installing WGDashboard" diff --git a/vm/mikrotik-routeros.sh b/vm/mikrotik-routeros.sh index 29b41892d..4b0978fa3 100644 --- a/vm/mikrotik-routeros.sh +++ b/vm/mikrotik-routeros.sh @@ -234,7 +234,7 @@ msg_ok "Using ${CL}${BL}$STORAGE${CL} ${GN}for Storage Location." msg_ok "Virtual Machine ID is ${CL}${BL}$VMID${CL}." msg_info "Getting URL for Mikrotik RouterOS CHR Disk Image" -URL=https://download.mikrotik.com/routeros/7.15.2/chr-7.15.2.img.zip +URL=https://download.mikrotik.com/routeros/7.15.3/chr-7.15.3.img.zip sleep 2 msg_ok "${CL}${BL}${URL}${CL}" diff --git a/vm/ubuntu2404-vm.sh b/vm/ubuntu2404-vm.sh index 6e76e332d..8244b4362 100644 --- a/vm/ubuntu2404-vm.sh +++ b/vm/ubuntu2404-vm.sh @@ -133,7 +133,6 @@ function default_settings() { MAC="$GEN_MAC" VLAN="" MTU="" - START_VM="no" echo -e "${DGN}Using Virtual Machine ID: ${BGN}${VMID}${CL}" echo -e "${DGN}Using Machine Type: ${BGN}i440fx${CL}" echo -e "${DGN}Using Disk Cache: ${BGN}None${CL}" @@ -145,7 +144,6 @@ function default_settings() { echo -e "${DGN}Using MAC Address: ${BGN}${MAC}${CL}" echo -e "${DGN}Using VLAN: ${BGN}Default${CL}" echo -e "${DGN}Using Interface MTU Size: ${BGN}Default${CL}" - echo -e "${DGN}Start VM when completed: ${BGN}no${CL}" echo -e "${BL}Creating an Ubuntu 24.04 VM using the above default settings${CL}" } @@ -297,14 +295,6 @@ function advanced_settings() { exit-script fi - if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "START VIRTUAL MACHINE" --yesno "Start VM when completed?" 10 58); then - echo -e "${DGN}Start VM when completed: ${BGN}yes${CL}" - START_VM="yes" - else - echo -e "${DGN}Start VM when completed: ${BGN}no${CL}" - START_VM="no" - fi - if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create an Ubuntu 24.04 VM?" --no-button Do-Over 10 58); then echo -e "${RD}Creating an Ubuntu 24.04 VM using the above advanced settings${CL}" else @@ -408,11 +398,6 @@ qm set $VMID \ " >/dev/null msg_ok "Created a Ubuntu 24.04 VM ${CL}${BL}(${HN})" -if [ "$START_VM" == "yes" ]; then - msg_info "Starting Ubuntu 24.04 VM" - qm start $VMID - msg_ok "Started Ubuntu 24.04 VM" -fi msg_ok "Completed Successfully!\n" echo -e "Setup Cloud-Init before starting \n More info at https://github.com/tteck/Proxmox/discussions/2072 \n"