mirror of
https://github.com/community-scripts/ProxmoxVE
synced 2025-02-08 08:49:17 +00:00
53ed69e090
commit 995fa24aaffa98b8e12e8ebe084cbce61f605995 Author: oOStroudyOo <111181956+oOStroudyOo@users.noreply.github.com> Date: Mon Dec 23 14:41:35 2024 +0000 Improve motd Added gold colour. Added TABS (A longer version of TAB for central heading / Reduced code). Added building icon. Added hammer and spanner icon (GitHub). Change LXC Container title to more central location and in gold. Added website URL. Split the lines to show Org, Website and GitHub on separate lines. Change Org icon to building. Added the hammer and spanner emoji to GitHub line. Changed IP icon from idea to network. Added line break under the title for better readability. Added line break under the IP address for better readability. commit0d18fb33ce
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sun Dec 22 10:45:03 2024 +0100 Update navidrome-install.sh commit003f7c3ab4
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sun Dec 22 10:42:47 2024 +0100 Update navidrome.sh commit525362f3c5
Author: Michel Roegl-Brunner <michel.roegl-brunner@htl-braunau.at> Date: Fri Dec 20 09:20:20 2024 +0100 Changes commit9e6770f03b
Author: Michel Roegl-Brunner <michel.roegl-brunner@htl-braunau.at> Date: Fri Dec 20 09:14:04 2024 +0100 Change to dpkg -i commit775ed987db
Author: Michel Roegl-Brunner <michel.roegl-brunner@htl-braunau.at> Date: Thu Dec 19 15:33:28 2024 +0100 New Script: CheckMk commit8950eb302e
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu Dec 19 09:48:05 2024 +0100 Update apache-guacamole-install.sh commit3ac7c9093b
Merge:9ae03880
75772753
Author: Michel Roegl-Brunner <michel.roegl-brunner@htl-braunau.at> Date: Thu Dec 19 09:28:30 2024 +0100 Merge branch 'develop' of https://github.com/community-scripts/ProxmoxVE into develop commit9ae03880a4
Author: Michel Roegl-Brunner <michel.roegl-brunner@htl-braunau.at> Date: Thu Dec 19 09:28:13 2024 +0100 Update Bookstack for testing commit757727537b
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed Dec 18 16:37:01 2024 +0100 Update apache-guacamole-install.sh commit7e2b1fd87f
Author: Michel Roegl-Brunner <michel.roegl-brunner@htl-braunau.at> Date: Wed Dec 18 15:05:32 2024 +0100 Suppres output commitc00c17290e
Author: Michel Roegl-Brunner <michel.roegl-brunner@htl-braunau.at> Date: Wed Dec 18 14:10:01 2024 +0100 Update zammad-install.sh commit66fafe2b10
Author: Michel Roegl-Brunner <michel.roegl-brunner@htl-braunau.at> Date: Wed Dec 18 14:00:00 2024 +0100 Update zammad-install.sh commitc85462809d
Author: Michel Roegl-Brunner <michel.roegl-brunner@htl-braunau.at> Date: Wed Dec 18 13:56:31 2024 +0100 Update zammad-install.sh commit887c70c35a
Author: Michel Roegl-Brunner <michel.roegl-brunner@htl-braunau.at> Date: Wed Dec 18 13:47:11 2024 +0100 Update zammad-install.sh commitd87f3f777b
Author: Michel Roegl-Brunner <michel.roegl-brunner@htl-braunau.at> Date: Wed Dec 18 13:05:49 2024 +0100 Push Zammad and Apache Guacamole commitef3bb43405
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed Dec 18 12:30:24 2024 +0100 fix paths to tmp commitb6104103cb
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed Dec 18 10:21:29 2024 +0100 Update build.func commitfbb1b7d88a
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed Dec 18 10:12:32 2024 +0100 Update authentik.sh commitdaba45f93a
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed Dec 18 10:07:28 2024 +0100 Add files via upload commita13c0617b2
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed Dec 18 10:07:02 2024 +0100 Update authentik.sh commit934f989f10
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed Dec 18 10:03:12 2024 +0100 Update authentik.sh commitc1b2476a30
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed Dec 18 10:02:52 2024 +0100 Add files via upload commitb7e00c4885
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri Dec 13 11:42:19 2024 +0100 dev commitdaf650be1f
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri Dec 13 11:40:40 2024 +0100 test commit5a3dca218e
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue Dec 10 14:41:59 2024 +0100 Update alpine-vaultwarden-install.sh commitb4c59c7044
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue Dec 10 09:44:54 2024 +0100 Update nginxproxymanager.sh commit9ef229b90a
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue Dec 10 09:29:21 2024 +0100 Update nginxproxymanager-install.sh commite6361570b3
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue Dec 10 09:23:56 2024 +0100 Update keycloak.sh commitf901cd55dd
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 13:16:27 2024 +0100 Update build.func commit02a0d16bee
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 13:14:36 2024 +0100 Update build.func commite30f96e038
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 11:26:35 2024 +0100 switch *arr to arr commit90246d1537
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 10:38:14 2024 +0100 add space option commit693ad497f6
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 10:35:19 2024 +0100 update motd for OS_version/name commit107243d576
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 10:34:15 2024 +0100 remove project in motd commite65593751c
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 10:32:15 2024 +0100 noCancel commit7fc60c9039
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 10:23:24 2024 +0100 switch nocancel commitef837ab8b9
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 10:21:25 2024 +0100 Update build.func commit37b398a5c9
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 10:20:24 2024 +0100 Update build.func commit6ea43228c4
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 10:16:10 2024 +0100 Update build.func commit8d89c107f9
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 10:08:57 2024 +0100 Update build.func commit6e90b44e7e
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 10:08:47 2024 +0100 Update build.func commit4c2965f850
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 10:06:34 2024 +0100 Update build.func commit29209dbee6
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 09:57:47 2024 +0100 Update build.func commit63be70cc25
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 09:50:49 2024 +0100 Update build.func commit02ded1ee47
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 09:46:39 2024 +0100 Update build.func commitb42d5c6a57
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 09:41:04 2024 +0100 Update build.func commit9e90ab1921
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 09:39:16 2024 +0100 Update build.func commit03301f12d2
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 09:36:00 2024 +0100 Update build.func commitd10c404b60
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 09:24:57 2024 +0100 Update create_lxc.sh commitb72eb02fde
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 09:19:32 2024 +0100 space for spinner commit542c4f703b
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 09:11:02 2024 +0100 Update install.func commit0f914e5ad7
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 09:06:49 2024 +0100 TAGS > var_tags commitd270b5535d
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 08:59:15 2024 +0100 fix space in spinner commitffca06575e
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon Dec 9 08:58:22 2024 +0100 fix space in spinner commitd73c19f5cd
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sat Dec 7 22:10:22 2024 +0100 Fix Ressource-Check for other languages commitf107a60062
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sat Dec 7 11:41:13 2024 +0100 netbox HTTPS instead http commitf6604e09d4
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri Dec 6 15:31:00 2024 +0100 fix for dev branch commit8063b68434
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri Dec 6 15:28:44 2024 +0100 Update install.func commitc0ff715175
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri Dec 6 15:28:19 2024 +0100 Update create_lxc.sh commitae614234df
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri Dec 6 15:26:57 2024 +0100 prepare for develop branch commit0141f3fc86
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri Dec 6 15:24:05 2024 +0100 Update build.func commit6d390bbd78
Author: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri Dec 6 15:19:58 2024 +0100 Full Update
291 lines
9.7 KiB
Bash
291 lines
9.7 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Copyright (c) 2021-2024 tteck
|
|
# Author: tteck (tteckster)
|
|
# License: MIT
|
|
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
|
|
function header_info {
|
|
cat <<"EOF"
|
|
__ ____ __ __ _ __ ____ __ ____ _____ ________ ______
|
|
/ |/ (_) /___________ / /_(_) /__ / __ \____ __ __/ /____ _____/ __ \/ ___/ / ____/ / / / __ \
|
|
/ /|_/ / / //_/ ___/ __ \/ __/ / //_/ / /_/ / __ \/ / / / __/ _ \/ ___/ / / /\__ \ / / / /_/ / /_/ /
|
|
/ / / / / ,< / / / /_/ / /_/ / ,< / _, _/ /_/ / /_/ / /_/ __/ / / /_/ /___/ / / /___/ __ / _, _/
|
|
/_/ /_/_/_/|_/_/ \____/\__/_/_/|_| /_/ |_|\____/\__,_/\__/\___/_/ \____//____/ \____/_/ /_/_/ |_|
|
|
|
|
EOF
|
|
}
|
|
clear
|
|
header_info
|
|
echo -e "Loading..."
|
|
GEN_MAC=$(echo '00 60 2f'$(od -An -N3 -t xC /dev/urandom) | sed -e 's/ /:/g' | tr '[:lower:]' '[:upper:]')
|
|
NEXTID=$(pvesh get /cluster/nextid)
|
|
YW=$(echo "\033[33m")
|
|
BL=$(echo "\033[36m")
|
|
HA=$(echo "\033[1;34m")
|
|
RD=$(echo "\033[01;31m")
|
|
BGN=$(echo "\033[4;92m")
|
|
GN=$(echo "\033[1;92m")
|
|
DGN=$(echo "\033[32m")
|
|
CL=$(echo "\033[m")
|
|
BFR="\\r\\033[K"
|
|
HOLD="-"
|
|
CM="${GN}✓${CL}"
|
|
set -o errexit
|
|
set -o errtrace
|
|
set -o nounset
|
|
set -o pipefail
|
|
shopt -s expand_aliases
|
|
alias die='EXIT=$? LINE=$LINENO error_exit'
|
|
trap die ERR
|
|
trap cleanup EXIT
|
|
function error_exit() {
|
|
trap - ERR
|
|
local reason="Unknown failure occurred."
|
|
local msg="${1:-$reason}"
|
|
local flag="${RD}‼ ERROR ${CL}$EXIT@$LINE"
|
|
echo -e "$flag $msg" 1>&2
|
|
[ ! -z ${VMID-} ] && cleanup_vmid
|
|
exit $EXIT
|
|
}
|
|
function cleanup_vmid() {
|
|
if $(qm status $VMID &>/dev/null); then
|
|
if [ "$(qm status $VMID | awk '{print $2}')" == "running" ]; then
|
|
qm stop $VMID
|
|
fi
|
|
qm destroy $VMID
|
|
fi
|
|
}
|
|
function cleanup() {
|
|
popd >/dev/null
|
|
rm -rf $TEMP_DIR
|
|
}
|
|
TEMP_DIR=$(mktemp -d)
|
|
pushd $TEMP_DIR >/dev/null
|
|
if ! pveversion | grep -Eq "pve-manager/8.[1-3]"; then
|
|
msg_error "This version of Proxmox Virtual Environment is not supported"
|
|
echo -e "Requires Proxmox Virtual Environment Version 8.1 or later."
|
|
echo -e "Exiting..."
|
|
sleep 2
|
|
exit
|
|
fi
|
|
if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "Mikrotik RouterOS CHR VM" --yesno "This will create a New Mikrotik RouterOS CHR VM. Proceed?" 10 58); then
|
|
echo "User selected Yes"
|
|
else
|
|
clear
|
|
echo -e "⚠ User exited script \n"
|
|
exit
|
|
fi
|
|
|
|
function msg_info() {
|
|
local msg="$1"
|
|
echo -ne " ${HOLD} ${YW}${msg}..."
|
|
}
|
|
function msg_ok() {
|
|
local msg="$1"
|
|
echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
|
|
}
|
|
function default_settings() {
|
|
echo -e "${DGN}Using Virtual Machine ID: ${BGN}$NEXTID${CL}"
|
|
VMID=$NEXTID
|
|
echo -e "${DGN}Using Hostname: ${BGN}mikrotik-routeros-chr${CL}"
|
|
HN=mikrotik-routeros-chr
|
|
echo -e "${DGN}Allocated Cores: ${BGN}1${CL}"
|
|
CORE_COUNT="2"
|
|
echo -e "${DGN}Allocated RAM: ${BGN}256${CL}"
|
|
RAM_SIZE="512"
|
|
echo -e "${DGN}Using Bridge: ${BGN}vmbr0${CL}"
|
|
BRG="vmbr0"
|
|
echo -e "${DGN}Using MAC Address: ${BGN}$GEN_MAC${CL}"
|
|
MAC=$GEN_MAC
|
|
echo -e "${DGN}Using VLAN: ${BGN}Default${CL}"
|
|
VLAN=""
|
|
echo -e "${DGN}Using Interface MTU Size: ${BGN}Default${CL}"
|
|
MTU=""
|
|
echo -e "${DGN}Start VM when completed: ${BGN}no${CL}"
|
|
START_VM="no"
|
|
echo -e "${BL}Creating a Mikrotik RouterOS CHR VM using the above default settings${CL}"
|
|
}
|
|
function advanced_settings() {
|
|
VMID=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Virtual Machine ID" 8 58 $NEXTID --title "VIRTUAL MACHINE ID" 3>&1 1>&2 2>&3)
|
|
exitstatus=$?
|
|
if [ $exitstatus = 0 ]; then
|
|
echo -e "${DGN}Using Virtual Machine ID: ${BGN}$VMID${CL}"
|
|
else
|
|
exit
|
|
fi
|
|
VM_NAME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Hostname" 8 58 mikrotik-routeros-chr --title "HOSTNAME" 3>&1 1>&2 2>&3)
|
|
exitstatus=$?
|
|
if [ $exitstatus = 0 ]; then
|
|
HN=$(echo ${VM_NAME,,} | tr -d ' ')
|
|
echo -e "${DGN}Using Hostname: ${BGN}$HN${CL}"
|
|
else
|
|
exit
|
|
fi
|
|
CORE_COUNT=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate CPU Cores" 8 58 2 --title "CORE COUNT" 3>&1 1>&2 2>&3)
|
|
exitstatus=$?
|
|
if [ $exitstatus = 0 ]; then
|
|
echo -e "${DGN}Allocated Cores: ${BGN}$CORE_COUNT${CL}"
|
|
else
|
|
exit
|
|
fi
|
|
RAM_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate RAM in MiB" 8 58 512 --title "RAM" 3>&1 1>&2 2>&3)
|
|
exitstatus=$?
|
|
if [ $exitstatus = 0 ]; then
|
|
echo -e "${DGN}Allocated RAM: ${BGN}$RAM_SIZE${CL}"
|
|
else
|
|
exit
|
|
fi
|
|
BRG=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Bridge" 8 58 vmbr0 --title "BRIDGE" 3>&1 1>&2 2>&3)
|
|
exitstatus=$?
|
|
if [ $exitstatus = 0 ]; then
|
|
echo -e "${DGN}Using Bridge: ${BGN}$BRG${CL}"
|
|
else
|
|
exit
|
|
fi
|
|
MAC1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a MAC Address" 8 58 $GEN_MAC --title "MAC ADDRESS" 3>&1 1>&2 2>&3)
|
|
exitstatus=$?
|
|
if [ $exitstatus = 0 ]; then
|
|
MAC="$MAC1"
|
|
echo -e "${DGN}Using MAC Address: ${BGN}$MAC1${CL}"
|
|
else
|
|
exit
|
|
fi
|
|
VLAN1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Vlan(leave blank for default)" 8 58 --title "VLAN" 3>&1 1>&2 2>&3)
|
|
exitstatus=$?
|
|
if [ $exitstatus = 0 ]; then
|
|
if [ -z $VLAN1 ]; then
|
|
VLAN1="Default" VLAN=""
|
|
echo -e "${DGN}Using Vlan: ${BGN}$VLAN1${CL}"
|
|
else
|
|
VLAN=",tag=$VLAN1"
|
|
echo -e "${DGN}Using Vlan: ${BGN}$VLAN1${CL}"
|
|
fi
|
|
fi
|
|
MTU1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Interface MTU Size (leave blank for default)" 8 58 --title "MTU SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3)
|
|
exitstatus=$?
|
|
if [ $exitstatus = 0 ]; then
|
|
if [ -z $MTU1 ]; then
|
|
MTU1="Default" MTU=""
|
|
echo -e "${DGN}Using Interface MTU Size: ${BGN}$MTU1${CL}"
|
|
else
|
|
MTU=",mtu=$MTU1"
|
|
echo -e "${DGN}Using Interface MTU Size: ${BGN}$MTU1${CL}"
|
|
fi
|
|
fi
|
|
if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "START VIRTUAL MACHINE" --yesno "Start Mikrotik RouterOS CHR VM when completed?" 10 58); then
|
|
echo -e "${DGN}Start Mikrotik RouterOS CHR VM when completed: ${BGN}yes${CL}"
|
|
START_VM="yes"
|
|
else
|
|
echo -e "${DGN}Start Mikrotik RouterOS CHR 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 Mikrotik RouterOS VM?" 10 58); then
|
|
echo -e "${RD}Creating Mikrotik RouterOS CHR VM using the above advanced settings${CL}"
|
|
else
|
|
clear
|
|
header_info
|
|
echo -e "${RD}Using Advanced Settings${CL}"
|
|
advanced_settings
|
|
fi
|
|
}
|
|
function start_script() {
|
|
if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "SETTINGS" --yesno "Use Default Settings?" --no-button Advanced 10 58); then
|
|
clear
|
|
header_info
|
|
echo -e "${BL}Using Default Settings${CL}"
|
|
default_settings
|
|
else
|
|
clear
|
|
header_info
|
|
echo -e "${RD}Using Advanced Settings${CL}"
|
|
advanced_settings
|
|
fi
|
|
}
|
|
start_script
|
|
msg_info "Validating Storage"
|
|
while read -r line; do
|
|
TAG=$(echo $line | awk '{print $1}')
|
|
TYPE=$(echo $line | awk '{printf "%-10s", $2}')
|
|
FREE=$(echo $line | numfmt --field 4-6 --from-unit=K --to=iec --format %.2f | awk '{printf( "%9sB", $6)}')
|
|
ITEM=" Type: $TYPE Free: $FREE "
|
|
OFFSET=2
|
|
if [[ $((${#ITEM} + $OFFSET)) -gt ${MSG_MAX_LENGTH:-} ]]; then
|
|
MSG_MAX_LENGTH=$((${#ITEM} + $OFFSET))
|
|
fi
|
|
STORAGE_MENU+=("$TAG" "$ITEM" "OFF")
|
|
done < <(pvesm status -content images | awk 'NR>1')
|
|
VALID=$(pvesm status -content images | awk 'NR>1')
|
|
if [ -z "$VALID" ]; then
|
|
echo -e "\n${RD}⚠ Unable to detect a valid storage location.${CL}"
|
|
echo -e "Exiting..."
|
|
exit
|
|
elif [ $((${#STORAGE_MENU[@]} / 3)) -eq 1 ]; then
|
|
STORAGE=${STORAGE_MENU[0]}
|
|
else
|
|
while [ -z "${STORAGE:+x}" ]; do
|
|
STORAGE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Storage Pools" --radiolist \
|
|
"Which storage pool you would like to use for the Mikrotik RouterOS CHR VM?\n\n" \
|
|
16 $(($MSG_MAX_LENGTH + 23)) 6 \
|
|
"${STORAGE_MENU[@]}" 3>&1 1>&2 2>&3) || exit
|
|
done
|
|
fi
|
|
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.3/chr-7.15.3.img.zip
|
|
|
|
sleep 2
|
|
msg_ok "${CL}${BL}${URL}${CL}"
|
|
wget -q --show-progress $URL
|
|
echo -en "\e[1A\e[0K"
|
|
FILE=$(basename $URL)
|
|
msg_ok "Downloaded ${CL}${BL}$FILE${CL}"
|
|
msg_info "Extracting Mikrotik RouterOS CHR Disk Image"
|
|
gunzip -f -S .zip $FILE
|
|
STORAGE_TYPE=$(pvesm status -storage $STORAGE | awk 'NR>1 {print $2}')
|
|
case $STORAGE_TYPE in
|
|
nfs | dir)
|
|
DISK_EXT=".qcow2"
|
|
DISK_REF="$VMID/"
|
|
DISK_IMPORT="-format qcow2"
|
|
;;
|
|
btrfs)
|
|
DISK_EXT=".raw"
|
|
DISK_REF="$VMID/"
|
|
DISK_IMPORT="-format raw"
|
|
;;
|
|
zfspool)
|
|
DISK_EXT=""
|
|
DISK_REF=""
|
|
DISK_IMPORT="-format raw"
|
|
;;
|
|
esac
|
|
|
|
DISK_VAR="vm-${VMID}-disk-0${DISK_EXT:-}"
|
|
DISK_REF="${STORAGE}:${DISK_REF:-}${DISK_VAR:-}"
|
|
|
|
msg_ok "Extracted Mikrotik RouterOS CHR Disk Image"
|
|
msg_info "Creating Mikrotik RouterOS CHR VM"
|
|
qm create $VMID -tablet 0 -localtime 1 -cores $CORE_COUNT -memory $RAM_SIZE -name $HN \
|
|
-tags proxmox-helper-scripts -net0 virtio,bridge=$BRG,macaddr=$MAC$VLAN$MTU \
|
|
-onboot 1 -ostype l26 -scsihw virtio-scsi-pci
|
|
qm importdisk $VMID ${FILE%.*} $STORAGE ${DISK_IMPORT:-} 1>&/dev/null
|
|
qm set $VMID \
|
|
-scsi0 "$DISK_REF" \
|
|
-boot order=scsi0 \
|
|
-description "<div align='center'><a href='https://Helper-Scripts.com'><img src='https://raw.githubusercontent.com/community-scripts/ProxmoxVE/develop/misc/images/logo-81x112.png'/></a>
|
|
|
|
# Mikrotik RouterOS CHR
|
|
|
|
<a href='https://ko-fi.com/D1D7EP4GF'><img src='https://img.shields.io/badge/☕-Buy me a coffee-blue' /></a>
|
|
</div>" >/dev/null
|
|
msg_ok "Mikrotik RouterOS CHR VM ${CL}${BL}(${HN})"
|
|
if [ "$START_VM" == "yes" ]; then
|
|
msg_info "Starting Mikrotik RouterOS CHR VM"
|
|
qm start $VMID
|
|
msg_ok "Started Mikrotik RouterOS CHR VM"
|
|
fi
|
|
msg_ok "Completed Successfully!\n"
|