Просмотр исходного кода

Merge pull request #61 from ryanfortner/patch-8

Add error & check_internet functions to stack scripts
don 3 лет назад
Родитель
Сommit
6677e0612e
2 измененных файлов с 42 добавлено и 18 удалено
  1. 29 11
      rpi_docker_monitor.sh
  2. 13 7
      rpi_nginx-proxy-manager.sh

+ 29 - 11
rpi_docker_monitor.sh

@@ -1,11 +1,29 @@
-#!/bin/sh
-echo "creating directories"
-sudo mkdir -p /portainer/Files/AppData/Config/prometheus/config
-sudo mkdir -p /portainer/Files/AppData/Config/prometheus/data
-sudo mkdir -p /portainer/Files/AppData/Config/grafana/data
-echo "downloading prometheus config files"
-sudo wget -O /portainer/Files/AppData/Config/prometheus/config/prometheus.yml https://raw.githubusercontent.com/oijkn/Docker-Raspberry-PI-Monitoring/main/prometheus/prometheus.yml
-sudo touch /portainer/Files/AppData/Config/grafana/grafana.ini
-echo "setting permissions"
-sudo chown -R 472:472 /portainer/Files/AppData/Config/grafana/data
-echo "done"
+#!/bin/bash
+
+function error {
+  echo -e "\\e[91m$1\\e[39m"
+  exit 1
+}
+
+function check_internet() {
+  printf "Checking if you are online..."
+  wget -q --spider http://github.com
+  if [ $? -eq 0 ]; then
+    echo "Online. Continuing."
+  else
+    error "Offline. Go connect to the internet then run the script again."
+  fi
+}
+
+check_internet
+
+echo "Creating directories..."
+sudo mkdir -p /portainer/Files/AppData/Config/prometheus/config || error "Failed to create config directory!"
+sudo mkdir -p /portainer/Files/AppData/Config/prometheus/data || error "Failed to create data directory for Prometheus!"
+sudo mkdir -p /portainer/Files/AppData/Config/grafana/data || error "Failed to create data directory for Grafana!"
+echo "Downloading Prometheus config files"
+sudo wget -O /portainer/Files/AppData/Config/prometheus/config/prometheus.yml https://raw.githubusercontent.com/oijkn/Docker-Raspberry-PI-Monitoring/main/prometheus/prometheus.yml || error "Failed to download prometheus.yml file!"
+sudo touch /portainer/Files/AppData/Config/grafana/grafana.ini || error "Failed to touch grafana.ini file!"
+echo "Setting permissions..."
+sudo chown -R 472:472 /portainer/Files/AppData/Config/grafana/data || error "Failed to set permissions for Grafana data!"
+echo "Done"

+ 13 - 7
rpi_nginx-proxy-manager.sh

@@ -1,8 +1,14 @@
-#!/bin/sh
-echo "creating directories"
-sudo mkdir -p /portainer/Files/AppData/Config/nginx-proxy-manager/data
-sudo mkdir -p /portainer/Files/AppData/Config/nginx-proxy-manager/letsencrypt
-sudo mkdir -p /portainer/Files/AppData/Config/nginx-proxy-manager/database
+#!/bin/bash
+
+function error {
+  echo -e "\\e[91m$1\\e[39m"
+  exit 1
+}
+
+echo "Creating directories..."
+sudo mkdir -p /portainer/Files/AppData/Config/nginx-proxy-manager/data || error "Failed to create data folder!"
+sudo mkdir -p /portainer/Files/AppData/Config/nginx-proxy-manager/letsencrypt || error "Failed to create letsencrypt folder!"
+sudo mkdir -p /portainer/Files/AppData/Config/nginx-proxy-manager/database || error "Failed to create database folder!"
 echo "Creating a blank nginx-proxy-manager config files"
-sudo touch /portainer/Files/AppData/Config/nginx-proxy-manager/config.json
-echo "done you can now install the stack"
+sudo touch /portainer/Files/AppData/Config/nginx-proxy-manager/config.json || error "Failed to touch config.json file!"
+echo "Setup complete. You can now install the stack using the App Template."