some reverse proxy tweaks

This commit is contained in:
th33xitus
2020-07-23 19:39:12 +02:00
parent 2596e8d08a
commit 2bbf006475
5 changed files with 35 additions and 68 deletions

View File

@@ -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;

View File

@@ -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

View File

@@ -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
}

View File

@@ -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

View File

@@ -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