# NODETYPES=WEB NODEMANAGER=10.10.10.50 # declare -A NM_HOST_SERVICES # NM_HOST_SERVICES['LB']= # NM_HOST_SERVICES['LPD']= # NM_HOST_SERVICES['MM']= # NM_HOST_SERVICES['MYSQL']= # NM_HOST_SERVICES['NC']= # NM_HOST_SERVICES['PW']= # NM_HOST_SERVICES['WPD']= # NM_HOST_SERVICES['WM']= # NM_HOST_SERVICES['WEB']= declare -A NM_HOSTS # 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 declare -A NM_SERVICES_CHECK 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 MYSQLSERVICES_CHECK=mariadb,proxysql,keepalived WEBSERVICES_CHECK=nginx,php5.6-fpm,php7.2-fpm,php7.3-fpm,php7.4-fpm,php8.2-fpm,gitea,keepalived LBSERVICES_CHECK=nginx,haproxy,keepalived NCSERVICES_CHECK=nginx,php8.1-fpm,redis-server WPDSERVICES_CHECK=pdns,nginx,mariadb,pdnsadmin,pdnsadmin.socket,proxysql,tailscaled LPDSERVICES_CHECK=pdns,nginx,mariadb,pdnsadmin,pdnsadmin.socket,keepalived MMSERVICES_CHECK=bazarr,radarr,sonarr,prowlarr,qbittorrent,snap.tautulli.tautulli,ombi,nginx,php8.2-fpm PWSERVICES_CHECK=mosquitto,monitor-power,monitor-temp WMSERVICES_CHECK=nginx,tailscaled WEBDOCKER=phpmyadmin,phppgadmin,vaultwarden,heimdall,authelia WMDOCKER=uptime-kuma PWDOCKER=uptime-kuma #LBDOCKER=nginx-proxy_manager WEB_SINGLESRVRSERVICES=gitea WEB_SINGLESRVRDOCKERS=vaultwarden,heimdall,authelia WEB_SINGLESRVR_IP=10.10.1.20 LB_NGINX_SITES='/opt/lb-data/nginx/sites-enabled' WEB_NGINX_SITES='/mnt/web-data/nginx/sites-enabled' #MYSQL_REPL_CHECK=( ) #WEB_REPL_CHECK=(nginx www ssl lessh php pma pdnsa) WEB_REPL_CHECK=( web-data ) LB_REPL_CHECK=( lb-data ) #NC_REPL_CHECK=(apache nextcloud-php nextcloud-data) #NC_REPL_CHECK=( ) declare -A NGINX_PATHS NGINX_PATHS['LB']='/opt/lb-data/nginx' NGINX_PATHS['WEB']='/mnt/web-data/nginx' declare -A NM_HOSTNAMES 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['100.100.55.5']='WAN-Monitor-Node1' NM_HOSTNAMES['3.214.174.170']='WAN-DNS-Node1 (East)' NM_HOSTNAMES['54.213.11.227']='WAN-DNS-Node2 (West)' NM_HOSTNAMES['10.10.1.28']='WAN-DNS-Node3 (Home)' NM_HOSTNAMES['44.214.59.192']='WAN-Monitor-Node1' declare -A NM_NODETYPES NM_NODETYPES['MYSQL']='MySQL' NM_NODETYPES['LB']='LoadBalance' NM_NODETYPES['WEB']='Webserver' NM_NODETYPES['NC']='Nextcloud' NM_NODETYPES['WPD']='WAN PowerDNS' NM_NODETYPES['LPD']='LAN PowerDNS' NM_NODETYPES['MM']='Media Manager' NM_NODETYPES['PW']='PowerWall' NM_NODETYPES['WM']='WAN-Monitor' declare -A NM_SERVICE_DESC NM_SERVICE_DESC['mysql']='MySQL' NM_SERVICE_DESC['mariadb']='MariaDB (MySQL)' NM_SERVICE_DESC['postgresql']='PostgreSQL' NM_SERVICE_DESC['apache2']='Apache Web Server' NM_SERVICE_DESC['nginx']='NGINX Web Server' NM_SERVICE_DESC['gogs']='Gogs Git Repository' NM_SERVICE_DESC['gitea']='Gitea Git Repository' NM_SERVICE_DESC['haproxy']='HAProxy Load Balancer' NM_SERVICE_DESC['keepalived']='Keepalived Load Balancer' NM_SERVICE_DESC['maxscale']='MaxScale Load Balancer' NM_SERVICE_DESC['cmon']='ClusterControl' NM_SERVICE_DESC['cmon-events']='CC-Events Manager' NM_SERVICE_DESC['cmon-cloud']='CC-Cloud Daemon' NM_SERVICE_DESC['php5.6-fpm']='PHP 5.6 FPM' NM_SERVICE_DESC['php7.2-fpm']='PHP 7.2 FPM' NM_SERVICE_DESC['php7.3-fpm']='PHP 7.3 FPM' NM_SERVICE_DESC['php7.4-fpm']='PHP 7.4 FPM' NM_SERVICE_DESC['php8.0-fpm']='PHP 8.0 FPM' NM_SERVICE_DESC['php8.1-fpm']='PHP 8.1 FPM' NM_SERVICE_DESC['php8.2-fpm']='PHP 8.2 FPM' NM_SERVICE_DESC['syncthing']='Syncthing' NM_SERVICE_DESC['pdns']='PowerDNS Server' NM_SERVICE_DESC['pdnsadmin']='PowerDNS-Admin' NM_SERVICE_DESC['pdnsadmin.socket']='PowerDNS-Admin Socket' NM_SERVICE_DESC['proxysql']='ProxySQL Load Balancer' 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' NM_SERVICE_DESC['tailscaled']='Tailscale P2P VPN' NM_SERVICE_DESC['monitor-power']='Server Power Monitor' NM_SERVICE_DESC['monitor-temp']='Server Temp Monitor' declare -A NM_DOCKERS NM_DOCKERS['authelia']='Authelia' NM_DOCKERS['phpmyadmin']='phpMyAdmin' NM_DOCKERS['phppgadmin']='phpPgAdmin' NM_DOCKERS['vaultwarden']='VaultWarden' NM_DOCKERS['heimdall']='Heimdall' NM_DOCKERS['uptime-kuma']='Uptime-Kuma' NM_DOCKERS['nginx-proxy_manager']='Nginx Proxy Manager' declare -A NM_DOCKER_COMPOSE NM_DOCKER_COMPOSE['authelia']='/mnt/web-data/authelia' NM_DOCKER_COMPOSE['phpmyadmin']='/mnt/web-data/phpmyadmin' NM_DOCKER_COMPOSE['phppgadmin']='/mnt/web-data/phppgadmin' NM_DOCKER_COMPOSE['vaultwarden']='/mnt/web-data/vaultwarden' NM_DOCKER_COMPOSE['heimdall']='/mnt/web-data/heimdall' NM_DOCKER_COMPOSE['uptime-kuma']='/opt/uptime-kuma' NM_DOCKER_COMPOSE['nginx-proxy_manager']='/opt/nginx-proxy' declare -A NM_SRVCOPTS NM_SRVCOPTS['status']='Status' NM_SRVCOPTS['start']='Start' NM_SRVCOPTS['stop']='Stopp' NM_SRVCOPTS['restart']='Restart' NM_SRVCOPTS['reload']='Reload' NM_SRVCOPTS['enable']='Enabl' NM_SRVCOPTS['disable']='Disabl' NM_SRVCOPTS['daemon-reload']='Daemon-Reload' declare -A REPL_CHECKS REPL_CHECKS['apache']='/etc/apache2' REPL_CHECKS['nginx']='/mnt/web-data/nginx' REPL_CHECKS['nginxproxy']='/opt/nginx-proxy' REPL_CHECKS['lb-data']='/opt/lb-data' REPL_CHECKS['ssl']='/mnt/web-data/letsencrypt' REPL_CHECKS['lessh']='/home/le/.ssh' REPL_CHECKS['php']='/mnt/web-data/php' REPL_CHECKS['www']='/mnt/web-data/www' REPL_CHECKS['web-data']='/mnt/web-data' REPL_CHECKS['git']='/mnt/web-data/gitea' REPL_CHECKS['gitssh']='/home/git' REPL_CHECKS['pma']='/mnt/web-data/phpmyadmin' REPL_CHECKS['pdnsa']='/mnt/web-data/powerdns-admin' REPL_CHECKS['nextcloud-data']='/mnt/Nextcloud-Data' REPL_CHECKS['nextcloud-php']='/etc/php' declare -A REPL_DESC REPL_DESC['apache']='Apache Settings' REPL_DESC['nginx']='NGINX Settings' REPL_DESC['nginxproxy']='NGINX-Proxy Settings' REPL_DESC['lb-data']='LB-Data (NGINX / SSL-Certs)' REPL_DESC['ssl']='SSL Certificates' REPL_DESC['lessh']='LetsEncrypt SSH Keys' REPL_DESC['php']='PHP Settings' REPL_DESC['www']='Webserver Files' REPL_DESC['web-data']='Web Data (NGINX/PHP)' REPL_DESC['git']='Gitea System' REPL_DESC['gitssh']='Gitea SSH Keys' REPL_DESC['pma']='phpMyAdmin Settings' REPL_DESC['pdnsa']='PowerDNS Admin' REPL_DESC['nextcloud-data']='Nextcloud Data' REPL_DESC['nextcloud-php']='Nextcloud PHP Settings' declare -A BACKUP_ITEMS BACKUP_ITEMS[nginx-settings]=/etc/nginx BACKUP_ITEMS[nginx-logs]=/var/log/nginx BACKUP_ITEMS[letsencrypt-certs]=/etc/letsencrypt BACKUP_ITEMS[webserver-files]=/var/www BACKUP_ITEMS[haproxy]=/etc/haproxy BACKUP_ITEMS[keepalived]=/etc/keepalived BACKUP_ITEMS[fail2ban]=/etc/fail2ban # BACKUP_ITEMS[nginx]=/