#!/bin/sh echo "" echo "Welcome to ngxproxy utility." echo "We're about to create a new vhost." echo "" while [ "$NAME" == "" ]; do read -p "Name: " NAME done while [ "$DOMAIN" == "" ]; do read -p "Domain: " DOMAIN done while [ "$CONTAINER" == "" ]; do read -p "Container: " CONTAINER ping -c 1 ${CONTAINER} if [ "$?" != "0" ]; then echo "WARNING: ${CONTAINER} seems to be unavailable." fi done read -p "Port (blank means 80): " PORT if [ "$PORT" == "" ]; then PORT="80" fi while [[ "$HTTPS" != "y" && "$HTTPS" != "n" ]]; do read -p "HTTPS [y/n]: " HTTPS done if [ "$HTTPS" == "y" ]; then while [ ! -f "$CERTIFICATE_PATH" ]; do read -p "Certificate path: " CERTIFICATE_PATH done while [ ! -f "$KEY_PATH" ]; do read -p "Certificate key path: " KEY_PATH done cp /etc/nginx/conf/vhost_https.conf /sites-enabled/${NAME}.conf sed -i \ -e "s||${CERTIFICATE_PATH}|g" \ -e "s||${KEY_PATH}|g" \ /sites-enabled/${NAME}.conf while [[ "$HEADERS" != "y" && "$HEADERS" != "n" ]]; do read -p "Secure headers [y/n]: " HEADERS done if [ "$HEADERS" == "y" ]; then sed -i 's|#include /etc/nginx/conf/headers_params|include /etc/nginx/conf/headers_params|g' \ /sites-enabled/${NAME}.conf fi else cp /etc/nginx/conf/vhost_http.conf /sites-enabled/${NAME}.conf fi while [ "$MAX_BODY_SIZE" == "" ]; do read -p "Max body size (value in MB, or n): " MAX_BODY_SIZE done if [ "$MAX_BODY_SIZE" != "n" ]; then sed -i "s|#client_max_body_size |client_max_body_size ${MAX_BODY_SIZE}|g" \ /sites-enabled/${NAME}.conf fi sed -i \ -e "s||${DOMAIN}|g" \ -e "s||${CONTAINER}|g" \ -e "s||${PORT}|g" \ /sites-enabled/${NAME}.conf echo "" echo "It's done : ${NAME}.conf has been generated." echo "Restart boring-nginx to apply these modifications." echo "" exit 0