Refactor setup script

This commit is contained in:
dwrz
2023-02-02 15:23:51 +00:00
parent 8024b1df13
commit 4269beee3b
+35 -18
View File
@@ -12,7 +12,7 @@ readonly FILES=(
B2_BUCKET="my-bucket-name" B2_BUCKET="my-bucket-name"
CAMERA_NAME="Kitchen" CAMERA_NAME="Kitchen"
DOMAIN="kitchen.example.com" DOMAIN="${HOSTNAME}"
EMAIL_HOST="smtp.gmail.com" EMAIL_HOST="smtp.gmail.com"
EMAIL_PORT="587" EMAIL_PORT="587"
EMAIL_USER="user@example.com" EMAIL_USER="user@example.com"
@@ -116,25 +116,34 @@ print_settings() {
write_settings() { write_settings() {
for f in "${FILES[@]}"; do for f in "${FILES[@]}"; do
sed -i "s/\${B2_BUCKET}/${B2_BUCKET}/g" "${f}" sed -i 's|\${B2_BUCKET}|'"${B2_BUCKET}"'|g' "${f}"
sed -i "s/\${CAMERA_NAME}/${CAMERA_NAME}/g" "${f}" sed -i 's|\${CAMERA_NAME}|'"${CAMERA_NAME}"'|g' "${f}"
sed -i "s/\${DOMAIN}/${DOMAIN}/g" "${f}" sed -i 's|\${DOMAIN}|'"${DOMAIN}"'|g' "${f}"
sed -i "s/\${EMAIL_HOST}/${EMAIL_HOST}/g" "${f}" sed -i 's|\${EMAIL_HOST}|'"${EMAIL_HOST}"'|g' "${f}"
sed -i "s/\${EMAIL_PASSWORD}/${EMAIL_PASSWORD}/g" "${f}" sed -i 's|\${EMAIL_PASSWORD}|'"${EMAIL_PASSWORD}"'|g' "${f}"
sed -i "s/\${EMAIL_PORT}/${EMAIL_PORT}/g" "${f}" sed -i 's|\${EMAIL_PORT}|'"${EMAIL_PORT}"'|g' "${f}"
sed -i "s/\${EMAIL_USER}/${EMAIL_USER}/g" "${f}" sed -i 's|\${EMAIL_USER}|'"${EMAIL_USER}"'|g' "${f}"
sed -i "s/\${MOTION_DIR}/${MOTION_DIR}/g" "${f}" sed -i 's|\${MOTION_DIR}|'"${MOTION_DIR}"'|g' "${f}"
sed -i "s/\${MOTION_LOG_FILE}/${MOTION_LOG_FILE}/g" "${f}" sed -i 's|\${MOTION_LOG_FILE}|'"${MOTION_LOG_FILE}"'|g' "${f}"
sed -i "s/\${MOTION_PASSWORD}/${MOTION_PASSWORD}/g" "${f}" sed -i 's|\${MOTION_PASSWORD}|'"${MOTION_PASSWORD}"'|g' "${f}"
sed -i "s/\${MOTION_USER}/${MOTION_USER}/g" "${f}" sed -i 's|\${MOTION_USER}|'"${MOTION_USER}"'|g' "${f}"
sed -i "s/\${NOTIFICATION_RECIPIENT}/${NOTIFICATION_RECIPIENT}/g" "${f}" sed -i 's|\${NOTIFICATION_RECIPIENT}|'"${NOTIFICATION_RECIPIENT}"'|g' "${f}"
sed -i "s/\${PORT_CONTROL}/${PORT_CONTROL}/g" "${f}" sed -i 's|\${PORT_CONTROL}|'"${PORT_CONTROL}"'|g' "${f}"
sed -i "s/\${PORT_STREAM}/${PORT_STREAM}/g" "${f}" sed -i 's|\${PORT_STREAM}|'"${PORT_STREAM}"'|g' "${f}"
sed -i "s/\${TLS_CERT}/${TLS_CERT}/g" "${f}" sed -i 's|\${TLS_CERT}|'"${TLS_CERT}"'|g' "${f}"
sed -i "s/\${TLS_KEY}/${TLS_KEY}/g" "${f}" sed -i 's|\${TLS_KEY}|'"${TLS_KEY}"'|g' "${f}"
done done
} }
link_files() {
ln -s "./config/motion.conf" "/etc/motion/motion.conf"
ln -s "./config/msmtprc" "${MOTION_DIR}/.msmtprc"
ln -s "./config/muttrc" "${MOTION_DIR}/.muttrc"
ln -s "./scripts/alert" "${MOTION_DIR}/alert"
ln -s "./scripts/notify" "${MOTION_DIR}/notify"
ln -s "./scripts/sync" "${MOTION_DIR}/sync"
}
main() { main() {
input_settings input_settings
@@ -143,7 +152,15 @@ main() {
echo "Update files?" echo "Update files?"
select yn in "yes" "no"; do select yn in "yes" "no"; do
case "${yn}" in case "${yn}" in
yes ) write_settings && exit 0 ;; yes ) write_settings ;;
no ) exit 0 ;;
esac
done
echo "Link files?"
select yn in "yes" "no"; do
case "${yn}" in
yes ) link_files && exit 0 ;;
no ) exit 0 ;; no ) exit 0 ;;
esac esac
done done