mirror of
https://github.com/vmstan/gravity-sync.git
synced 2024-08-30 18:22:11 +00:00
restore missing content
This commit is contained in:
parent
42118e9b98
commit
c7f0e0f972
@ -1,3 +1,267 @@
|
|||||||
|
# GRAVITY SYNC BY VMSTAN #####################
|
||||||
|
# gs-config.sh ###############################
|
||||||
|
|
||||||
|
# For documentation or downloading updates visit https://github.com/vmstan/gravity-sync
|
||||||
|
# This code is called from the main gravity-sync.sh file and should not execute directly!
|
||||||
|
|
||||||
|
## Configure Task
|
||||||
|
function task_configure {
|
||||||
|
TASKTYPE='CONFIGURE'
|
||||||
|
MESSAGE="${MESSAGE}: ${TASKTYPE} Requested"
|
||||||
|
echo_good
|
||||||
|
|
||||||
|
if [ -f ${LOCAL_FOLDR}/${CONFIG_FILE} ]
|
||||||
|
then
|
||||||
|
config_delete
|
||||||
|
else
|
||||||
|
config_generate
|
||||||
|
fi
|
||||||
|
|
||||||
|
# backup_settime
|
||||||
|
# backup_local_gravity
|
||||||
|
# backup_local_custom
|
||||||
|
# backup_cleanup
|
||||||
|
|
||||||
|
create_alias
|
||||||
|
|
||||||
|
exit_withchange
|
||||||
|
}
|
||||||
|
|
||||||
|
## Generate New Configuration
|
||||||
|
function config_generate {
|
||||||
|
# detect_ssh
|
||||||
|
|
||||||
|
MESSAGE="Creating New ${CONFIG_FILE} from Template"
|
||||||
|
echo_stat
|
||||||
|
cp ${LOCAL_FOLDR}/${CONFIG_FILE}.example ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
|
||||||
|
docker_detect
|
||||||
|
if [ "${DOCKERREADY}" == "1" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Advanced Configuration Required"
|
||||||
|
echo_info
|
||||||
|
advanced_config_generate
|
||||||
|
else
|
||||||
|
MESSAGE="Use Advanced Installation Options? (Leave blank for default 'No')"
|
||||||
|
echo_need
|
||||||
|
read INPUT_ADVANCED_INSTALL
|
||||||
|
INPUT_ADVANCED_INSTALL="${INPUT_ADVANCED_INSTALL:-N}"
|
||||||
|
|
||||||
|
if [ "${INPUT_ADVANCED_INSTALL}" != "N" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Advanced Configuration Selected"
|
||||||
|
echo_info
|
||||||
|
|
||||||
|
advanced_config_generate
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
MESSAGE="Standard Settings"
|
||||||
|
echo_info
|
||||||
|
|
||||||
|
MESSAGE="Primary Pi-hole Address (IP or DNS)"
|
||||||
|
echo_need
|
||||||
|
read INPUT_REMOTE_HOST
|
||||||
|
|
||||||
|
if [ "${PING_AVOID}" != "1" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Testing Network Connection (ICMP)"
|
||||||
|
echo_stat
|
||||||
|
ping -c 3 ${INPUT_REMOTE_HOST} >/dev/null 2>&1
|
||||||
|
error_validate
|
||||||
|
else
|
||||||
|
MESSAGE="Bypassing Network Testing (ICMP)"
|
||||||
|
echo_warn
|
||||||
|
fi
|
||||||
|
|
||||||
|
MESSAGE="SSH User for ${INPUT_REMOTE_HOST}"
|
||||||
|
echo_need
|
||||||
|
read INPUT_REMOTE_USER
|
||||||
|
|
||||||
|
MESSAGE="Saving Host to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/REMOTE_HOST='192.168.1.10'/c\REMOTE_HOST='${INPUT_REMOTE_HOST}'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
|
||||||
|
MESSAGE="Saving User to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/REMOTE_USER='pi'/c\REMOTE_USER='${INPUT_REMOTE_USER}'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
|
||||||
|
generate_sshkey
|
||||||
|
|
||||||
|
MESSAGE="Importing New ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
source ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
|
||||||
|
export_sshkey
|
||||||
|
|
||||||
|
# MESSAGE="Testing Configuration"
|
||||||
|
# echo_info
|
||||||
|
|
||||||
|
# validate_os_sshpass
|
||||||
|
# validate_sqlite3
|
||||||
|
|
||||||
|
# detect_remotersync
|
||||||
|
}
|
||||||
|
|
||||||
|
## Advanced Configuration Options
|
||||||
|
function advanced_config_generate {
|
||||||
|
MESSAGE="Local Pi-hole in Docker Container? (Leave blank for default 'No')"
|
||||||
|
echo_need
|
||||||
|
read INPUT_PH_IN_TYPE
|
||||||
|
INPUT_PH_IN_TYPE="${INPUT_PH_IN_TYPE:-N}"
|
||||||
|
|
||||||
|
if [ "${INPUT_PH_IN_TYPE}" != "N" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Saving Local Docker Setting to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/# PH_IN_TYPE=''/c\PH_IN_TYPE='docker'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
|
||||||
|
MESSAGE="Local Docker Container Name? (Leave blank for default 'pihole')"
|
||||||
|
echo_need
|
||||||
|
read INPUT_DOCKER_CON
|
||||||
|
INPUT_DOCKER_CON="${INPUT_DOCKER_CON:-pihole}"
|
||||||
|
|
||||||
|
if [ "${INPUT_DOCKER_CON}" != "pihole" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Saving Local Container Name to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/# DOCKER_CON=''/c\DOCKER_CON='${INPUT_DOCKER_CON}'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
fi
|
||||||
|
|
||||||
|
MESSAGE="Local Pi-hole 'etc' Volume Path? (Required, no trailing slash)"
|
||||||
|
echo_need
|
||||||
|
read INPUT_PIHOLE_DIR
|
||||||
|
|
||||||
|
if [ "${INPUT_PIHOLE_DIR}" != "" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Saving Local Pi-hole Volume to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/# PIHOLE_DIR=''/c\PIHOLE_DIR='${INPUT_PIHOLE_DIR}'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
SKIP_PIHOLE_DIR="1"
|
||||||
|
else
|
||||||
|
MESSAGE="This setting is required!"
|
||||||
|
echo_warn
|
||||||
|
exit_withchanges
|
||||||
|
fi
|
||||||
|
|
||||||
|
MESSAGE="Saving Local Volume Ownership to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/# FILE_OWNER=''/c\FILE_OWNER='named:docker'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
fi
|
||||||
|
|
||||||
|
MESSAGE="Remote Pi-hole in Docker Container? (Leave blank for default 'No')"
|
||||||
|
echo_need
|
||||||
|
read INPUT_RH_IN_TYPE
|
||||||
|
INPUT_RH_IN_TYPE="${INPUT_RH_IN_TYPE:-N}"
|
||||||
|
|
||||||
|
if [ "${INPUT_RH_IN_TYPE}" != "N" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Saving Remote Docker Setting to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/# RH_IN_TYPE=''/c\RH_IN_TYPE='docker'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
|
||||||
|
MESSAGE="Remote Docker Container Name? (Leave blank for default 'pihole')"
|
||||||
|
echo_need
|
||||||
|
read INPUT_ROCKER_CON
|
||||||
|
INPUT_ROCKER_CON="${INPUT_ROCKER_CON:-pihole}"
|
||||||
|
|
||||||
|
if [ "${INPUT_ROCKER_CON}" != "pihole" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Saving Remote Container Name to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/# ROCKER_CON=''/c\ROCKER_CON='${INPUT_ROCKER_CON}'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
fi
|
||||||
|
|
||||||
|
MESSAGE="Remote Pi-hole 'etc' Volume Path? (Required, no trailing slash)"
|
||||||
|
echo_need
|
||||||
|
read INPUT_RIHOLE_DIR
|
||||||
|
|
||||||
|
if [ "${INPUT_RIHOLE_DIR}" != "" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Saving Remote Pi-hole Volume to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/# RIHOLE_DIR=''/c\RIHOLE_DIR='${INPUT_RIHOLE_DIR}'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
SKIP_RIHOLE_DIR="1"
|
||||||
|
else
|
||||||
|
MESSAGE="This setting is required!"
|
||||||
|
echo_warn
|
||||||
|
exit_withchanges
|
||||||
|
fi
|
||||||
|
|
||||||
|
MESSAGE="Saving Remote Volume Ownership to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/# RILE_OWNER=''/c\RILE_OWNER='named:docker'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$SKIP_PIHOLE_DIR" != "1" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Local Pi-hole Settings Directory Path? (Leave blank for default '/etc/pihole')"
|
||||||
|
echo_need
|
||||||
|
read INPUT_PIHOLE_DIR
|
||||||
|
INPUT_PIHOLE_DIR="${INPUT_PIHOLE_DIR:-/etc/pihole}"
|
||||||
|
|
||||||
|
if [ "${INPUT_PIHOLE_DIR}" != "/etc/pihole" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Saving Local Pi-hole Settings Directory Path to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/# PIHOLE_DIR=''/c\PIHOLE_DIR='${INPUT_PIHOLE_DIR}'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$SKIP_RIHOLE_DIR" != "1" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Remote Pi-hole Settings Directory Path? (Leave blank for default '/etc/pihole')"
|
||||||
|
echo_need
|
||||||
|
read INPUT_RIHOLE_DIR
|
||||||
|
INPUT_RIHOLE_DIR="${INPUT_RIHOLE_DIR:-/etc/pihole}"
|
||||||
|
|
||||||
|
if [ "${INPUT_RIHOLE_DIR}" != "/etc/pihole" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Saving Remote Pi-hole Settings Directory Path to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/# RIHOLE_DIR=''/c\RIHOLE_DIR='${INPUT_RIHOLE_DIR}'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
MESSAGE="Use Custom SSH Port? (Leave blank for default '22')"
|
||||||
|
echo_need
|
||||||
|
read INPUT_SSH_PORT
|
||||||
|
INPUT_SSH_PORT="${INPUT_SSH_PORT:-22}"
|
||||||
|
SSH_PORT="${INPUT_SSH_PORT}"
|
||||||
|
|
||||||
|
if [ "${INPUT_SSH_PORT}" != "22" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Saving Custom SSH Port to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/# SSH_PORT=''/c\SSH_PORT='${INPUT_SSH_PORT}'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
|
error_validate
|
||||||
|
fi
|
||||||
|
|
||||||
|
MESSAGE="Enable ICMP Check? (Leave blank for default 'Yes')"
|
||||||
|
echo_need
|
||||||
|
read INPUT_PING_AVOID
|
||||||
|
INPUT_PING_AVOID="${INPUT_PING_AVOID:-Y}"
|
||||||
|
|
||||||
|
if [ "${INPUT_PING_AVOID}" != "Y" ]
|
||||||
|
then
|
||||||
|
MESSAGE="Saving ICMP Avoidance to ${CONFIG_FILE}"
|
||||||
|
echo_stat
|
||||||
|
sed -i "/# PING_AVOID=''/c\PING_AVOID='1'" ${LOCAL_FOLDR}/${CONFIG_FILE}
|
||||||
error_validate
|
error_validate
|
||||||
PING_AVOID=1
|
PING_AVOID=1
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user