mirror of https://github.com/tteck/Proxmox.git
				
				
				
			Create olivetin.sh
This commit is contained in:
		
							parent
							
								
									8e98eb0617
								
							
						
					
					
						commit
						8f3e3f5248
					
				| 
						 | 
					@ -0,0 +1,63 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2023 tteck
 | 
				
			||||||
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
 | 
					# License: MIT
 | 
				
			||||||
 | 
					# https://github.com/tteck/Proxmox/raw/main/LICENSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function header_info {
 | 
				
			||||||
 | 
					clear
 | 
				
			||||||
 | 
					cat <<"EOF"
 | 
				
			||||||
 | 
					   ____  ___          _______     
 | 
				
			||||||
 | 
					  / __ \/ (_)   _____/_  __(_)___ 
 | 
				
			||||||
 | 
					 / / / / / / | / / _ \/ / / / __ \
 | 
				
			||||||
 | 
					/ /_/ / / /| |/ /  __/ / / / / / /
 | 
				
			||||||
 | 
					\____/_/_/ |___/\___/_/ /_/_/ /_/ 
 | 
				
			||||||
 | 
					                                  
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IP=$(hostname -I | awk '{print $1}')
 | 
				
			||||||
 | 
					YW=$(echo "\033[33m")
 | 
				
			||||||
 | 
					GN=$(echo "\033[1;92m")
 | 
				
			||||||
 | 
					CL=$(echo "\033[m")
 | 
				
			||||||
 | 
					BFR="\\r\\033[K"
 | 
				
			||||||
 | 
					HOLD="-"
 | 
				
			||||||
 | 
					CM="${GN}✓${CL}"
 | 
				
			||||||
 | 
					APP="OliveTin"
 | 
				
			||||||
 | 
					hostname="$(hostname)"
 | 
				
			||||||
 | 
					set-e
 | 
				
			||||||
 | 
					header_info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					while true; do
 | 
				
			||||||
 | 
					    read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn
 | 
				
			||||||
 | 
					    case $yn in
 | 
				
			||||||
 | 
					    [Yy]*) break ;;
 | 
				
			||||||
 | 
					    [Nn]*) exit ;;
 | 
				
			||||||
 | 
					    *) echo "Please answer yes or no." ;;
 | 
				
			||||||
 | 
					    esac
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					header_info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function msg_info() {
 | 
				
			||||||
 | 
					  local msg="$1"
 | 
				
			||||||
 | 
					  echo -ne " ${HOLD} ${YW}${msg}..."
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function msg_ok() {
 | 
				
			||||||
 | 
					  local msg="$1"
 | 
				
			||||||
 | 
					  echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Installing ${APP}"
 | 
				
			||||||
 | 
					RELEASE=$(curl -s https://api.github.com/repos/OliveTin/OliveTin/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
 | 
					wget -q github.com/OliveTin/OliveTin/releases/download/$RELEASE/OliveTin_linux_amd64.deb
 | 
				
			||||||
 | 
					dpkg -i OliveTin_linux_amd64.deb &>/dev/null
 | 
				
			||||||
 | 
					rm OliveTin_linux_amd64.deb
 | 
				
			||||||
 | 
					systemctl enable --now OliveTin &>/dev/null
 | 
				
			||||||
 | 
					# configuration file path /etc/OliveTin/config.yaml
 | 
				
			||||||
 | 
					msg_ok "Installed ${APP} on $hostname"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${APP} should be reachable by going to the following URL.
 | 
				
			||||||
 | 
					         ${BL}http://$IP:1337${CL} \n"
 | 
				
			||||||
		Loading…
	
		Reference in New Issue