mirror of
https://github.com/community-scripts/ProxmoxVE
synced 2025-01-10 10:55:10 +00:00
Compare commits
13 Commits
6c07d379c0
...
de090b320a
Author | SHA1 | Date | |
---|---|---|---|
|
de090b320a | ||
|
749e487032 | ||
|
be1821b16f | ||
|
baa578c20a | ||
|
d8f433c94a | ||
|
3ad50eb427 | ||
|
2c24952cd2 | ||
|
9d2ba6739b | ||
|
3a9d55abf4 | ||
|
824a985283 | ||
|
e3828a6365 | ||
|
e13dadf935 | ||
|
c203725e33 |
9
.github/workflows/changelog-pr.yml
vendored
9
.github/workflows/changelog-pr.yml
vendored
@ -71,7 +71,9 @@ jobs:
|
|||||||
});
|
});
|
||||||
|
|
||||||
pulls.filter((pr) =>
|
pulls.filter((pr) =>
|
||||||
pr.merged_at && new Date(pr.merged_at) > latestDateInChangelog
|
pr.merged_at &&
|
||||||
|
new Date(pr.merged_at) > latestDateInChangelog &&
|
||||||
|
!pr.labels.some((label) => ["invalid", "wontdo", process.env.AUTOMATED_PR_LABEL].includes(label.name.toLowerCase()))
|
||||||
).forEach((pr) => {
|
).forEach((pr) => {
|
||||||
const prLabels = pr.labels.map((label) => label.name.toLowerCase());
|
const prLabels = pr.labels.map((label) => label.name.toLowerCase());
|
||||||
const prNote = `- ${pr.title} [@${pr.user.login}](https://github.com/${pr.user.login}) ([#${pr.number}](${pr.html_url}))`;
|
const prNote = `- ${pr.title} [@${pr.user.login}](https://github.com/${pr.user.login}) ([#${pr.number}](${pr.html_url}))`;
|
||||||
@ -79,12 +81,11 @@ jobs:
|
|||||||
for (const { labels, notes } of categorizedPRs) {
|
for (const { labels, notes } of categorizedPRs) {
|
||||||
const prHasCategoryLabel = labels.some((label) => prLabels.includes(label));
|
const prHasCategoryLabel = labels.some((label) => prLabels.includes(label));
|
||||||
const isUnlabelledCategory = labels.length === 0;
|
const isUnlabelledCategory = labels.length === 0;
|
||||||
const prShouldBeExcluded = prLabels.includes(process.env.AUTOMATED_PR_LABEL);
|
if (prHasCategoryLabel || isUnlabelledCategory) {
|
||||||
if ((prHasCategoryLabel || isUnlabelledCategory) && !prShouldBeExcluded) {
|
|
||||||
notes.push(prNote);
|
notes.push(prNote);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return categorizedPRs;
|
return categorizedPRs;
|
||||||
|
@ -20,16 +20,19 @@ Do not break established syntax in this file, as it is automatically updated by
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Removal calibre-server (no Headless Support) [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1362](https://github.com/community-scripts/ProxmoxVE/pull/1362))
|
||||||
|
|
||||||
### ✨ New Scripts
|
### ✨ New Scripts
|
||||||
|
|
||||||
- New Script: Prometheus Alertmanager [@andygrunwald](https://github.com/andygrunwald) ([#1272](https://github.com/community-scripts/ProxmoxVE/pull/1272))
|
- New Script: Prometheus Alertmanager [@andygrunwald](https://github.com/andygrunwald) ([#1272](https://github.com/community-scripts/ProxmoxVE/pull/1272))
|
||||||
- New script: ps5-mqtt [@liecno](https://github.com/liecno) ([#1198](https://github.com/community-scripts/ProxmoxVE/pull/1198))
|
- New script: ps5-mqtt [@liecno](https://github.com/liecno) ([#1198](https://github.com/community-scripts/ProxmoxVE/pull/1198))
|
||||||
- New Script: calibre-server [@ThisIsJeron](https://github.com/ThisIsJeron) ([#960](https://github.com/community-scripts/ProxmoxVE/pull/960))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Fix: AdventureLog: unzip to /opt/ [@JesperDramsch](https://github.com/JesperDramsch) ([#1370](https://github.com/community-scripts/ProxmoxVE/pull/1370))
|
||||||
- Fix: Stirling-PDF > LibreOffice/unoconv Integration Issues [@m6urns](https://github.com/m6urns) ([#1322](https://github.com/community-scripts/ProxmoxVE/pull/1322))
|
- Fix: Stirling-PDF > LibreOffice/unoconv Integration Issues [@m6urns](https://github.com/m6urns) ([#1322](https://github.com/community-scripts/ProxmoxVE/pull/1322))
|
||||||
- Update calibre-server-install.sh [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1359](https://github.com/community-scripts/ProxmoxVE/pull/1359))
|
|
||||||
- Fix: AdventureLog - update script bug [@JesperDramsch](https://github.com/JesperDramsch) ([#1334](https://github.com/community-scripts/ProxmoxVE/pull/1334))
|
- Fix: AdventureLog - update script bug [@JesperDramsch](https://github.com/JesperDramsch) ([#1334](https://github.com/community-scripts/ProxmoxVE/pull/1334))
|
||||||
- Install/update ActualBudget based on releases, not latest master [@SpyrosRoum](https://github.com/SpyrosRoum) ([#1254](https://github.com/community-scripts/ProxmoxVE/pull/1254))
|
- Install/update ActualBudget based on releases, not latest master [@SpyrosRoum](https://github.com/SpyrosRoum) ([#1254](https://github.com/community-scripts/ProxmoxVE/pull/1254))
|
||||||
- Fix Checkmk: Version grep broken [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1341](https://github.com/community-scripts/ProxmoxVE/pull/1341))
|
- Fix Checkmk: Version grep broken [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1341](https://github.com/community-scripts/ProxmoxVE/pull/1341))
|
||||||
|
@ -42,7 +42,7 @@ function update_script() {
|
|||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
mv /opt/adventurelog/ /opt/adventurelog-backup/
|
mv /opt/adventurelog/ /opt/adventurelog-backup/
|
||||||
wget -qO /opt/v${RELEASE}.zip "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
|
wget -qO /opt/v${RELEASE}.zip "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
|
||||||
unzip -q /opt/v${RELEASE}.zip
|
unzip -q /opt/v${RELEASE}.zip -d /opt/
|
||||||
mv /opt/AdventureLog-${RELEASE} /opt/adventurelog
|
mv /opt/AdventureLog-${RELEASE} /opt/adventurelog
|
||||||
|
|
||||||
mv /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
|
mv /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
|
||||||
|
@ -1,63 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
|
||||||
# Author: thisisjeron
|
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
# Source: https://calibre-ebook.com
|
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Calibre-Server"
|
|
||||||
var_tags="eBook"
|
|
||||||
var_cpu="2"
|
|
||||||
var_ram="1024"
|
|
||||||
var_disk="4"
|
|
||||||
var_os="debian"
|
|
||||||
var_version="12"
|
|
||||||
var_unprivileged="1"
|
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
|
||||||
color
|
|
||||||
catch_errors
|
|
||||||
|
|
||||||
function update_script() {
|
|
||||||
header_info
|
|
||||||
check_container_storage
|
|
||||||
check_container_resources
|
|
||||||
|
|
||||||
if [[ ! -f /etc/systemd/system/calibre-server.service ]]; then
|
|
||||||
msg_error "No ${APP} Installation Found!"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
msg_info "Stopping ${APP}"
|
|
||||||
systemctl stop calibre-server
|
|
||||||
msg_ok "Stopped ${APP}"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP} Packages"
|
|
||||||
apt-get update &>/dev/null
|
|
||||||
apt-get -y upgrade &>/dev/null
|
|
||||||
msg_ok "Packages updated"
|
|
||||||
|
|
||||||
msg_info "Updating Calibre (latest)"
|
|
||||||
wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin &>/dev/null
|
|
||||||
msg_ok "Updated Calibre"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
|
||||||
systemctl start calibre-server
|
|
||||||
msg_ok "Started ${APP}"
|
|
||||||
msg_ok "Updated Successfully"
|
|
||||||
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}:8180${CL}"
|
|
1
debug.log
Normal file
1
debug.log
Normal file
@ -0,0 +1 @@
|
|||||||
|
[0109/144328.376:ERROR:registration_protocol_win.cc(108)] CreateFile: Das System kann die angegebene Datei nicht finden. (0x2)
|
@ -1,62 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2021-2024
|
|
||||||
# Author: thisisjeron
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/community-scripts/ProxmoxVE/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 \
|
|
||||||
sudo \
|
|
||||||
curl \
|
|
||||||
mc \
|
|
||||||
imagemagick \
|
|
||||||
xvfb \
|
|
||||||
libxcomposite1 \
|
|
||||||
libegl1 \
|
|
||||||
libopengl0 \
|
|
||||||
libxcb-cursor0
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Calibre"
|
|
||||||
wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin
|
|
||||||
useradd -c "Calibre Server" -d /opt/calibre -s /bin/bash -m calibre
|
|
||||||
mkdir -p /opt/calibre/calibre-library
|
|
||||||
chown -R calibre:calibre /opt/calibre
|
|
||||||
msg_ok "Installed Calibre"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
cat <<EOF >/etc/systemd/system/calibre-server.service
|
|
||||||
[Unit]
|
|
||||||
Description=Calibre Content Server
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
User=calibre
|
|
||||||
Group=calibre
|
|
||||||
ExecStart=/opt/calibre/calibre-server --port=8180 --enable-local-write /opt/calibre/calibre-library
|
|
||||||
Restart=always
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
systemctl enable -q --now calibre-server.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"
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Calibre-Server",
|
|
||||||
"slug": "calibre-server",
|
|
||||||
"categories": [
|
|
||||||
12
|
|
||||||
],
|
|
||||||
"date_created": "2025-01-09",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": 8180,
|
|
||||||
"documentation": null,
|
|
||||||
"website": "https://calibre-ebook.com",
|
|
||||||
"logo": "https://calibre-ebook.com/resources/icons/calibre_icon.png",
|
|
||||||
"description": "Calibre content server is used to manage and serve eBooks over the network.",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "ct/calibre-server.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 2,
|
|
||||||
"ram": 1024,
|
|
||||||
"hdd": 4,
|
|
||||||
"os": "debian",
|
|
||||||
"version": "12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
},
|
|
||||||
"notes": [
|
|
||||||
{
|
|
||||||
"text": "By default, the Calibre Server runs on port 8180 with no username/password.",
|
|
||||||
"type": "info"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Use 'calibredb add' from the calibre user or run 'xvfb-run calibredb add ...' if you need to add books while the server is running.",
|
|
||||||
"type": "info"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -19,7 +19,7 @@ color() {
|
|||||||
BOLD=$(echo "\033[1m")
|
BOLD=$(echo "\033[1m")
|
||||||
HOLD=" "
|
HOLD=" "
|
||||||
TAB=" "
|
TAB=" "
|
||||||
|
|
||||||
# System
|
# System
|
||||||
RETRY_NUM=10
|
RETRY_NUM=10
|
||||||
RETRY_EVERY=3
|
RETRY_EVERY=3
|
||||||
@ -56,7 +56,7 @@ catch_errors() {
|
|||||||
|
|
||||||
# This function handles errors
|
# This function handles errors
|
||||||
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"
|
||||||
@ -79,7 +79,7 @@ spinner() {
|
|||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
printf "\r ${color}%s${CL}" "${frames[spin_i]}"
|
printf "\r ${color}%s${CL}" "${frames[spin_i]}"
|
||||||
spin_i=$(( (spin_i + 1) % ${#frames[@]} ))
|
spin_i=$(((spin_i + 1) % ${#frames[@]}))
|
||||||
sleep "$interval"
|
sleep "$interval"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@ -94,7 +94,7 @@ msg_info() {
|
|||||||
|
|
||||||
# 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}"
|
||||||
@ -102,11 +102,44 @@ msg_ok() {
|
|||||||
|
|
||||||
# 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}"
|
||||||
}
|
}
|
||||||
|
install_figlet() {
|
||||||
|
if ! command -v figlet &>/dev/null; then
|
||||||
|
|
||||||
|
# Install necessary dependencies and figlet
|
||||||
|
if [ -f /etc/debian_version ] || [ -f /etc/lsb-release ]; then
|
||||||
|
apt-get update -y &>/dev/null
|
||||||
|
apt-get install -y tar build-essential curl &>/dev/null
|
||||||
|
elif [ -f /etc/alpine-release ]; then
|
||||||
|
apk add --no-cache tar build-base curl &>/dev/null
|
||||||
|
export TERM=xterm
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
temp_dir=$(mktemp -d)
|
||||||
|
curl -sL https://github.com/community-scripts/ProxmoxVE/raw/refs/heads/main/misc/figlet.tar.xz -o "$temp_dir/figlet.tar.xz"
|
||||||
|
mkdir -p /tmp/figlet
|
||||||
|
tar -xf "$temp_dir/figlet.tar.xz" -C /tmp/figlet --strip-components=1
|
||||||
|
cd /tmp/figlet
|
||||||
|
# Run make to compile the figlet binary
|
||||||
|
make >/dev/null
|
||||||
|
# Check if the figlet binary exists
|
||||||
|
if [ -f "figlet" ]; then
|
||||||
|
chmod +x figlet
|
||||||
|
# Move figlet to /usr/local/bin if not already there
|
||||||
|
if [ ! -e /usr/local/bin/figlet ]; then
|
||||||
|
mv figlet /usr/local/bin/
|
||||||
|
mkdir -p /usr/local/share/figlet
|
||||||
|
cp -r /tmp/figlet/fonts/*.flf /usr/local/share/figlet/
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm -rf "$temp_dir"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# This function sets up the Container OS by generating the locale, setting the timezone, and checking the network connection
|
# This function sets up the Container OS by generating the locale, setting the timezone, and checking the network connection
|
||||||
setting_up_container() {
|
setting_up_container() {
|
||||||
@ -143,23 +176,23 @@ network_check() {
|
|||||||
ipv4_connected=false
|
ipv4_connected=false
|
||||||
ipv6_connected=false
|
ipv6_connected=false
|
||||||
sleep 1
|
sleep 1
|
||||||
# Check IPv4 connectivity to Google, Cloudflare & Quad9 DNS servers.
|
# Check IPv4 connectivity to Google, Cloudflare & Quad9 DNS servers.
|
||||||
if ping -c 1 -W 1 1.1.1.1 &>/dev/null || ping -c 1 -W 1 8.8.8.8 &>/dev/null || ping -c 1 -W 1 9.9.9.9 &>/dev/null; then
|
if ping -c 1 -W 1 1.1.1.1 &>/dev/null || ping -c 1 -W 1 8.8.8.8 &>/dev/null || ping -c 1 -W 1 9.9.9.9 &>/dev/null; then
|
||||||
msg_ok "IPv4 Internet Connected";
|
msg_ok "IPv4 Internet Connected"
|
||||||
ipv4_connected=true
|
ipv4_connected=true
|
||||||
else
|
else
|
||||||
msg_error "IPv4 Internet Not Connected";
|
msg_error "IPv4 Internet Not Connected"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check IPv6 connectivity to Google, Cloudflare & Quad9 DNS servers.
|
# Check IPv6 connectivity to Google, Cloudflare & Quad9 DNS servers.
|
||||||
if ping6 -c 1 -W 1 2606:4700:4700::1111 &>/dev/null || ping6 -c 1 -W 1 2001:4860:4860::8888 &>/dev/null || ping6 -c 1 -W 1 2620:fe::fe &>/dev/null; then
|
if ping6 -c 1 -W 1 2606:4700:4700::1111 &>/dev/null || ping6 -c 1 -W 1 2001:4860:4860::8888 &>/dev/null || ping6 -c 1 -W 1 2620:fe::fe &>/dev/null; then
|
||||||
msg_ok "IPv6 Internet Connected";
|
msg_ok "IPv6 Internet Connected"
|
||||||
ipv6_connected=true
|
ipv6_connected=true
|
||||||
else
|
else
|
||||||
msg_error "IPv6 Internet Not Connected";
|
msg_error "IPv6 Internet Not Connected"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If both IPv4 and IPv6 checks fail, prompt the user
|
# If both IPv4 and IPv6 checks fail, prompt the user
|
||||||
if [[ $ipv4_connected == false && $ipv6_connected == false ]]; then
|
if [[ $ipv4_connected == false && $ipv6_connected == false ]]; then
|
||||||
read -r -p "No Internet detected,would you like to continue anyway? <y/N> " prompt
|
read -r -p "No Internet detected,would you like to continue anyway? <y/N> " prompt
|
||||||
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
|
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
|
||||||
@ -189,7 +222,7 @@ else
|
|||||||
echo -n "DIRECT"
|
echo -n "DIRECT"
|
||||||
fi
|
fi
|
||||||
EOF
|
EOF
|
||||||
chmod +x /usr/local/bin/apt-proxy-detect.sh
|
chmod +x /usr/local/bin/apt-proxy-detect.sh
|
||||||
fi
|
fi
|
||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
$STD apt-get -o Dpkg::Options::="--force-confold" -y dist-upgrade
|
$STD apt-get -o Dpkg::Options::="--force-confold" -y dist-upgrade
|
||||||
@ -200,10 +233,10 @@ EOF
|
|||||||
# This function modifies the message of the day (motd) and SSH settings
|
# This function modifies the message of the day (motd) and SSH settings
|
||||||
motd_ssh() {
|
motd_ssh() {
|
||||||
# Set terminal to 256-color mode
|
# Set terminal to 256-color mode
|
||||||
grep -qxF "export TERM='xterm-256color'" /root/.bashrc || echo "export TERM='xterm-256color'" >> /root/.bashrc
|
grep -qxF "export TERM='xterm-256color'" /root/.bashrc || echo "export TERM='xterm-256color'" >>/root/.bashrc
|
||||||
|
|
||||||
# Get the current private IP address
|
# Get the current private IP address
|
||||||
IP=$(hostname -I | awk '{print $1}') # Private IP
|
IP=$(hostname -I | awk '{print $1}') # Private IP
|
||||||
|
|
||||||
# Get OS information (Debian / Ubuntu)
|
# Get OS information (Debian / Ubuntu)
|
||||||
if [ -f "/etc/os-release" ]; then
|
if [ -f "/etc/os-release" ]; then
|
||||||
@ -218,13 +251,13 @@ motd_ssh() {
|
|||||||
MOTD_FILE="/etc/motd"
|
MOTD_FILE="/etc/motd"
|
||||||
if [ -f "$MOTD_FILE" ]; then
|
if [ -f "$MOTD_FILE" ]; then
|
||||||
# Start MOTD with application info and link
|
# Start MOTD with application info and link
|
||||||
echo -e "\n${BOLD}${APPLICATION} LXC Container${CL}" > "$MOTD_FILE"
|
echo -e "\n${BOLD}${APPLICATION} LXC Container${CL}" >"$MOTD_FILE"
|
||||||
echo -e "${TAB}${GATEWAY}${YW} Provided by: ${GN}community-scripts ORG ${YW}| GitHub: ${GN}https://github.com/community-scripts/ProxmoxVE${CL}\n" >> "$MOTD_FILE"
|
echo -e "${TAB}${GATEWAY}${YW} Provided by: ${GN}community-scripts ORG ${YW}| GitHub: ${GN}https://github.com/community-scripts/ProxmoxVE${CL}\n" >>"$MOTD_FILE"
|
||||||
|
|
||||||
# Add system information with icons
|
# Add system information with icons
|
||||||
echo -e "${TAB}${OS}${YW} OS: ${GN}${OS_NAME} - Version: ${OS_VERSION}${CL}" >> "$MOTD_FILE"
|
echo -e "${TAB}${OS}${YW} OS: ${GN}${OS_NAME} - Version: ${OS_VERSION}${CL}" >>"$MOTD_FILE"
|
||||||
echo -e "${TAB}${HOSTNAME}${YW} Hostname: ${GN}$(hostname)${CL}" >> "$MOTD_FILE"
|
echo -e "${TAB}${HOSTNAME}${YW} Hostname: ${GN}$(hostname)${CL}" >>"$MOTD_FILE"
|
||||||
echo -e "${TAB}${INFO}${YW} IP Address: ${GN}${IP}${CL}" >> "$MOTD_FILE"
|
echo -e "${TAB}${INFO}${YW} IP Address: ${GN}${IP}${CL}" >>"$MOTD_FILE"
|
||||||
else
|
else
|
||||||
echo "MotD file does not exist!" >&2
|
echo "MotD file does not exist!" >&2
|
||||||
fi
|
fi
|
||||||
@ -255,4 +288,5 @@ EOF
|
|||||||
fi
|
fi
|
||||||
echo "bash -c \"\$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/${app}.sh)\"" >/usr/bin/update
|
echo "bash -c \"\$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/${app}.sh)\"" >/usr/bin/update
|
||||||
chmod +x /usr/bin/update
|
chmod +x /usr/bin/update
|
||||||
|
install_figlet
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user