#!/bin/bash # Texts layout PURPLE='\033[35m' ORANGE='\033[33m' BLUE='\033[34m' BOLD='\033[1m' RESET='\033[0m' USERNAME="" SSH_PORT= CADDYFILE="" DOMAIN_NAME="" IP="" WEBSITE_TOKEN="" check_global_const() { for var_name in "$@"; do if [[ -z "${!var_name}" ]]; then case "$var_name" in USERNAME) eval "$var_name=$(getent passwd 1001 | cut -d: -f1)" ;; SSH_PORT) eval "$var_name=$(cat /etc/ssh/sshd_config.d/custom.conf | grep "Port " | sed 's/^Port //')" ;; CADDYFILE) eval "$var_name=\"/home/${USERNAME}/caddy/caddyfile/Caddyfile\"" ;; DOMAIN_NAME) echo -e "${PURPLE}${BOLD}Enter the domain name of the website${RESET}" read DOMAIN_NAME eval "$var_name=$DOMAIN_NAME" ;; IP) eval "$var_name=$(hostname -I | cut -d' ' -f1)" ;; WEBSITE_TOKEN) eval "$var_name=$(docker exec -i ${DOMAIN_NAME}_Directus_DB mariadb -uroot -e "SELECT token FROM directus.directus_users WHERE email='website@${DOMAIN_NAME}';" -N)" ;; *) echo "Unknown variable: $var_name" >&2 ;; esac fi done } install_pkg() { pkg="$1" if ! dpkg -s "$pkg" >/dev/null 2>&1; then apt update && apt install -y "$pkg" echo -e "${PURPLE}${BOLD}${pkg} installed${RESET}" fi }