#!/bin/bash set -e # Web dashboard systemctl enable --now nginx firewall-cmd --zone=public --add-service=http --permanent firewall-cmd --zone=public --add-service=https --permanent firewall-cmd --reload # Request SSL certificate. This assumes DNS has been set up already certbot -n --nginx -d ${DOMAINNAME} -d www.${DOMAINNAME} --agree-tos -m "${letsencryptemail}" # Put the website files in place cp -r "$(dirname "$0")"/../website/* /var/www/html for file in $(grep -lR 192.168 /var/www/html/); do sed -i $file -e s/"ws:\/\/"/"wss:\/\/"/g done for file in $(grep -lR 192.168 /var/www/html/); do sed -i $file -e s/"192\.168\.122\.229"/"${DOMAINNAME}"/g done # Patch the NGINX configuration for the web sockets cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak patch --ignore-whitespace /etc/nginx/sites-available/default < /etc/nginx/htpasswd echo "bcrypt.hashpw('${systempassword}'.encode('utf8'),bcrypt.gensalt(rounds=10))" | python3 >> /etc/nginx/htpasswd systemctl restart nginx