# NODETYPES=WEB NODEMANAGER=10.10.10.50 MYSQLHOSTS=10.10.1.51,10.10.1.52 WEBHOSTS=10.10.1.121,10.10.1.122 LBHOSTS=10.10.10.81,10.10.10.82 NCHOSTS=10.10.10.42 WPDHOSTS=100.100.55.2,100.100.55.3,10.10.1.28 LPDHOSTS=10.10.10.10,10.10.10.11,10.2.1.2 MMHOSTS=10.10.1.24 NODEMANAGER=10.10.10.50 GLHOSTS=10.10.1.41,10.10.1.42,10.10.1.121,10.10.1.122 PWHOSTS=10.10.0.240 WMHOSTS=100.100.55.5 declare -A NM_HOSTS NM_HOSTS['MYSQL']=10.10.1.51,10.10.1.52 NM_HOSTS['WEB']=10.10.1.121,10.10.1.122 NM_HOSTS['LB']=10.10.10.81,10.10.10.82 NM_HOSTS['NC']=10.10.10.42 NM_HOSTS['WPD']=100.100.55.2,100.100.55.3,10.10.1.28 NM_HOSTS['LPD']=10.10.10.10,10.10.10.11,10.2.1.2 NM_HOSTS['MM']=10.10.1.24 # NM_HOSTS['GL']=10.10.1.41,10.10.1.42,10.10.1.121,10.10.1.122 NM_HOSTS['PW']=10.10.0.240 NM_HOSTS['WM']=100.100.55.5 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_SERVICES NM_SERVICES['mysql']='MySQL' NM_SERVICES['mariadb']='MariaDB (MySQL)' NM_SERVICES['postgresql']='PostgreSQL' NM_SERVICES['apache2']='Apache Web Server' NM_SERVICES['nginx']='NGINX Web Server' NM_SERVICES['gogs']='Gogs Git Repository' NM_SERVICES['gitea']='Gitea Git Repository' NM_SERVICES['haproxy']='HAProxy Load Balancer' NM_SERVICES['keepalived']='Keepalived Load Balancer' NM_SERVICES['maxscale']='MaxScale Load Balancer' NM_SERVICES['cmon']='ClusterControl' NM_SERVICES['cmon-events']='CC-Events Manager' NM_SERVICES['cmon-cloud']='CC-Cloud Daemon' NM_SERVICES['php5.6-fpm']='PHP 5.6 FPM' NM_SERVICES['php7.2-fpm']='PHP 7.2 FPM' NM_SERVICES['php7.3-fpm']='PHP 7.3 FPM' NM_SERVICES['php7.4-fpm']='PHP 7.4 FPM' NM_SERVICES['php8.0-fpm']='PHP 8.0 FPM' NM_SERVICES['php8.1-fpm']='PHP 8.1 FPM' NM_SERVICES['php8.2-fpm']='PHP 8.2 FPM' NM_SERVICES['syncthing']='Syncthing' NM_SERVICES['pdns']='PowerDNS Server' NM_SERVICES['pdnsadmin']='PowerDNS-Admin' NM_SERVICES['pdnsadmin.socket']='PowerDNS-Admin Socket' NM_SERVICES['proxysql']='ProxySQL Load Balancer' NM_SERVICES['radarr']='Radarr' NM_SERVICES['sonarr']='Sonarr' NM_SERVICES['jackett']='Jackett' NM_SERVICES['prowlarr']='Prowlarr' NM_SERVICES['qbittorrent']='qBittorrent' NM_SERVICES['snap.tautulli.tautulli']='Tautulli' NM_SERVICES['ombi']='Ombi' NM_SERVICES['glusterd']='Gluster FileSystem' NM_SERVICES['redis-server']='Redis Caching Server' NM_SERVICES['mosquitto']='Mosquitto MQTT Broker' NM_SERVICES['tailscaled']='Tailscale P2P VPN' NM_SERVICES['monitor-power']='Server Power Monitor' NM_SERVICES['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]=/