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"