This commit is contained in:
2023-07-04 10:58:29 -05:00
parent 497bfc4f1c
commit f53920a042

View File

@@ -1,102 +1,64 @@
# DEFINE THE ADDRESS FOR THE HOST THAT WILL RUN PRIMARY NODE MANAGEMENT TASKS
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_NODEMANAGER=10.10.10.50
# declare -A NM_NEW_ARRAY
# NM_NEW_ARRAY['LB']=
# NM_NEW_ARRAY['LPD']=
# NM_NEW_ARRAY['MM']=
# NM_NEW_ARRAY['MYSQL']=
# NM_NEW_ARRAY['NC']=
# NM_NEW_ARRAY['PW']=
# NM_NEW_ARRAY['WPD']=
# NM_NEW_ARRAY['WM']=
# NM_NEW_ARRAY['WEB']=
NM_NODEMANAGER=192.168.1.5
# DEFIINE NODE TYPES OF THEIR ASSOCIATES HOSTS TO MONITOR (THIS LIST ALSO DEFINES THEIR ORDER IN LISTS; NODE TYPES AND HOSTS) (comma seperated)
#-----------------------------------------------------------------------------------------------------------------------------------------
# NM_HOSTS['GL']=10.10.1.41,10.10.1.42,10.10.1.121,10.10.1.122
NM_HOSTS['LB']=10.10.10.81,10.10.10.82
NM_HOSTS['LPD']=10.10.10.10,10.10.10.11,10.2.1.2
NM_HOSTS['MM']=10.10.1.24
NM_HOSTS['MYSQL']=10.10.1.51,10.10.1.52
NM_HOSTS['NC']=10.10.10.42
NM_HOSTS['PW']=10.10.0.240
NM_HOSTS['WPD']=100.100.55.2,100.100.55.3,10.10.1.28
NM_HOSTS['WM']=100.100.55.5
NM_HOSTS['WEB']=10.10.1.121,10.10.1.122
NM_HOSTS['LB']=192.168.1.11,192.168.1.12
NM_HOSTS['MYSQL']=192.168.1.21,192.168.1.22,192.168.1.23
NM_HOSTS['WEB']=192.168.1.31,192.168.1.32
# DEFINES NODE TYPE NAMES
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_NODETYPES['LB']='LoadBalancer'
NM_NODETYPES['MYSQL']='MySQL'
NM_NODETYPES['WEB']='Webserver'
# DEFINES HOST DESCRIPTIONS FOR CONFIGURED HOSTS
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_HOSTNAMES['192.168.1.31']='Webserver-Node1'
NM_HOSTNAMES['192.168.1.32']='Webserver-Node2'
NM_HOSTNAMES['192.168.1.21']='MySQL-Node1'
NM_HOSTNAMES['192.168.1.22']='MySQL-Node2'
NM_HOSTNAMES['192.168.1.23']='MySQL-Node3'
NM_HOSTNAMES['192.168.1.11']='LoadBalancer-Node1'
NM_HOSTNAMES['192.168.1.12']='LoadBalancer-Node2'
# DEFINES SERVICES TO MONITOR ON EACH HOST PART OF THE NODE TYPE (comma seperated)
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_SERVICES_CHECK['LB']=nginx,haproxy,keepalived
NM_SERVICES_CHECK['LPD']=pdns,nginx,mariadb,pdnsadmin,pdnsadmin.socket,keepalived
NM_SERVICES_CHECK['MM']=bazarr,radarr,sonarr,prowlarr,qbittorrent,snap.tautulli.tautulli,ombi,nginx,php8.2-fpm
NM_SERVICES_CHECK['MYSQL']=mariadb,proxysql,keepalived
NM_SERVICES_CHECK['NC']=nginx,php8.1-fpm,redis-server
NM_SERVICES_CHECK['PW']=mosquitto,monitor-power,monitor-temp
NM_SERVICES_CHECK['WPD']=pdns,nginx,mariadb,pdnsadmin,pdnsadmin.socket,proxysql,tailscaled
NM_SERVICES_CHECK['WM']=nginx,tailscaled
NM_SERVICES_CHECK['WEB']=nginx,php5.6-fpm,php7.2-fpm,php7.3-fpm,php7.4-fpm,php8.2-fpm,gitea,keepalived
# DEFINES DOCKERS TO MONITOR ON EACH HOST PART OF THE NODE TYPE (comma seperated)
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_DOCKERS_CHECK['LB']=
NM_DOCKERS_CHECK['LPD']=
NM_DOCKERS_CHECK['MM']=
NM_DOCKERS_CHECK['MYSQL']=
NM_DOCKERS_CHECK['NC']=
NM_DOCKERS_CHECK['PW']=uptime-kuma
NM_DOCKERS_CHECK['WPD']=
NM_DOCKERS_CHECK['WM']=uptime-kuma
NM_DOCKERS_CHECK['WEB']=phpmyadmin,phppgadmin,vaultwarden,heimdall,authelia
# DEFINES THE CONFIGURED DOCKER COMPOSE CONFIG PATHS, THIS WILL ALLOW NODEMGMT TO TRY AND REBUILD MISSING REQUIRED DOCKERS
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_DOCKER_COMPOSE_LOC['authelia']='/mnt/web-data/authelia'
NM_DOCKER_COMPOSE_LOC['phpmyadmin']='/mnt/web-data/phpmyadmin'
NM_DOCKER_COMPOSE_LOC['phppgadmin']='/mnt/web-data/phppgadmin'
NM_DOCKER_COMPOSE_LOC['vaultwarden']='/mnt/web-data/vaultwarden'
NM_DOCKER_COMPOSE_LOC['heimdall']='/mnt/web-data/heimdall'
# DEFINES REPLICATED ITEMS FROM BELOW TO MONITOR FOR REPLICATION (comma seperated)
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_REPL_CHECK['LB']=lb-data
NM_REPL_CHECK['LPD']=
NM_REPL_CHECK['MM']=
NM_REPL_CHECK['MYSQL']=
NM_REPL_CHECK['NC']=
NM_REPL_CHECK['PW']=
NM_REPL_CHECK['WPD']=
NM_REPL_CHECK['WM']=
NM_REPL_CHECK['WEB']=web-data
# DEFINES FOLDERS TO BE MONITORED FOR REPLICATION
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_REPL_CHECK_LOC['apache']='/etc/apache2'
NM_REPL_CHECK_LOC['nginx']='/mnt/web-data/nginx'
NM_REPL_CHECK_LOC['nginxproxy']='/opt/nginx-proxy'
NM_REPL_CHECK_LOC['lb-data']='/opt/lb-data'
NM_REPL_CHECK_LOC['ssl']='/mnt/web-data/letsencrypt'
NM_REPL_CHECK_LOC['lessh']='/home/le/.ssh'
NM_REPL_CHECK_LOC['php']='/mnt/web-data/php'
NM_REPL_CHECK_LOC['www']='/mnt/web-data/www'
NM_REPL_CHECK_LOC['web-data']='/mnt/web-data'
NM_REPL_CHECK_LOC['git']='/mnt/web-data/gitea'
NM_REPL_CHECK_LOC['gitssh']='/home/git'
NM_REPL_CHECK_LOC['pma']='/mnt/web-data/phpmyadmin'
NM_REPL_CHECK_LOC['pdnsa']='/mnt/web-data/powerdns-admin'
NM_REPL_CHECK_LOC['nextcloud-data']='/mnt/Nextcloud-Data'
NM_REPL_CHECK_LOC['nextcloud-php']='/etc/php'
# DEFINES DESCRIPTIONS FOR REPLICATED FOLDERS
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_REPL_DESC['apache']='Apache Settings'
NM_REPL_DESC['nginx']='NGINX Settings'
NM_REPL_DESC['nginxproxy']='NGINX-Proxy Settings'
NM_REPL_DESC['lb-data']='LB-Data (NGINX / SSL-Certs)'
NM_REPL_DESC['ssl']='SSL Certificates'
NM_REPL_DESC['lessh']='LetsEncrypt SSH Keys'
NM_REPL_DESC['php']='PHP Settings'
NM_REPL_DESC['www']='Webserver Files'
NM_REPL_DESC['web-data']='Web Data (NGINX/PHP)'
NM_REPL_DESC['git']='Gitea System'
NM_REPL_DESC['gitssh']='Gitea SSH Keys'
NM_REPL_DESC['pma']='phpMyAdmin Settings'
NM_REPL_DESC['pdnsa']='PowerDNS Admin'
NM_REPL_DESC['nextcloud-data']='Nextcloud Data'
NM_REPL_DESC['nextcloud-php']='Nextcloud PHP Settings'
# DEFINES NGINX PATHS FOR NODE TYPES (ONLY REQUIRED IF PATH IS REPLICATED BETWEEN HOSTS AND IS NEEDED TO BE VERIFIED BEFORE CERTAIN TASKS)
#-----------------------------------------------------------------------------------------------------------------------------------------
@@ -106,71 +68,21 @@ NM_REPL_NGINX_PATHS['WEB']='/mnt/web-data/nginx'
# DEFINES SERVICES TO BE MONITORED FOR RUNNING ONLY ON THE HOST CURRENTLY IN PRIMARY CONTROL OF THE NODE TYPE (comma seperated)
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_SINGLESRVR_SERVICES['LB']=
NM_SINGLESRVR_SERVICES['LPD']=
NM_SINGLESRVR_SERVICES['MM']=
NM_SINGLESRVR_SERVICES['MYSQL']=
NM_SINGLESRVR_SERVICES['NC']=
NM_SINGLESRVR_SERVICES['PW']=
NM_SINGLESRVR_SERVICES['WPD']=
NM_SINGLESRVR_SERVICES['WM']=
NM_SINGLESRVR_SERVICES['WEB']=gitea
# DEFINES DOCKERS TO BE MONITORED FOR RUNNING ONLY ON THE HOST CURRENTLY IN PRIMARY CONTROL OF THE NODE TYPE (comma seperated)
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_SINGLESRVR_DOCKERS['LB']=
NM_SINGLESRVR_DOCKERS['LPD']=
NM_SINGLESRVR_DOCKERS['MM']=
NM_SINGLESRVR_DOCKERS['MYSQL']=
NM_SINGLESRVR_DOCKERS['NC']=
NM_SINGLESRVR_DOCKERS['PW']=
NM_SINGLESRVR_DOCKERS['WPD']=
NM_SINGLESRVR_DOCKERS['WM']=
NM_SINGLESRVR_DOCKERS['WEB']=vaultwarden,heimdall,authelia
# DEFINES THE KEEPALIVE IP ADDRESS FOR THE NODE TYPE WHEN USING SINGLE SERVER MONITORING (USED TO VERIFY PRIMARY NODE)
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_SINGLESRVR_IP['LB']=
NM_SINGLESRVR_IP['LPD']=
NM_SINGLESRVR_IP['MM']=
NM_SINGLESRVR_IP['MYSQL']=
NM_SINGLESRVR_IP['NC']=
NM_SINGLESRVR_IP['PW']=
NM_SINGLESRVR_IP['WPD']=
NM_SINGLESRVR_IP['WM']=
NM_SINGLESRVR_IP['WEB']=10.10.1.20
# DEFINES HOST DESCRIPTIONS FOR CONFIGURED HOSTS
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_HOSTNAMES['10.10.1.121']='Webserver-Node1'
NM_HOSTNAMES['10.10.1.122']='Webserver-Node2'
NM_HOSTNAMES['10.10.1.24']='Media-Manager'
NM_HOSTNAMES['10.10.1.51']='MySQL-Node1'
NM_HOSTNAMES['10.10.1.52']='MySQL-Node2'
NM_HOSTNAMES['10.10.10.81']='LoadBalancer-Node1'
NM_HOSTNAMES['10.10.10.82']='LoadBalancer-Node2'
NM_HOSTNAMES['10.10.10.10']='LAN-DNS-Node1'
NM_HOSTNAMES['10.10.10.11']='LAN-DNS-Node2'
NM_HOSTNAMES['10.2.1.2']='LAN-DNS-Offsite'
NM_HOSTNAMES['10.10.10.42']='Nextcloud-Server'
NM_HOSTNAMES['10.10.10.50']='MySQL-Manager'
NM_HOSTNAMES['10.10.0.240']='PowerWall-Server'
NM_HOSTNAMES['100.100.55.2']='WAN-DNS-Node1 (East)'
NM_HOSTNAMES['100.100.55.3']='WAN-DNS-Node2 (West)'
NM_HOSTNAMES['10.10.1.28']='WAN-DNS-Node3 (Home)'
NM_HOSTNAMES['100.100.55.5']='WAN-Monitor-Node1'
# DEFINES NODE TYPE NODE NAMES, WILL APPEND WITH `-NODE#` #=NODE NUMBER IN ORDERED SEQUENCE
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_NODETYPES['MYSQL']='MySQL'
NM_NODETYPES['LB']='LoadBalance'
NM_NODETYPES['WEB']='Webserver'
NM_NODETYPES['NC']='Nextcloud'
NM_NODETYPES['WPD']='WAN-DNS'
NM_NODETYPES['LPD']='LAN-DNS'
NM_NODETYPES['MM']='Media-Manager'
NM_NODETYPES['PW']='PowerWall'
NM_NODETYPES['WM']='WAN-Monitor'
NM_NODETYPES['GL']='Gluster'
# DEFINES THE CONFIGURED SERVICE DESCRIPTIONS
#-----------------------------------------------------------------------------------------------------------------------------------------
@@ -199,14 +111,6 @@ NM_SERVICE_DESC['pdns']='(PowerDNS) DNS Serveice'
NM_SERVICE_DESC['pdnsadmin']='(PowerDNS) Admin Portal'
NM_SERVICE_DESC['pdnsadmin.socket']='(PowerDNS) Portal Socket'
NM_SERVICE_DESC['proxysql']='ProxySQL Load Balancer'
NM_SERVICE_DESC['bazarr']='Bazarr'
NM_SERVICE_DESC['radarr']='Radarr'
NM_SERVICE_DESC['sonarr']='Sonarr'
NM_SERVICE_DESC['jackett']='Jackett'
NM_SERVICE_DESC['prowlarr']='Prowlarr'
NM_SERVICE_DESC['qbittorrent']='qBittorrent'
NM_SERVICE_DESC['snap.tautulli.tautulli']='Tautulli'
NM_SERVICE_DESC['ombi']='Ombi'
NM_SERVICE_DESC['glusterd']='Gluster FileSystem'
NM_SERVICE_DESC['redis-server']='Redis Caching Server'
NM_SERVICE_DESC['mosquitto']='Mosquitto MQTT Broker'
@@ -224,15 +128,6 @@ NM_DOCKER_DESC['heimdall']='Heimdall'
NM_DOCKER_DESC['uptime-kuma']='Uptime-Kuma'
NM_DOCKER_DESC['nginx-proxy_manager']='Nginx Proxy Manager'
# DEFINES THE CONFIGURED DOCKER COMPOSE CONFIG PATHS, THIS WILL ALLOW NODEMGMT TO TRY AND REBUILD MISSING REQUIRED DOCKERS
#-----------------------------------------------------------------------------------------------------------------------------------------
NM_DOCKER_COMPOSE_LOC['authelia']='/mnt/web-data/authelia'
NM_DOCKER_COMPOSE_LOC['phpmyadmin']='/mnt/web-data/phpmyadmin'
NM_DOCKER_COMPOSE_LOC['phppgadmin']='/mnt/web-data/phppgadmin'
NM_DOCKER_COMPOSE_LOC['vaultwarden']='/mnt/web-data/vaultwarden'
NM_DOCKER_COMPOSE_LOC['heimdall']='/mnt/web-data/heimdall'
NM_DOCKER_COMPOSE_LOC['uptime-kuma']='/opt/uptime-kuma'
NM_DOCKER_COMPOSE_LOC['nginx-proxy_manager']='/opt/nginx-proxy'