Compare commits

..

No commits in common. "d65d64e59e67f272df8c4d5527b709dde921f242" and "fad540cf4c05080eb05b3b71787930eb3a53b0fe" have entirely different histories.

9 changed files with 204 additions and 239 deletions

View File

@ -7,13 +7,13 @@
## ✍️ Description ## ✍️ Description
Provide a summary of the changes made and/or reference the issue being addressed. Provide a summary of the changes made and/or reference the issue being addressed.
-
- - - - - -
**_Please remove unneeded lines!_**
- Related Issue: # (issue number, if applicable) - Related Issue: # (issue number, if applicable)
- Related PR: # (if applicable) - Related PR: # (if applicable)
- Related Discussion: []()(if applicable) - Related Discussion: [Link](https://github.com/community-scripts/ProxmoxVE/discussions)
--- ---

View File

@ -16,25 +16,6 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT] > [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow Do not break established syntax in this file, as it is automatically updated by a Github Workflow
## 2024-12-17
### Changed
### 🚀 Updated Scripts
- fix spinner on lxc-ip-tag [@MickLesk](https://github.com/MickLesk) ([#876](https://github.com/community-scripts/ProxmoxVE/pull/876))
- Fix Keycloak Installation [@MickLesk](https://github.com/MickLesk) ([#874](https://github.com/community-scripts/ProxmoxVE/pull/874))
- Fix ports ressources [@MickLesk](https://github.com/MickLesk) ([#867](https://github.com/community-scripts/ProxmoxVE/pull/867))
### 🧰 Maintenance
- Small Changes to the PR Template [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#862](https://github.com/community-scripts/ProxmoxVE/pull/862))
### ❔ Unlabelled
- calculate terminal size for header_info [@MickLesk](https://github.com/MickLesk) ([#879](https://github.com/community-scripts/ProxmoxVE/pull/879))
- Fix header creation with figlet for alpine [@MickLesk](https://github.com/MickLesk) ([#869](https://github.com/community-scripts/ProxmoxVE/pull/869))
## 2024-12-16 ## 2024-12-16
### Changed ### Changed

View File

@ -8,9 +8,9 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values # App Default Values
APP="Adguard" APP="Adguard"
var_tags="adblock" var_tags="adblock"
var_cpu="1" var_cpu="2"
var_ram="512" var_ram="2048"
var_disk="2" var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
var_unprivileged="1" var_unprivileged="1"

View File

@ -41,13 +41,13 @@ function update_script() {
rm -rf kepubify-linux-64bit rm -rf kepubify-linux-64bit
curl -fsSLO https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-64bit curl -fsSLO https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-64bit
chmod +x kepubify-linux-64bit chmod +x kepubify-linux-64bit
menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF \ menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF
"2" "Enables sending emails via a googlemail account without enabling insecure apps" OFF \ "2" "Enables sending emails via a googlemail account without enabling insecure apps" OFF
"3" "Enables displaying of additional author infos on the authors page" OFF \ "3" "Enables displaying of additional author infos on the authors page" OFF
"4" "Enables login via LDAP server" OFF \ "4" "Enables login via LDAP server" OFF
"5" "Enables login via google or github oauth" OFF \ "5" "Enables login via google or github oauth" OFF
"6" "Enables extracting of metadata from epub, fb2, pdf files, and also extraction of covers from cbr, cbz, cbt files" OFF \ "6" "Enables extracting of metadata from epub, fb2, pdf files, and also extraction of covers from cbr, cbz, cbt files" OFF
"7" "Enables extracting of metadata from cbr, cbz, cbt files" OFF \ "7" "Enables extracting of metadata from cbr, cbz, cbt files" OFF
"8" "Enables syncing with your kobo reader" OFF) "8" "Enables syncing with your kobo reader" OFF)
if [ -f "/opt/calibre-web/options.txt" ]; then if [ -f "/opt/calibre-web/options.txt" ]; then
cps_options="$(cat /opt/calibre-web/options.txt)" cps_options="$(cat /opt/calibre-web/options.txt)"

View File

@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values # App Default Values
APP="Keycloak" APP="Keycloak"
var_tags="access-management" var_tags="access management"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_disk="4" var_disk="4"

View File

@ -57,4 +57,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:32400/web${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:23400/web${CL}"

View File

@ -19,7 +19,7 @@
"script": "ct/photoprism.sh", "script": "ct/photoprism.sh",
"resources": { "resources": {
"cpu": 2, "cpu": 2,
"ram": 3072, "ram": 2048,
"hdd": 8, "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"

View File

@ -7,8 +7,8 @@
# Source: https://github.com/gitsang/lxc-iptag # Source: https://github.com/gitsang/lxc-iptag
function header_info { function header_info {
clear clear
cat <<"EOF" cat <<"EOF"
__ _ ________ ________ ______ __ _ ________ ________ ______
/ / | |/ / ____/ / _/ __ \ /_ __/___ _____ _ / / | |/ / ____/ / _/ __ \ /_ __/___ _____ _
/ / | / / / // /_/ /_____/ / / __ `/ __ `/ / / | / / / // /_/ /_____/ / / __ `/ __ `/
@ -41,7 +41,7 @@ catch_errors() {
# This function is called when an error occurs. It receives the exit code, line number, and command that caused the error, and displays an error message. # This function is called when an error occurs. It receives the exit code, line number, and command that caused the error, and displays an error message.
error_handler() { error_handler() {
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h" printf "\e[?25h"
local exit_code="$?" local exit_code="$?"
local line_number="$1" local line_number="$1"
@ -50,18 +50,16 @@ error_handler() {
echo -e "\n$error_message\n" echo -e "\n$error_message\n"
} }
# This function displays a spinner.
spinner() { spinner() {
local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏') local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
local spin_i=0 local spin_i=0
local interval=0.1 local interval=0.1
printf "\e[?25l" printf "\e[?25l"
local orange="\e[38;5;214m"
local color="${YWB}"
while true; do while true; do
printf "\r ${color}%s${CL}" "${frames[spin_i]}" printf "\r ${orange}%s\e[0m " "${frames[spin_i]}"
spin_i=$(((spin_i + 1) % ${#frames[@]})) spin_i=$(( (spin_i + 1) % ${#frames[@]} ))
sleep "$interval" sleep "$interval"
done done
} }
@ -69,36 +67,33 @@ spinner() {
# This function displays an informational message with a yellow color. # This function displays an informational message with a yellow color.
msg_info() { msg_info() {
local msg="$1" local msg="$1"
echo -ne "${TAB}${YW}${HOLD}${msg}${HOLD}" echo -ne " ${HOLD} ${YW}${msg} "
spinner & spinner &
SPINNER_PID=$! SPINNER_PID=$!
} }
# This function displays a success message with a green color. # This function displays a success message with a green color.
msg_ok() { msg_ok() {
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h" printf "\e[?25h"
local msg="$1" local msg="$1"
echo -e "${BFR}${CM}${GN}${msg}${CL}" echo -e "${BFR}${CM} ${GN}${msg}${CL}"
} }
# This function displays a error message with a red color. # This function displays a error message with a red color.
msg_error() { msg_error() {
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h" printf "\e[?25h"
local msg="$1" local msg="$1"
echo -e "${BFR}${CROSS}${RD}${msg}${CL}" echo -e "${BFR}${CROSS} ${RD}${msg}${CL}"
} }
while true; do while true; do
read -p "This will install ${APP} on ${hostname}. Proceed? (y/n): " yn read -p "This will install ${APP} on ${hostname}. Proceed? (y/n): " yn
case $yn in case $yn in
[Yy]*) break ;; [Yy]*) break ;;
[Nn]*) [Nn]*) msg_info "Installation cancelled."; exit ;;
msg_error "Installation cancelled." *) msg_info "Please answer yes or no." ;;
exit
;;
*) msg_error "Please answer yes or no." ;;
esac esac
done done
@ -123,11 +118,10 @@ msg_ok "Installed Dependencies"
msg_info "Setting up IP-Tag Scripts" msg_info "Setting up IP-Tag Scripts"
mkdir -p /opt/lxc-iptag mkdir -p /opt/lxc-iptag
msg_ok "Setup IP-Tag Scripts"
msg_info "Setup Default Config" msg_info "Setup Default Config"
if [[ ! -f /opt/lxc-iptag/iptag.conf ]]; then if [[ ! -f /opt/lxc-iptag/iptag.conf ]]; then
cat <<EOF >/opt/lxc-iptag/iptag.conf cat <<EOF > /opt/lxc-iptag/iptag.conf
# Configuration file for LXC IP tagging # Configuration file for LXC IP tagging
# List of allowed CIDRs # List of allowed CIDRs
@ -150,7 +144,7 @@ fi
msg_info "Setup Main Function" msg_info "Setup Main Function"
if [[ ! -f /opt/lxc-iptag/iptag ]]; then if [[ ! -f /opt/lxc-iptag/iptag ]]; then
cat <<'EOF' >/opt/lxc-iptag/iptag cat <<'EOF' > /opt/lxc-iptag/iptag
#!/bin/bash #!/bin/bash
# =============== CONFIGURATION =============== # # =============== CONFIGURATION =============== #
@ -328,7 +322,8 @@ chmod +x /opt/lxc-iptag/iptag
msg_info "Creating Service" msg_info "Creating Service"
if [[ ! -f /lib/systemd/system/iptag.service ]]; then if [[ ! -f /lib/systemd/system/iptag.service ]]; then
cat <<EOF >/lib/systemd/system/iptag.service echo "Systemd service file not found. Creating it now..."
cat <<EOF > /lib/systemd/system/iptag.service
[Unit] [Unit]
Description=LXC IP-Tag service Description=LXC IP-Tag service
After=network.target After=network.target
@ -352,5 +347,5 @@ msg_info "Starting Service"
systemctl daemon-reload &>/dev/null systemctl daemon-reload &>/dev/null
systemctl enable -q --now iptag.service &>/dev/null systemctl enable -q --now iptag.service &>/dev/null
msg_ok "Started Service" msg_ok "Started Service"
SPINNER_PID=""
echo -e "\n${APP} installation completed successfully! ${CL}\n" echo -e "\n${APP} installation completed successfully! ${CL}\n"

View File

@ -158,19 +158,8 @@ arch_check() {
# This function sets the APP-Name into an ASCII Header in Slant, figlet needed on proxmox main node. # This function sets the APP-Name into an ASCII Header in Slant, figlet needed on proxmox main node.
header_info() { header_info() {
if [ -f /etc/debian_version ]; then
# Debian/Ubuntu
apt-get install -y figlet &> /dev/null apt-get install -y figlet &> /dev/null
elif [ -f /etc/alpine-release ]; then ascii_art=$(figlet -f slant "$APP")
# Alpine Linux
apk add --no-cache figlet &> /dev/null
else
echo "Unsupported OS"
return 1
fi
term_width=$(tput cols)
ascii_art=$(figlet -f slant -w "$term_width" "$APP")
clear clear
cat <<EOF cat <<EOF
$ascii_art $ascii_art