diff --git a/resources/mainsail_nginx.cfg b/resources/mainsail_nginx.cfg index faf55d5..3a5be13 100644 --- a/resources/mainsail_nginx.cfg +++ b/resources/mainsail_nginx.cfg @@ -10,8 +10,8 @@ upstream apiserver { } server { - listen 80 default_server; - listen [::]:80 default_server; + listen 80; + #listen [::]:80; # no ipv6 support in mainsail yet! access_log /var/log/nginx/mainsail-access.log; error_log /var/log/nginx/mainsail-error.log; diff --git a/scripts/functions.sh b/scripts/functions.sh index 626f538..4843d5b 100644 --- a/scripts/functions.sh +++ b/scripts/functions.sh @@ -259,6 +259,30 @@ read_octoprint_service_status(){ fi } +create_reverse_proxy(){ + #check for dependencies + dep=(nginx) + dependency_check + #execute operations + status_msg "Creating Nginx configuration for $1 ..." + cat ${HOME}/kiauh/resources/$1_nginx.cfg > ${HOME}/kiauh/resources/$1 + sudo mv ${HOME}/kiauh/resources/$1 /etc/nginx/sites-available/$1 + #ONLY FOR MAINSAIL: replace username if not "pi" + if [ "$1" = "mainsail" ]; then + sudo sed -i "/root/s/pi/${USER}/" /etc/nginx/sites-available/mainsail + fi + ok_msg "Nginx configuration for $1 was set!" + #remove default config + if [ -e /etc/nginx/sites-enabled/default ]; then + sudo rm /etc/nginx/sites-enabled/default + fi + #create symlink for own configs + if [ ! -e /etc/nginx/sites-enabled/$1 ]; then + sudo ln -s /etc/nginx/sites-available/$1 /etc/nginx/sites-enabled/ + fi + restart_nginx +} + create_custom_hostname(){ echo top_border @@ -281,13 +305,10 @@ create_custom_hostname(){ } set_hostname(){ - #check for existing avahi installation - status_msg "Checking for necessary Avahi installation ..." - if ! [[ $(dpkg-query -f'${Status}' --show avahi-daemon 2>/dev/null) = *\ installed ]]; then - status_msg "Installing Avahi ..." - sudo apt-get install avahi-daemon -y && ok_msg "Avahi successfully installed!" - fi - ok_msg "Avahi found!" + #check for dependencies + dep=(avahi-daemon) + dependency_check + #execute operations #get current hostname and write to variable HOSTNAME=$(hostname) #create host file if missing or create backup of existing one with current date&time diff --git a/scripts/install_dwc2.sh b/scripts/install_dwc2.sh index 30d7f06..0a1aec2 100644 --- a/scripts/install_dwc2.sh +++ b/scripts/install_dwc2.sh @@ -18,6 +18,7 @@ dwc2_install_routine(){ install_dwc2fk && dwc2fk_cfg install_dwc2 dwc2_reverse_proxy_dialog + create_custom_hostname start_klipper else ERROR_MSG=" Please install Klipper first!\n Skipping..." @@ -148,25 +149,8 @@ dwc2_reverse_proxy_dialog(){ read -p "###### Do you want to set up a reverse proxy now? (Y/n): " yn echo -e "${default}" case "$yn" in - Y|y|Yes|yes|"") dwc2_reverse_proxy; break;; + Y|y|Yes|yes|"") create_reverse_proxy "dwc2"; break;; N|n|No|no) break;; esac done -} - -dwc2_reverse_proxy(){ - #check for dependencies - dep=(avahi-daemon nginx) - dependency_check - #execute operations - cat ${HOME}/kiauh/resources/dwc2_nginx.cfg > ${HOME}/kiauh/resources/dwc2 - sudo mv ${HOME}/kiauh/resources/dwc2 /etc/nginx/sites-available/dwc2 - if [ -e /etc/nginx/sites-enabled/default ]; then - sudo rm /etc/nginx/sites-enabled/default - fi - if [ ! -e /etc/nginx/sites-enabled/dwc2 ]; then - sudo ln -s /etc/nginx/sites-available/dwc2 /etc/nginx/sites-enabled/ - fi - restart_nginx - create_custom_hostname } \ No newline at end of file diff --git a/scripts/install_mainsail.sh b/scripts/install_mainsail.sh index ab85848..a192581 100644 --- a/scripts/install_mainsail.sh +++ b/scripts/install_mainsail.sh @@ -12,7 +12,7 @@ mainsail_install_routine(){ check_printer_cfg restart_moonraker restart_klipper - config_nginx_mainsail + create_reverse_proxy "mainsail" test_api test_nginx install_mainsail @@ -195,29 +195,6 @@ remove_haproxy_lighttpd(){ fi } -config_nginx_mainsail(){ - USER=$(whoami) - if ! [[ $(dpkg-query -f'${Status}' --show nginx 2>/dev/null) = *\ installed ]]; then - status_msg "Installing Nginx ..." - sudo apt-get install nginx -y && ok_msg "Nginx successfully installed!" - fi - if [ ! -d $MAINSAIL_DIR ]; then - mkdir $MAINSAIL_DIR - fi - status_msg "Create Nginx configuration ..." - cat ${HOME}/kiauh/resources/mainsail_nginx.cfg > ${HOME}/kiauh/resources/mainsail - sudo mv ${HOME}/kiauh/resources/mainsail /etc/nginx/sites-available/mainsail - #make sure the config is for the correct user - sudo sed -i "/root/s/pi/$USER/" /etc/nginx/sites-available/mainsail - if [ -e /etc/nginx/sites-enabled/default ]; then - sudo rm /etc/nginx/sites-enabled/default - fi - if [ ! -e /etc/nginx/sites-enabled/mainsail ]; then - sudo ln -s /etc/nginx/sites-available/mainsail /etc/nginx/sites-enabled/ - fi - ok_msg "Nginx configured!" -} - test_api(){ status_msg "Testing API ..." sleep 5 diff --git a/scripts/install_octoprint.sh b/scripts/install_octoprint.sh index 7a0408e..159a89e 100755 --- a/scripts/install_octoprint.sh +++ b/scripts/install_octoprint.sh @@ -5,6 +5,7 @@ octoprint_install_routine(){ configure_autostart add_reboot_permission octoprint_reverse_proxy_dialog + create_custom_hostname load_server } @@ -107,28 +108,12 @@ octoprint_reverse_proxy_dialog(){ read -p "###### Do you want to set up a reverse proxy now? (Y/n): " yn echo -e "${default}" case "$yn" in - Y|y|Yes|yes|"") octoprint_reverse_proxy; break;; + Y|y|Yes|yes|"") create_reverse_proxy "octoprint"; break;; N|n|No|no) break;; esac done } -octoprint_reverse_proxy(){ - if ! [[ $(dpkg-query -f'${Status}' --show nginx 2>/dev/null) = *\ installed ]]; then - sudo apt-get install nginx -y - fi - cat ${HOME}/kiauh/resources/octoprint_nginx.cfg > ${HOME}/kiauh/resources/octoprint - sudo mv ${HOME}/kiauh/resources/octoprint /etc/nginx/sites-available/octoprint - if [ -e /etc/nginx/sites-enabled/default ]; then - sudo rm /etc/nginx/sites-enabled/default - fi - if [ ! -e /etc/nginx/sites-enabled/octoprint ]; then - sudo ln -s /etc/nginx/sites-available/octoprint /etc/nginx/sites-enabled/ - fi - restart_nginx - create_custom_hostname -} - load_server(){ start_octoprint #create an octoprint.log symlink in home-dir just for convenience