tteckster 2 лет назад
Родитель
Сommit
8f3e3f5248
1 измененных файлов с 63 добавлено и 0 удалено
  1. 63 0
      misc/olivetin.sh

+ 63 - 0
misc/olivetin.sh

@@ -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"