diff --git a/ct/smokeping.sh b/ct/smokeping.sh new file mode 100644 index 00000000..1a17f556 --- /dev/null +++ b/ct/smokeping.sh @@ -0,0 +1,77 @@ +#!/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) +# License: MIT +# https://github.com/tteck/Proxmox/raw/main/LICENSE + +function header_info { +clear +cat <<"EOF" + _____ __ ____ _ + / ___/____ ___ ____ / /_____ / __ \(_)___ ____ _ + \__ \/ __ `__ \/ __ \/ //_/ _ \/ /_/ / / __ \/ __ `/ + ___/ / / / / / / /_/ / ,< / __/ ____/ / / / / /_/ / +/____/_/ /_/ /_/\____/_/|_|\___/_/ /_/_/ /_/\__, / + /____/ + +EOF +} +header_info +echo -e "Loading..." +APP="Smokeping" +var_disk="2" +var_cpu="1" +var_ram="512" +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 +# Checking for Smokeping installation +if ! command -v smokeping &> /dev/null; then + msg_error "No ${APP} Installation Found!" + exit +fi +msg_info "Updating ${APP}" +apt-get update &>/dev/null +apt-get -y upgrade &>/dev/null +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}/smokeping/smokeping.cgi${CL} \n" diff --git a/install/smokeping-install.sh b/install/smokeping-install.sh new file mode 100644 index 00000000..1d51526d --- /dev/null +++ b/install/smokeping-install.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2024 tteck +# Author: tteck (tteckster) +# 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 + +# Update OS and install Smokeping and Apache without specific configuration +msg_info "Updating OS and installing Smokeping and Apache" +$STD apt-get update +$STD apt-get install -y smokeping apache2 --no-install-recommends +msg_ok "Smokeping and Apache installed" + +# Enable CGI module in Apache +msg_info "Enabling CGI module in Apache" +a2enmod cgi +msg_ok "CGI module enabled" + +# Create a symlink for Smokeping Apache configuration if it doesn't already exist +msg_info "Configuring Apache to serve Smokeping" +if [ ! -f /etc/apache2/conf-available/smokeping.conf ]; then + ln -s /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf + msg_ok "Symlink for Smokeping configuration created" +else + msg_info "Symlink for Smokeping configuration already exists" +fi + +# Ensure the smokeping configuration is enabled +a2enconf smokeping +msg_ok "Apache configured for Smokeping" + +# Reload Apache to apply changes +msg_info "Reloading Apache to apply changes" +service apache2 restart +msg_ok "Apache reloaded" + +# Basic setup steps to ensure Smokeping is operational +msg_info "Ensuring Smokeping service is enabled and started" +systemctl enable smokeping +systemctl start smokeping +msg_ok "Smokeping service operational" + +motd_ssh +customize + +# Cleanup +msg_info "Cleaning up" +$STD apt-get autoremove -y +$STD apt-get autoclean -y +msg_ok "Cleanup complete"