#!/bin/bash

SCRIPT_VER="1.1"

APP="Netdata"
APP_CATEGORY="Monitoring"
APP_SCOPE="system"
APP_ENABLED="no"
SUPPORTED_ON="Ubuntu16.04,Ubuntu18.04,Ubuntu20.04"
LIBRARY="functions4.sh"

if [ "${SUPPORT-}" = '' ]; then
    SUPPORT="https://installers.rapidseedbox.com/scripts/whmcs_client_installers/support"
fi

LOGFILE="/var/log/whmcs_client_installers/${0}.log"
[ ! -d "/var/log/whmcs_client_installers" ] && mkdir -p "/var/log/whmcs_client_installers"

wget -4 -nc -q --no-check-certificate --timeout=20 --tries=5 ${SUPPORT}/${LIBRARY} >> "${LOGFILE}" 2>&1
if [ ! -f "./${LIBRARY}" ] ; then
    echo "55"
    echo "Error downloading \"${SUPPORT}/${LIBRARY}\"" >> "${LOGFILE}"
    exit 55
fi

# shellcheck source=support/functions4.sh
. "./${LIBRARY}"
SCRIPTENTRY


while : ; do

    main_rc=1

    CHECK_APP ; _rc=$?
    if [ ${_rc} -ne 0 ] ; then
        main_rc=${_rc}
        break
    fi

    #
    # https://github.com/firehol/netdata
    #

    ${PKG_INSTALL} "curl" || break
    RUN_LOG "bash <(curl -Ss https://my-netdata.io/kickstart.sh) --non-interactive" || break
    RUN_LOG "sed -i -re 's/^(\s*)#\s*bind\s*to\s*=\s*\*.*/\1bind to = localhost/' /etc/netdata/netdata.conf" \
        || break
    SVC_RESTART "netdata"

    # Configure Apache2 as a reverse proxy for `netdata`
    if [ -d "/etc/apache2/userconf-enabled" ] ; then
    cat <<-EOF > "/etc/apache2/userconf-enabled/netdata.conf"
	ProxyRequests off
	ProxyPreserveHost On

	RewriteEngine on
	RewriteRule ^/netdata\$ /netdata/ [R]

	<Location /netdata>
	    AuthType Digest
	    AuthName "apache2"
	    AuthUserFile /etc/apache2/users.password
	    Require valid-user
	    Order deny,allow
	    Allow from all

	    ProxyPass http://127.0.0.1:19999/ connectiontimeout=5 timeout=30
	    ProxyPassReverse http://127.0.0.1:19999/
	    ProxyPassReverseCookieDomain 127.0.0.1 %{HTTP:Host}
	    ProxyPassReverseCookiePath / /netdata/
	</Location>
	EOF
        SVC_RESTART "${APACHE_SVC}"
    fi


    main_rc=0
    break

done

SCRIPTEXIT
