mirror of https://github.com/tteck/Proxmox.git
Compare commits
6 Commits
7ada0b397f
...
5b1bcc0ae8
Author | SHA1 | Date |
---|---|---|
|
5b1bcc0ae8 | |
|
38381bb6ef | |
|
602d4496f8 | |
|
e52813fb32 | |
|
9959493984 | |
|
089bb495d5 |
|
@ -6,8 +6,8 @@ source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/alpin
|
||||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||||
|
|
||||||
function header_info {
|
function header_info {
|
||||||
clear
|
clear
|
||||||
cat <<"EOF"
|
cat <<"EOF"
|
||||||
___ __ __
|
___ __ __
|
||||||
/ | ____/ /___ ___ ______ __________/ /
|
/ | ____/ /___ ___ ______ __________/ /
|
||||||
/ /| |/ __ / __ / / / / __ / ___/ __ /
|
/ /| |/ __ / __ / / / / __ / ___/ __ /
|
||||||
|
@ -52,22 +52,22 @@ function default_settings() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
|
UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
|
||||||
"1" "Update LXC OS" ON \
|
"1" "Update LXC OS" ON \
|
||||||
"2" "Manually Update $APP" OFF \
|
"2" "Manually Update $APP" OFF \
|
||||||
3>&1 1>&2 2>&3)
|
3>&1 1>&2 2>&3)
|
||||||
|
|
||||||
header_info
|
header_info
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
apk update && apk upgrade
|
apk update && apk upgrade
|
||||||
exit;
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$UPD" == "2" ]; then
|
if [ "$UPD" == "2" ]; then
|
||||||
header_info
|
header_info
|
||||||
echo "In the process of creating a method to update"
|
echo "In the process of creating a method to update"
|
||||||
exit;
|
exit
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|
|
@ -6,8 +6,8 @@ source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/alpin
|
||||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||||
|
|
||||||
function header_info {
|
function header_info {
|
||||||
clear
|
clear
|
||||||
cat <<"EOF"
|
cat <<"EOF"
|
||||||
____ __
|
____ __
|
||||||
/ __ \____ _____/ /_ __ _____
|
/ __ \____ _____/ /_ __ _____
|
||||||
/ / / / __ \/ ___/ //_/ _ \/ ___/
|
/ / / / __ \/ ___/ //_/ _ \/ ___/
|
||||||
|
@ -52,15 +52,15 @@ function default_settings() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
|
UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
|
||||||
"1" "Check for Docker Updates" ON \
|
"1" "Check for Docker Updates" ON \
|
||||||
3>&1 1>&2 2>&3)
|
3>&1 1>&2 2>&3)
|
||||||
|
|
||||||
header_info
|
header_info
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
apk update && apk upgrade
|
apk update && apk upgrade
|
||||||
exit;
|
exit
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|
|
@ -52,15 +52,17 @@ function default_settings() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
|
UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
|
||||||
"1" "Check for Grafana Updates" ON \
|
"1" "Check for Grafana Updates" ON \
|
||||||
3>&1 1>&2 2>&3)
|
3>&1 1>&2 2>&3)
|
||||||
|
|
||||||
header_info
|
header_info
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
apk update && apk upgrade
|
apk update && apk upgrade
|
||||||
exit;
|
exit;
|
||||||
fi
|
else
|
||||||
|
exit-script
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|
|
@ -6,8 +6,8 @@ source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debia
|
||||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||||
|
|
||||||
function header_info {
|
function header_info {
|
||||||
clear
|
clear
|
||||||
cat <<"EOF"
|
cat <<"EOF"
|
||||||
_ _ _ _ ___
|
_ _ _ _ ___
|
||||||
/\ /\___ _ __ ___ ___ /_\ ___ ___(_)___| |_ __ _ _ __ | |_ / __\___ _ __ ___
|
/\ /\___ _ __ ___ ___ /_\ ___ ___(_)___| |_ __ _ _ __ | |_ / __\___ _ __ ___
|
||||||
/ /_/ / _ \| '_ ` _ \ / _ \ //_\\/ __/ __| / __| __/ _` | '_ \| __| / / / _ \| '__/ _ \
|
/ /_/ / _ \| '_ ` _ \ / _ \ //_\\/ __/ __| / __| __/ _` | '_ \| __| / / / _ \| '__/ _ \
|
||||||
|
@ -51,7 +51,10 @@ function default_settings() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
if [[ ! -d /srv/homeassistant ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /srv/homeassistant ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
PY=$(ls /srv/homeassistant/lib/)
|
PY=$(ls /srv/homeassistant/lib/)
|
||||||
IP=$(hostname -I | awk '{print $1}')
|
IP=$(hostname -I | awk '{print $1}')
|
||||||
UPD=$(whiptail --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
|
UPD=$(whiptail --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
|
||||||
|
@ -60,8 +63,8 @@ function update_script() {
|
||||||
"3" "Install FileBrowser" OFF \
|
"3" "Install FileBrowser" OFF \
|
||||||
"4" "Install/Update AppDaemon" OFF \
|
"4" "Install/Update AppDaemon" OFF \
|
||||||
3>&1 1>&2 2>&3)
|
3>&1 1>&2 2>&3)
|
||||||
header_info
|
header_info
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
if (whiptail --defaultno --title "SELECT BRANCH" --yesno "Use Beta Branch?" 10 58); then
|
if (whiptail --defaultno --title "SELECT BRANCH" --yesno "Use Beta Branch?" 10 58); then
|
||||||
clear
|
clear
|
||||||
header_info
|
header_info
|
||||||
|
@ -75,44 +78,44 @@ if [ "$UPD" == "1" ]; then
|
||||||
fi
|
fi
|
||||||
if [[ "$PY" == "python3.9" ]]; then echo -e "⚠️ Python 3.9 is deprecated and will be removed in Home Assistant 2023.2"; fi
|
if [[ "$PY" == "python3.9" ]]; then echo -e "⚠️ Python 3.9 is deprecated and will be removed in Home Assistant 2023.2"; fi
|
||||||
|
|
||||||
msg_info "Stopping Home Assistant"
|
msg_info "Stopping Home Assistant"
|
||||||
systemctl stop homeassistant
|
systemctl stop homeassistant
|
||||||
msg_ok "Stopped Home Assistant"
|
msg_ok "Stopped Home Assistant"
|
||||||
|
|
||||||
msg_info "Updating Home Assistant"
|
msg_info "Updating Home Assistant"
|
||||||
source /srv/homeassistant/bin/activate
|
source /srv/homeassistant/bin/activate
|
||||||
pip install ${BR}--upgrade homeassistant &>/dev/null
|
pip install ${BR}--upgrade homeassistant &>/dev/null
|
||||||
msg_ok "Updated Home Assistant"
|
msg_ok "Updated Home Assistant"
|
||||||
|
|
||||||
msg_info "Starting Home Assistant"
|
msg_info "Starting Home Assistant"
|
||||||
systemctl start homeassistant
|
systemctl start homeassistant
|
||||||
sleep 2
|
sleep 2
|
||||||
msg_ok "Started Home Assistant"
|
msg_ok "Started Home Assistant"
|
||||||
msg_ok "Update Successful"
|
msg_ok "Update Successful"
|
||||||
echo -e "\n Go to http://${IP}:8123 \n"
|
echo -e "\n Go to http://${IP}:8123 \n"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if [ "$UPD" == "2" ]; then
|
if [ "$UPD" == "2" ]; then
|
||||||
msg_info "Installing Home Assistant Comunity Store (HACS)"
|
msg_info "Installing Home Assistant Comunity Store (HACS)"
|
||||||
apt update &>/dev/null
|
apt update &>/dev/null
|
||||||
apt install unzip &>/dev/null
|
apt install unzip &>/dev/null
|
||||||
cd .homeassistant
|
cd .homeassistant
|
||||||
bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null
|
bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null
|
||||||
msg_ok "Installed Home Assistant Comunity Store (HACS)"
|
msg_ok "Installed Home Assistant Comunity Store (HACS)"
|
||||||
echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n"
|
echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if [ "$UPD" == "3" ]; then
|
if [ "$UPD" == "3" ]; then
|
||||||
msg_info "Installing FileBrowser"
|
msg_info "Installing FileBrowser"
|
||||||
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash &>/dev/null
|
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash &>/dev/null
|
||||||
filebrowser config init -a '0.0.0.0' &>/dev/null
|
filebrowser config init -a '0.0.0.0' &>/dev/null
|
||||||
filebrowser config set -a '0.0.0.0' &>/dev/null
|
filebrowser config set -a '0.0.0.0' &>/dev/null
|
||||||
filebrowser users add admin changeme --perm.admin &>/dev/null
|
filebrowser users add admin changeme --perm.admin &>/dev/null
|
||||||
msg_ok "Installed FileBrowser"
|
msg_ok "Installed FileBrowser"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
service_path="/etc/systemd/system/filebrowser.service"
|
service_path="/etc/systemd/system/filebrowser.service"
|
||||||
echo "[Unit]
|
echo "[Unit]
|
||||||
Description=Filebrowser
|
Description=Filebrowser
|
||||||
After=network-online.target
|
After=network-online.target
|
||||||
[Service]
|
[Service]
|
||||||
|
@ -122,15 +125,15 @@ ExecStart=/usr/local/bin/filebrowser -r /root/.homeassistant
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=default.target" >$service_path
|
WantedBy=default.target" >$service_path
|
||||||
|
|
||||||
systemctl enable --now filebrowser.service &>/dev/null
|
systemctl enable --now filebrowser.service &>/dev/null
|
||||||
msg_ok "Created Service"
|
msg_ok "Created Service"
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "FileBrowser should be reachable by going to the following URL.
|
echo -e "FileBrowser should be reachable by going to the following URL.
|
||||||
${BL}http://$IP:8080${CL} admin|changeme\n"
|
${BL}http://$IP:8080${CL} admin|changeme\n"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if [ "$UPD" == "4" ]; then
|
if [ "$UPD" == "4" ]; then
|
||||||
clear
|
clear
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /srv/appdaemon ]]; then
|
if [[ ! -d /srv/appdaemon ]]; then
|
||||||
|
@ -141,7 +144,7 @@ if [ "$UPD" == "4" ]; then
|
||||||
source bin/activate
|
source bin/activate
|
||||||
pip install appdaemon &>/dev/null
|
pip install appdaemon &>/dev/null
|
||||||
mkdir -p /root/.homeassistant/appdaemon/apps
|
mkdir -p /root/.homeassistant/appdaemon/apps
|
||||||
cat > /root/.homeassistant/appdaemon/appdaemon.yaml << EOF
|
cat >/root/.homeassistant/appdaemon/appdaemon.yaml <<EOF
|
||||||
# Sample appdaemon.yml file
|
# Sample appdaemon.yml file
|
||||||
# For configuration, please visit: https://appdaemon.readthedocs.io/en/latest/CONFIGURE.html
|
# For configuration, please visit: https://appdaemon.readthedocs.io/en/latest/CONFIGURE.html
|
||||||
appdaemon:
|
appdaemon:
|
||||||
|
@ -162,7 +165,7 @@ EOF
|
||||||
msg_ok "Installed AppDaemon"
|
msg_ok "Installed AppDaemon"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
cat > /etc/systemd/system/appdaemon.service << EOF
|
cat >/etc/systemd/system/appdaemon.service <<EOF
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=AppDaemon
|
Description=AppDaemon
|
||||||
After=homeassistant.service
|
After=homeassistant.service
|
||||||
|
@ -201,7 +204,7 @@ EOF
|
||||||
echo -e "\n Go to http://${IP}:5050 \n"
|
echo -e "\n Go to http://${IP}:5050 \n"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|
|
@ -6,8 +6,8 @@ source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debia
|
||||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||||
|
|
||||||
function header_info {
|
function header_info {
|
||||||
clear
|
clear
|
||||||
cat <<"EOF"
|
cat <<"EOF"
|
||||||
__ __ ___ _ __ __
|
__ __ ___ _ __ __
|
||||||
/ / / /___ ____ ___ ___ / | __________(_)____/ /_____ _____ / /_
|
/ / / /___ ____ ___ ___ / | __________(_)____/ /_____ _____ / /_
|
||||||
/ /_/ / __ \/ __ __ \/ _ \ / /| | / ___/ ___/ / ___/ __/ __ / __ \/ __/
|
/ /_/ / __ \/ __ __ \/ _ \ / /| | / ___/ ___/ / ___/ __/ __ / __ \/ __/
|
||||||
|
@ -51,18 +51,21 @@ function default_settings() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
if [[ ! -d /var/lib/docker/volumes/hass_config/_data ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /var/lib/docker/volumes/hass_config/_data ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
UPD=$(whiptail --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
|
UPD=$(whiptail --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
|
||||||
"1" "Update ALL Containers" ON \
|
"1" "Update ALL Containers" ON \
|
||||||
"2" "Remove ALL Unused Images" OFF \
|
"2" "Remove ALL Unused Images" OFF \
|
||||||
"3" "Install HACS" OFF \
|
"3" "Install HACS" OFF \
|
||||||
"4" "Install FileBrowser" OFF \
|
"4" "Install FileBrowser" OFF \
|
||||||
3>&1 1>&2 2>&3)
|
3>&1 1>&2 2>&3)
|
||||||
header_info
|
header_info
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
msg_info "Updating All Containers"
|
msg_info "Updating All Containers"
|
||||||
CONTAINER_LIST="${1:-$(docker ps -q)}"
|
CONTAINER_LIST="${1:-$(docker ps -q)}"
|
||||||
for container in ${CONTAINER_LIST}; do
|
for container in ${CONTAINER_LIST}; do
|
||||||
CONTAINER_IMAGE="$(docker inspect --format "{{.Config.Image}}" --type container ${container})"
|
CONTAINER_IMAGE="$(docker inspect --format "{{.Config.Image}}" --type container ${container})"
|
||||||
RUNNING_IMAGE="$(docker inspect --format "{{.Image}}" --type container "${container}")"
|
RUNNING_IMAGE="$(docker inspect --format "{{.Image}}" --type container "${container}")"
|
||||||
docker pull "${CONTAINER_IMAGE}"
|
docker pull "${CONTAINER_IMAGE}"
|
||||||
|
@ -73,38 +76,38 @@ for container in ${CONTAINER_LIST}; do
|
||||||
docker rm --force "${container}"
|
docker rm --force "${container}"
|
||||||
eval ${DOCKER_COMMAND}
|
eval ${DOCKER_COMMAND}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
msg_ok "Updated All Containers"
|
msg_ok "Updated All Containers"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if [ "$UPD" == "2" ]; then
|
if [ "$UPD" == "2" ]; then
|
||||||
msg_info "Removing ALL Unused Images"
|
msg_info "Removing ALL Unused Images"
|
||||||
docker image prune -af
|
docker image prune -af
|
||||||
msg_ok "Removed ALL Unused Images"
|
msg_ok "Removed ALL Unused Images"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if [ "$UPD" == "3" ]; then
|
if [ "$UPD" == "3" ]; then
|
||||||
msg_info "Installing Home Assistant Comunity Store (HACS)"
|
msg_info "Installing Home Assistant Comunity Store (HACS)"
|
||||||
apt update &>/dev/null
|
apt update &>/dev/null
|
||||||
apt install unzip &>/dev/null
|
apt install unzip &>/dev/null
|
||||||
cd /var/lib/docker/volumes/hass_config/_data
|
cd /var/lib/docker/volumes/hass_config/_data
|
||||||
bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null
|
bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null
|
||||||
msg_ok "Installed Home Assistant Comunity Store (HACS)"
|
msg_ok "Installed Home Assistant Comunity Store (HACS)"
|
||||||
echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n"
|
echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if [ "$UPD" == "4" ]; then
|
if [ "$UPD" == "4" ]; then
|
||||||
IP=$(hostname -I | awk '{print $1}')
|
IP=$(hostname -I | awk '{print $1}')
|
||||||
msg_info "Installing FileBrowser"
|
msg_info "Installing FileBrowser"
|
||||||
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash &>/dev/null
|
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash &>/dev/null
|
||||||
filebrowser config init -a '0.0.0.0' &>/dev/null
|
filebrowser config init -a '0.0.0.0' &>/dev/null
|
||||||
filebrowser config set -a '0.0.0.0' &>/dev/null
|
filebrowser config set -a '0.0.0.0' &>/dev/null
|
||||||
filebrowser users add admin changeme --perm.admin &>/dev/null
|
filebrowser users add admin changeme --perm.admin &>/dev/null
|
||||||
msg_ok "Installed FileBrowser"
|
msg_ok "Installed FileBrowser"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
service_path="/etc/systemd/system/filebrowser.service"
|
service_path="/etc/systemd/system/filebrowser.service"
|
||||||
echo "[Unit]
|
echo "[Unit]
|
||||||
Description=Filebrowser
|
Description=Filebrowser
|
||||||
After=network-online.target
|
After=network-online.target
|
||||||
[Service]
|
[Service]
|
||||||
|
@ -114,14 +117,14 @@ ExecStart=/usr/local/bin/filebrowser -r /
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=default.target" >$service_path
|
WantedBy=default.target" >$service_path
|
||||||
|
|
||||||
systemctl enable --now filebrowser.service &>/dev/null
|
systemctl enable --now filebrowser.service &>/dev/null
|
||||||
msg_ok "Created Service"
|
msg_ok "Created Service"
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "FileBrowser should be reachable by going to the following URL.
|
echo -e "FileBrowser should be reachable by going to the following URL.
|
||||||
${BL}http://$IP:8080${CL} admin|changeme\n"
|
${BL}http://$IP:8080${CL} admin|changeme\n"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
|
|
@ -24,9 +24,9 @@ wget -qL https://repo.mongodb.org/apt/ubuntu/dists/bionic/mongodb-org/3.6/multiv
|
||||||
$STD dpkg -i mongodb-org-server_3.6.23_amd64.deb
|
$STD dpkg -i mongodb-org-server_3.6.23_amd64.deb
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Omada Controller v5.9.9"
|
msg_info "Installing Omada Controller v5.9.31"
|
||||||
wget -qL https://static.tp-link.com/upload/software/2023/202302/20230227/Omada_SDN_Controller_v5.9.9_Linux_x64.deb
|
wget -qL https://static.tp-link.com/upload/software/2023/202303/20230321/Omada_SDN_Controller_v5.9.31_Linux_x64.deb
|
||||||
$STD dpkg -i Omada_SDN_Controller_v5.9.9_Linux_x64.deb
|
$STD dpkg -i Omada_SDN_Controller_v5.9.31_Linux_x64.deb
|
||||||
msg_ok "Installed Omada Controller"
|
msg_ok "Installed Omada Controller"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
|
|
|
@ -16,9 +16,15 @@ color() {
|
||||||
}
|
}
|
||||||
|
|
||||||
verb_ip6() {
|
verb_ip6() {
|
||||||
if [ "$VERBOSE" = "yes" ]; then set -x; STD=""; else STD="silent"; fi
|
if [ "$VERBOSE" = "yes" ]; then
|
||||||
silent() { "$@" > /dev/null 2>&1; }
|
set -x
|
||||||
if [ "$DISABLEIPV6" == "yes" ]; then echo "net.ipv6.conf.all.disable_ipv6 = 1" >>/etc/sysctl.conf; $STD sysctl -p; fi
|
STD=""
|
||||||
|
else STD="silent"; fi
|
||||||
|
silent() { "$@" >/dev/null 2>&1; }
|
||||||
|
if [ "$DISABLEIPV6" == "yes" ]; then
|
||||||
|
echo "net.ipv6.conf.all.disable_ipv6 = 1" >>/etc/sysctl.conf
|
||||||
|
$STD sysctl -p
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
catch_errors() {
|
catch_errors() {
|
||||||
|
@ -51,21 +57,21 @@ msg_error() {
|
||||||
|
|
||||||
setting_up_container() {
|
setting_up_container() {
|
||||||
msg_info "Setting up Container OS"
|
msg_info "Setting up Container OS"
|
||||||
while [ $i -gt 0 ]; do
|
while [ $i -gt 0 ]; do
|
||||||
if [ "$(ip addr show | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | cut -d'/' -f1)" != "" ]; then
|
if [ "$(ip addr show | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | cut -d'/' -f1)" != "" ]; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
echo 1>&2 -en "${CROSS}${RD} No Network! "
|
echo 1>&2 -en "${CROSS}${RD} No Network! "
|
||||||
sleep $RETRY_EVERY
|
sleep $RETRY_EVERY
|
||||||
i=$((i-1))
|
i=$((i - 1))
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$(ip addr show | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | cut -d'/' -f1)" = "" ]; then
|
if [ "$(ip addr show | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | cut -d'/' -f1)" = "" ]; then
|
||||||
echo 1>&2 -e "\n${CROSS}${RD} No Network After $RETRY_NUM Tries${CL}"
|
echo 1>&2 -e "\n${CROSS}${RD} No Network After $RETRY_NUM Tries${CL}"
|
||||||
echo -e " 🖧 Check Network Settings"
|
echo -e " 🖧 Check Network Settings"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
cat <<EOF >/etc/apk/repositories
|
cat <<EOF >/etc/apk/repositories
|
||||||
https://dl-cdn.alpinelinux.org/alpine/edge/main
|
https://dl-cdn.alpinelinux.org/alpine/edge/main
|
||||||
https://dl-cdn.alpinelinux.org/alpine/edge/community
|
https://dl-cdn.alpinelinux.org/alpine/edge/community
|
||||||
https://dl-cdn.alpinelinux.org/alpine/edge/testing
|
https://dl-cdn.alpinelinux.org/alpine/edge/testing
|
||||||
|
@ -77,7 +83,7 @@ EOF
|
||||||
network_check() {
|
network_check() {
|
||||||
set +e
|
set +e
|
||||||
trap - ERR
|
trap - ERR
|
||||||
if ping -c 1 -W 1 1.1.1.1 &> /dev/null; then msg_ok "Internet Connected"; else
|
if ping -c 1 -W 1 1.1.1.1 &>/dev/null; then msg_ok "Internet Connected"; else
|
||||||
msg_error "Internet NOT Connected"
|
msg_error "Internet NOT Connected"
|
||||||
read -r -p "Would you like to continue anyway? <y/N> " prompt
|
read -r -p "Would you like to continue anyway? <y/N> " prompt
|
||||||
if echo "$prompt" | grep -Eq "^(y|yes)$"; then
|
if echo "$prompt" | grep -Eq "^(y|yes)$"; then
|
||||||
|
@ -101,7 +107,10 @@ update_os() {
|
||||||
}
|
}
|
||||||
|
|
||||||
motd_ssh() {
|
motd_ssh() {
|
||||||
echo "export TERM='xterm-256color'" >>/root/.bashrc
|
echo "export TERM='xterm-256color'" >>/root/.bashrc
|
||||||
echo -e "$APPLICATION LXC provided by https://tteck.github.io/Proxmox/\n" > /etc/motd
|
echo -e "$APPLICATION LXC provided by https://tteck.github.io/Proxmox/\n" >/etc/motd
|
||||||
if [[ "${SSH_ROOT}" == "yes" ]]; then $STD rc-update add sshd; $STD /etc/init.d/sshd start; fi
|
if [[ "${SSH_ROOT}" == "yes" ]]; then
|
||||||
|
$STD rc-update add sshd
|
||||||
|
$STD /etc/init.d/sshd start
|
||||||
|
fi
|
||||||
}
|
}
|
|
@ -333,6 +333,7 @@ start() {
|
||||||
echo -e "⚠ User exited script \n"
|
echo -e "⚠ User exited script \n"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
set +e
|
||||||
update_script
|
update_script
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -369,9 +370,9 @@ build_container() {
|
||||||
$PW
|
$PW
|
||||||
"
|
"
|
||||||
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/create_lxc.sh)" || exit
|
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/create_lxc.sh)" || exit
|
||||||
if [ "$CT_TYPE" == "0" ]; then
|
if [ "$CT_TYPE" == "0" ]; then
|
||||||
LXC_CONFIG=/etc/pve/lxc/${CTID}.conf
|
LXC_CONFIG=/etc/pve/lxc/${CTID}.conf
|
||||||
cat <<EOF >>$LXC_CONFIG
|
cat <<EOF >>$LXC_CONFIG
|
||||||
lxc.cgroup2.devices.allow: a
|
lxc.cgroup2.devices.allow: a
|
||||||
lxc.cap.drop:
|
lxc.cap.drop:
|
||||||
lxc.cgroup2.devices.allow: c 188:* rwm
|
lxc.cgroup2.devices.allow: c 188:* rwm
|
||||||
|
@ -382,7 +383,7 @@ lxc.mount.entry: /dev/ttyUSB1 dev/ttyUSB1 none bind,optional,create=
|
||||||
lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
|
lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
|
||||||
lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file
|
lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
msg_info "Starting LXC Container"
|
msg_info "Starting LXC Container"
|
||||||
pct start $CTID
|
pct start $CTID
|
||||||
msg_ok "Started LXC Container"
|
msg_ok "Started LXC Container"
|
||||||
|
|
|
@ -369,9 +369,9 @@ build_container() {
|
||||||
$PW
|
$PW
|
||||||
"
|
"
|
||||||
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/create_lxc.sh)" || exit
|
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/create_lxc.sh)" || exit
|
||||||
if [ "$CT_TYPE" == "0" ]; then
|
if [ "$CT_TYPE" == "0" ]; then
|
||||||
LXC_CONFIG=/etc/pve/lxc/${CTID}.conf
|
LXC_CONFIG=/etc/pve/lxc/${CTID}.conf
|
||||||
cat <<EOF >>$LXC_CONFIG
|
cat <<EOF >>$LXC_CONFIG
|
||||||
lxc.cgroup2.devices.allow: a
|
lxc.cgroup2.devices.allow: a
|
||||||
lxc.cap.drop:
|
lxc.cap.drop:
|
||||||
lxc.cgroup2.devices.allow: c 188:* rwm
|
lxc.cgroup2.devices.allow: c 188:* rwm
|
||||||
|
@ -382,7 +382,7 @@ lxc.mount.entry: /dev/ttyUSB1 dev/ttyUSB1 none bind,optional,create=
|
||||||
lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
|
lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
|
||||||
lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file
|
lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
msg_info "Starting LXC Container"
|
msg_info "Starting LXC Container"
|
||||||
pct start $CTID
|
pct start $CTID
|
||||||
msg_ok "Started LXC Container"
|
msg_ok "Started LXC Container"
|
||||||
|
|
|
@ -15,9 +15,15 @@ color() {
|
||||||
}
|
}
|
||||||
|
|
||||||
verb_ip6() {
|
verb_ip6() {
|
||||||
if [ "$VERBOSE" = "yes" ]; then set -x; STD=""; else STD="silent"; fi
|
if [ "$VERBOSE" = "yes" ]; then
|
||||||
silent() { "$@" > /dev/null 2>&1; }
|
set -x
|
||||||
if [ "$DISABLEIPV6" == "yes" ]; then echo "net.ipv6.conf.all.disable_ipv6 = 1" >>/etc/sysctl.conf; $STD sysctl -p; fi
|
STD=""
|
||||||
|
else STD="silent"; fi
|
||||||
|
silent() { "$@" >/dev/null 2>&1; }
|
||||||
|
if [ "$DISABLEIPV6" == "yes" ]; then
|
||||||
|
echo "net.ipv6.conf.all.disable_ipv6 = 1" >>/etc/sysctl.conf
|
||||||
|
$STD sysctl -p
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
catch_errors() {
|
catch_errors() {
|
||||||
|
@ -52,9 +58,9 @@ setting_up_container() {
|
||||||
msg_info "Setting up Container OS"
|
msg_info "Setting up Container OS"
|
||||||
sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen
|
sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen
|
||||||
locale-gen >/dev/null
|
locale-gen >/dev/null
|
||||||
echo $tz > /etc/timezone
|
echo $tz >/etc/timezone
|
||||||
ln -sf /usr/share/zoneinfo/$tz /etc/localtime
|
ln -sf /usr/share/zoneinfo/$tz /etc/localtime
|
||||||
for ((i=RETRY_NUM; i>0; i--)); do
|
for ((i = RETRY_NUM; i > 0; i--)); do
|
||||||
if [ "$(hostname -I)" != "" ]; then
|
if [ "$(hostname -I)" != "" ]; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
@ -73,7 +79,7 @@ setting_up_container() {
|
||||||
network_check() {
|
network_check() {
|
||||||
set +e
|
set +e
|
||||||
trap - ERR
|
trap - ERR
|
||||||
if ping -c 1 -W 1 1.1.1.1 &> /dev/null; then msg_ok "Internet Connected"; else
|
if ping -c 1 -W 1 1.1.1.1 &>/dev/null; then msg_ok "Internet Connected"; else
|
||||||
msg_error "Internet NOT Connected"
|
msg_error "Internet NOT Connected"
|
||||||
read -r -p "Would you like to continue anyway? <y/N> " prompt
|
read -r -p "Would you like to continue anyway? <y/N> " prompt
|
||||||
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
|
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
|
||||||
|
@ -97,10 +103,13 @@ update_os() {
|
||||||
}
|
}
|
||||||
|
|
||||||
motd_ssh() {
|
motd_ssh() {
|
||||||
echo "export TERM='xterm-256color'" >>/root/.bashrc
|
echo "export TERM='xterm-256color'" >>/root/.bashrc
|
||||||
echo -e "$APPLICATION LXC provided by https://tteck.github.io/Proxmox/\n" > /etc/motd
|
echo -e "$APPLICATION LXC provided by https://tteck.github.io/Proxmox/\n" >/etc/motd
|
||||||
chmod -x /etc/update-motd.d/*
|
chmod -x /etc/update-motd.d/*
|
||||||
if [[ "${SSH_ROOT}" == "yes" ]]; then sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config; systemctl restart sshd; fi
|
if [[ "${SSH_ROOT}" == "yes" ]]; then
|
||||||
|
sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config
|
||||||
|
systemctl restart sshd
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
customize() {
|
customize() {
|
||||||
|
|
|
@ -381,10 +381,10 @@ build_container() {
|
||||||
"
|
"
|
||||||
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/create_lxc.sh)" || exit
|
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/create_lxc.sh)" || exit
|
||||||
|
|
||||||
if [ "$CT_TYPE" == "0" ]; then
|
if [ "$CT_TYPE" == "0" ]; then
|
||||||
if [[ "$APP" != "Emby" && "$APP" != "Jellyfin" && "$APP" != "Plex" ]]; then
|
if [[ "$APP" != "Emby" && "$APP" != "Jellyfin" && "$APP" != "Plex" ]]; then
|
||||||
LXC_CONFIG=/etc/pve/lxc/${CTID}.conf
|
LXC_CONFIG=/etc/pve/lxc/${CTID}.conf
|
||||||
cat <<EOF >>$LXC_CONFIG
|
cat <<EOF >>$LXC_CONFIG
|
||||||
lxc.cgroup2.devices.allow: a
|
lxc.cgroup2.devices.allow: a
|
||||||
lxc.cap.drop:
|
lxc.cap.drop:
|
||||||
lxc.cgroup2.devices.allow: c 188:* rwm
|
lxc.cgroup2.devices.allow: c 188:* rwm
|
||||||
|
@ -396,12 +396,12 @@ lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=
|
||||||
lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file
|
lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$CT_TYPE" == "0" ]; then
|
if [ "$CT_TYPE" == "0" ]; then
|
||||||
if [[ "$APP" == "Emby" || "$APP" == "Jellyfin" || "$APP" == "Plex" ]]; then
|
if [[ "$APP" == "Emby" || "$APP" == "Jellyfin" || "$APP" == "Plex" ]]; then
|
||||||
LXC_CONFIG=/etc/pve/lxc/${CTID}.conf
|
LXC_CONFIG=/etc/pve/lxc/${CTID}.conf
|
||||||
cat <<EOF >>$LXC_CONFIG
|
cat <<EOF >>$LXC_CONFIG
|
||||||
lxc.cgroup2.devices.allow: c 226:0 rwm
|
lxc.cgroup2.devices.allow: c 226:0 rwm
|
||||||
lxc.cgroup2.devices.allow: c 226:128 rwm
|
lxc.cgroup2.devices.allow: c 226:128 rwm
|
||||||
lxc.cgroup2.devices.allow: c 29:0 rwm
|
lxc.cgroup2.devices.allow: c 29:0 rwm
|
||||||
|
@ -410,7 +410,7 @@ lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
|
||||||
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
|
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Starting LXC Container"
|
msg_info "Starting LXC Container"
|
||||||
pct start $CTID
|
pct start $CTID
|
||||||
|
|
Loading…
Reference in New Issue