Cleaned up the script. Fixed bugs. Added services. Categorized services.
This commit is contained in:
+40
-3
@@ -30,6 +30,43 @@ export NETWORK_ROUTER_IP="192.168.1.1"
|
|||||||
export HOME_SERVER_IP="192.168.1.5"
|
export HOME_SERVER_IP="192.168.1.5"
|
||||||
|
|
||||||
# SERVICES SETTINGS
|
# SERVICES SETTINGS
|
||||||
export SELECTED_DNS_SERVICE="pi-hole" # or adguard
|
export SELECTED_DNS_SERVICE=(
|
||||||
export SELECTED_SERVICES=( "frigate" "gitea" "home-assistant" "immich" "it-tools" \
|
"pi-hole" # or adguard
|
||||||
"nextcloud" "passbolt" "clamav" "virtualization" )
|
)
|
||||||
|
export SELECTED_WEB_APPLICATIONS=(
|
||||||
|
"crafty"
|
||||||
|
"frigate"
|
||||||
|
"gitea"
|
||||||
|
"home-assistant"
|
||||||
|
"immich"
|
||||||
|
"it-tools"
|
||||||
|
"jellyfin"
|
||||||
|
"netbootxyz"
|
||||||
|
"nextcloud"
|
||||||
|
"passbolt"
|
||||||
|
"uptime-kuma"
|
||||||
|
"vscodium"
|
||||||
|
)
|
||||||
|
export SELECTED_SYSTEM_SERVICES=(
|
||||||
|
"clamav"
|
||||||
|
"virtualization"
|
||||||
|
)
|
||||||
|
|
||||||
|
# OPTIONAL SETTINGS
|
||||||
|
export SELECTED_DNS_SERVICE_SUBDOMAIN=(
|
||||||
|
"my-pi-hole-subdomain" # or "my-adguard-subdomain"
|
||||||
|
)
|
||||||
|
export SELECTED_WEB_APPLICATIONS_SUBDOMAIN=( # ⚠️ Must match SELECTED_WEB_APPLICATIONS order ⚠️
|
||||||
|
"my-crafty-subdomain"
|
||||||
|
"my-frigate-subdomain"
|
||||||
|
"my-gitea-subdomain"
|
||||||
|
"my-home-assistant-subdomain"
|
||||||
|
"my-immich-subdomain"
|
||||||
|
"my-it-tools-subdomain"
|
||||||
|
"my-jellyfin-subdomain"
|
||||||
|
"my-netbootxyz-subdomain"
|
||||||
|
"my-nextcloud-subdomain"
|
||||||
|
"my-passbolt-subdomain"
|
||||||
|
"my-uptime-kuma-subdomain"
|
||||||
|
"my-vscodium-subdomain"
|
||||||
|
)
|
||||||
@@ -7,12 +7,82 @@ export GUM_SPIN_SPINNER_BOLD=true
|
|||||||
export GUM_SPIN_SHOW_ERROR=true
|
export GUM_SPIN_SHOW_ERROR=true
|
||||||
export GUM_SPIN_TITLE_BOLD=true
|
export GUM_SPIN_TITLE_BOLD=true
|
||||||
|
|
||||||
NECESSARY_VARIABLES_LIST=( LIVE_TARGET_IP LIVE_TARGET_PASSWD \
|
NECESSARY_VARIABLES_LIST=(
|
||||||
TIMEZONE LANGUAGE LOCALE SERVER_OWNER_NAME SERVER_USER_EMAIL SERVER_ADMIN_EMAIL AUTHORIZED_SSH_PUBLIC_KEY \
|
#LIVE TARGET SETTINGS
|
||||||
DOMAIN_NAME CLOUDFLARE_DNS_API_TOKEN \
|
LIVE_TARGET_IP
|
||||||
SMTP_SERVER_USERNAME SMTP_SERVER_PASSWORD SMTP_SERVER_HOST SMTP_SERVER_PORT \
|
LIVE_TARGET_PASSWD
|
||||||
NETWORK_SUBNET NETWORK_ROUTER_IP HOME_SERVER_IP)
|
#SERVER SETTINGS
|
||||||
|
LANGUAGE
|
||||||
|
LOCALE
|
||||||
|
TIMEZONE
|
||||||
|
SERVER_OWNER_NAME
|
||||||
|
SERVER_USER_EMAIL
|
||||||
|
SERVER_ADMIN_EMAIL
|
||||||
|
AUTHORIZED_SSH_PUBLIC_KEY
|
||||||
|
# TRAEFIK SETTINGS
|
||||||
|
DOMAIN_NAME
|
||||||
|
CLOUDFLARE_DNS_API_TOKEN
|
||||||
|
# SMTP SETTINGS
|
||||||
|
SMTP_SERVER_USERNAME
|
||||||
|
SMTP_SERVER_PASSWORD
|
||||||
|
SMTP_SERVER_HOST
|
||||||
|
SMTP_SERVER_PORT
|
||||||
|
#NETWORK SETTINGS
|
||||||
|
NETWORK_SUBNET
|
||||||
|
NETWORK_ROUTER_IP
|
||||||
|
HOME_SERVER_IP
|
||||||
|
# SERVICES SETTINGS
|
||||||
|
SELECTED_DNS_SERVICE
|
||||||
|
SELECTED_WEB_APPLICATIONS
|
||||||
|
SELECTED_SYSTEM_SERVICES
|
||||||
|
)
|
||||||
|
|
||||||
|
# Available services
|
||||||
|
DNS_SERVICES_LIST=(
|
||||||
|
"pi-hole"
|
||||||
|
"adguard"
|
||||||
|
)
|
||||||
|
WEB_APPLICATIONS_LIST=(
|
||||||
|
"crafty"
|
||||||
|
"frigate"
|
||||||
|
"gitea"
|
||||||
|
"home-assistant"
|
||||||
|
"immich"
|
||||||
|
"it-tools"
|
||||||
|
"jellyfin"
|
||||||
|
"netbootxyz"
|
||||||
|
"nextcloud"
|
||||||
|
"passbolt"
|
||||||
|
"uptime-kuma"
|
||||||
|
"vscodium"
|
||||||
|
)
|
||||||
|
SYSTEM_SERVICES_LIST=(
|
||||||
|
"clamav"
|
||||||
|
"virtualization"
|
||||||
|
)
|
||||||
|
# Services descriptions
|
||||||
|
DNS_SERVICES_DESCRIPTION=(
|
||||||
|
"Pi-Hole : Simple open-source DNS black hole"
|
||||||
|
"AdGuard : Feature rich DNS service"
|
||||||
|
)
|
||||||
|
WEB_APPLICATIONS_DESCRIPTION=(
|
||||||
|
"Crafty : A web-based control panel for Minecraft servers"
|
||||||
|
"Frigate [Home Assistant required] : AI-powered NVR for smart security cameras"
|
||||||
|
"Gitea : A lightweight, self-hosted Git service like GitHub"
|
||||||
|
"Home-Assistant : Open-source home automation to control all your devices"
|
||||||
|
"Immich : Self-hosted Google Photos alternative for photos and videos"
|
||||||
|
"IT-tools : Handy collection of online tools for developers"
|
||||||
|
"Jellyfin : A self-hosted media server to stream your movies and music"
|
||||||
|
"netboot.xyz : PXE boot various OS installers and utilities"
|
||||||
|
"Nextcloud : A self-hosted productivity platform, like Google Drive & Office"
|
||||||
|
"Passbolt: An open-source, security-first password manager for teams"
|
||||||
|
"Uptime-Kuma : A fancy self-hosted monitoring tool"
|
||||||
|
"VSCodium : Run VS Code in your browser, accessible anywhere"
|
||||||
|
)
|
||||||
|
SYSTEM_SERVICES_DESCRIPTION=(
|
||||||
|
"ClamAV : An open-source anti-virus"
|
||||||
|
"Virtualization : Run Virtual Machines (KVM/QEMU) with Libvirt"
|
||||||
|
)
|
||||||
### Default settings <--
|
### Default settings <--
|
||||||
|
|
||||||
user_input() {
|
user_input() {
|
||||||
@@ -265,56 +335,40 @@ SSHEND
|
|||||||
}
|
}
|
||||||
|
|
||||||
services_selection() {
|
services_selection() {
|
||||||
|
services_choice() {
|
||||||
|
local SERVICES_LIST=( "${1[@]}" )
|
||||||
|
local SERVICES_DESCRIPTION=( "${2[@]}" )
|
||||||
|
local FINAL_VARIABLE="${3}"
|
||||||
|
local HEADER="${4}"
|
||||||
|
local LIMIT="${5:---no-limit}"
|
||||||
|
|
||||||
|
local SELECTED_SERVICES=()
|
||||||
|
local SELECTED_SERVICES_DESCRIPTION=()
|
||||||
|
|
||||||
|
local SELECTED_SERVICES_DESCRIPTION=$(gum choose ${LIMIT} --header "${HEADER}" "${SERVICES_DESCRIPTION[@]}")
|
||||||
|
|
||||||
|
for i in ${!SERVICES_LIST[@]}; do
|
||||||
|
if printf '%s' "${SELECTED_SERVICES_DESCRIPTION}" | grep -iq "${SERVICES_LIST[${i}]}"; then
|
||||||
|
SELECTED_SERVICES+=("${SERVICES_LIST[${i}]}")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
export "${FINAL_VARIABLE}=(${SELECTED_SERVICES[@]})"
|
||||||
|
}
|
||||||
|
|
||||||
echo -e "\n\n ➡️ You will now select the services you want installed on your server:"
|
echo -e "\n\n ➡️ You will now select the services you want installed on your server:"
|
||||||
|
|
||||||
local AVAILABLE_DNS_SERVICES=( "pi-hole" "adguard" )
|
services_choice "${DNS_SERVICES_LIST[@]}" "${DNS_SERVICES_DESCRIPTION[@]}" "SELECTED_DNS_SERVICE" "Choose your preferred DNS service :" "--limit=1"
|
||||||
|
services_choice "${WEB_APPLICATIONS_LIST[@]}" "${WEB_APPLICATIONS_DESCRIPTION[@]}" "SELECTED_WEB_APPLICATIONS" "Choose the web applications you want to install :"
|
||||||
local AVAILABLE_SERVICES=( "frigate" "gitea" "home-assistant" "immich" "it-tools" \
|
services_choice "${SYSTEM_SERVICES_LIST[@]}" "${SYSTEM_SERVICES_DESCRIPTION[@]}" "SELECTED_SYSTEM_SERVICES" "Choose the system services you want to install :"
|
||||||
"nextcloud" "passbolt" "clamav" "virtualization" )
|
|
||||||
|
|
||||||
local DNS_SERVICES_DESCRIPTION=( "Pi-Hole : Simple open-source DNS black hole" \
|
|
||||||
"AdGuard " : Feature rich DNS service )
|
|
||||||
|
|
||||||
local SERVICES_DESCRIPTION=( "Immich : Pictures and videos backup with local machine-learning" \
|
|
||||||
"Nextcloud : No fuss Office 365 replacement" \
|
|
||||||
"Passbolt: Security-first password manager with collaboration features" \
|
|
||||||
"Home-Assistant : Manage your smart home and security cameras" \
|
|
||||||
"Frigate [Home Assistant required] : Secure your house with security cameras" \
|
|
||||||
"Gitea : Your own git platform" \
|
|
||||||
"IT-tools : A set of useful tools when doing IT" \
|
|
||||||
"ClamAV : An open-source anti-virus"
|
|
||||||
"Virtualization : Run Virtual Machines (KVM/QEMU) with Libvirt" )
|
|
||||||
|
|
||||||
SELECTED_SERVICES=()
|
|
||||||
local SELECTED_SERVICES_DESCRIPTION=$(gum choose --no-limit --header "Homelab services:" "${SERVICES_DESCRIPTION[@]}")
|
|
||||||
|
|
||||||
SELECTED_DNS_SERVICE=""
|
|
||||||
local SELECTED_DNS_SERVICE_DESCRIPTION=$(gum choose --limit 1 --header "Homelab services:" "${DNS_SERVICES_DESCRIPTION[@]}")
|
|
||||||
|
|
||||||
for i in ${!AVAILABLE_SERVICES[@]}; do
|
|
||||||
if printf '%s' "${SELECTED_SERVICES_DESCRIPTION}" | grep -iq "${AVAILABLE_SERVICES[${i}]}"; then
|
|
||||||
SELECTED_SERVICES+=("${AVAILABLE_SERVICES[${i}]}")
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in ${!AVAILABLE_DNS_SERVICES[@]}; do
|
|
||||||
if printf '%s' "${SELECTED_DNS_SERVICE_DESCRIPTION}" | grep -iq "${AVAILABLE_DNS_SERVICES[${i}]}"; then
|
|
||||||
SELECTED_DNS_SERVICE="${AVAILABLE_DNS_SERVICES[${i}]}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
export SELECTED_SERVICES
|
|
||||||
export SELECTED_DNS_SERVICE
|
|
||||||
|
|
||||||
gum confirm "Do you want to edit the default subdomain of your services ?" || { echo -e "\n\n✅ Continuing..."; return 0; }
|
gum confirm "Do you want to edit the default subdomain of your services ?" || { echo -e "\n\n✅ Continuing..."; return 0; }
|
||||||
|
|
||||||
for service in ${!SELECTED_SERVICES[@]} $SELECTED_DNS_SERVICE; do
|
for service in ${SELECTED_WEB_APPLICATIONS[@]} ${SELECTED_DNS_SERVICE[@]}; do
|
||||||
local HEADER="Please provide the desired subdomain for ${service}:"
|
SELECTED_WEB_APPLICATIONS_SUBDOMAIN+=( "$(gum input --placeholder "${service}" --header "Please provide the desired subdomain for ${service}:")" )
|
||||||
local PLACEHOLDER="${service}"
|
|
||||||
SELECTED_SERVICES_SUBDOMAIN+=("$(gum input --placeholder "${PLACEHOLDER}" --header "${HEADER}")")
|
|
||||||
done
|
done
|
||||||
|
|
||||||
export SELECTED_SERVICES_SUBDOMAIN
|
export SELECTED_WEB_APPLICATIONS_SUBDOMAIN
|
||||||
}
|
}
|
||||||
|
|
||||||
disks_selection() {
|
disks_selection() {
|
||||||
@@ -414,20 +468,22 @@ network_config_generation() {
|
|||||||
|
|
||||||
services_config_generation() {
|
services_config_generation() {
|
||||||
echo -e "\n # DNS settings" >> ${CONFIGURATION_PATH}
|
echo -e "\n # DNS settings" >> ${CONFIGURATION_PATH}
|
||||||
echo -e " numbus.services.dns = \"${SELECTED_DNS_SERVICE}\";" >> ${CONFIGURATION_PATH}
|
echo -e " numbus.services.dns = \"${SELECTED_DNS_SERVICE[0]}\";" >> ${CONFIGURATION_PATH}
|
||||||
echo -e " numbus.services.${SELECTED_DNS_SERVICE}.enable = true;" >> ${CONFIGURATION_PATH}
|
echo -e " numbus.services.${SELECTED_DNS_SERVICE[0]}.enable = true;" >> ${CONFIGURATION_PATH}
|
||||||
|
|
||||||
echo -e "\n # Services settings" >> ${CONFIGURATION_PATH}
|
echo -e "\n # Services settings" >> ${CONFIGURATION_PATH}
|
||||||
echo -e " numbus.services.domain = \"${DOMAIN_NAME}\";" >> ${CONFIGURATION_PATH}
|
echo -e " numbus.services.domain = \"${DOMAIN_NAME}\";" >> ${CONFIGURATION_PATH}
|
||||||
i=0
|
i=0
|
||||||
for service in "${SELECTED_SERVICES[@]}"; do
|
for service in "${SELECTED_SERVICES[@]}"; do
|
||||||
[[ "${SELECTED_SERVICES_SUBDOMAIN+x:-false}" ]] && echo -e " numbus.services.${service}.enable.subdomain = \"${SELECTED_SERVICES_SUBDOMAIN[${i}]}\";" >> ${CONFIGURATION_PATH}
|
if [[ -v SELECTED_WEB_APPLICATIONS_SUBDOMAIN && -n "${SELECTED_WEB_APPLICATIONS_SUBDOMAIN[${i}]}" ]]; then
|
||||||
|
echo -e " numbus.services.${service}.enable.subdomain = \"${SELECTED_WEB_APPLICATIONS_SUBDOMAIN[${i}]}\";" >> ${CONFIGURATION_PATH}
|
||||||
|
fi
|
||||||
echo -e " numbus.services.${service}.enable = true;" >> ${CONFIGURATION_PATH}
|
echo -e " numbus.services.${service}.enable = true;" >> ${CONFIGURATION_PATH}
|
||||||
i=$((i + 1))
|
i=$((i + 1))
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ "${SELECTED_SERVICES_SUBDOMAIN+x:-false}" && -n "$SELECTED_DNS_SERVICE" && -n "${SELECTED_SERVICES_SUBDOMAIN[${i}]}" ]]; then
|
if [[ -v SELECTED_WEB_APPLICATIONS_SUBDOMAIN && -n "$SELECTED_DNS_SERVICE" && -n "${SELECTED_WEB_APPLICATIONS_SUBDOMAIN[${i}]}" ]]; then
|
||||||
echo -e " numbus.services.${SELECTED_DNS_SERVICE}.enable.subdomain = \"${SELECTED_SERVICES_SUBDOMAIN[${i}]}\";" >> ${CONFIGURATION_PATH}
|
echo -e " numbus.services.${SELECTED_DNS_SERVICE}.enable.subdomain = \"${SELECTED_WEB_APPLICATIONS_SUBDOMAIN[${i}]}\";" >> ${CONFIGURATION_PATH}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${TARGET_GRAPHICS_RENDERER}" == "true" ]]; then
|
if [[ "${TARGET_GRAPHICS_RENDERER}" == "true" ]]; then
|
||||||
@@ -541,15 +597,13 @@ Please review the selected disk layout before proceeding.
|
|||||||
|
|
||||||
**Boot Disks (${#BOOT_DISKS_ID_LIST[@]}):**
|
**Boot Disks (${#BOOT_DISKS_ID_LIST[@]}):**
|
||||||
* **Boot 1:** \`${BOOT_DISKS_ID_LIST[0]}\`
|
* **Boot 1:** \`${BOOT_DISKS_ID_LIST[0]}\`
|
||||||
$( [[ -n "${BOOT_DISKS_ID_LIST[1]:-}" ]] && echo "* **Boot 2:** \`${BOOT_DISKS_ID_LIST[1]}\`" || echo "* **Boot 2:** *Not configured*" )
|
$( [[ -n "${BOOT_DISKS_ID_LIST[1]:-}" ]] && echo "* **Boot 2:** \`${BOOT_DISKS_ID_LIST[1]}\`" || echo "* **Boot 2:** *Not configured*" && echo "" )
|
||||||
|
|
||||||
**Data Disks ($CONTENT_DISK_NUMBER):**
|
**Data Disks ($CONTENT_DISK_NUMBER):**
|
||||||
$( j=1 && for i in $(seq 0 $(($CONTENT_DISK_NUMBER - 1))); do echo "* **Data ${j}:** \`${DATA_DISKS_ID[${i}]}\`" && j=$((j + 1)); done )
|
$( j=1 && for i in $(seq 0 $(($CONTENT_DISK_NUMBER - 1))); do echo "* **Data ${j}:** \`${DATA_DISKS_ID[${i}]}\`" && j=$((j + 1)); done && echo "" )
|
||||||
$( [[ $CONTENT_DISK_NUMBER -eq 0 ]] && echo "* *Not configured*" )
|
$( [[ $CONTENT_DISK_NUMBER -eq 0 ]] && echo "* *Not configured*" && echo "" )
|
||||||
|
|
||||||
**Parity Disks ($PARITY_DISK_NUMBER):**
|
**Parity Disks ($PARITY_DISK_NUMBER):**
|
||||||
$( [[ $PARITY_DISK_NUMBER -gt 0 ]] && j=1 && for i in $(seq $CONTENT_DISK_NUMBER $((${#DATA_DISKS_ID[@]} - 1))); do echo "* **Parity ${j}:** \`${DATA_DISKS_ID[${i}]}\`" && j=$((j + 1)); done )
|
$( [[ $PARITY_DISK_NUMBER -gt 0 ]] && j=1 && for i in $(seq $CONTENT_DISK_NUMBER $((${#DATA_DISKS_ID[@]} - 1))); do echo "* **Parity ${j}:** \`${DATA_DISKS_ID[${i}]}\`" && j=$((j + 1)); done && echo "" )
|
||||||
$( [[ $PARITY_DISK_NUMBER -eq 0 ]] && echo "* *Not configured*" )
|
$( [[ $PARITY_DISK_NUMBER -eq 0 ]] && echo "* *Not configured*" && echo "" )
|
||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -561,12 +615,15 @@ EOF
|
|||||||
|
|
||||||
Please review the selected services before proceeding.
|
Please review the selected services before proceeding.
|
||||||
|
|
||||||
**DNS Service:**
|
**DNS Service :**
|
||||||
$(echo "\`${SELECTED_DNS_SERVICE^}\`" && echo "")
|
$(echo "\`${SELECTED_DNS_SERVICE[0]^}\`" && echo "")
|
||||||
**Services:**
|
**Web Applications :**
|
||||||
$(for service in ${AVAILABLE_SERVICES[@]}`; do echo "\`${service^}\`" && echo ""; done)
|
$(for app in "${SELECTED_WEB_APPLICATIONS[@]}"; do echo "\`${app^}\`" && echo ""; done)
|
||||||
|
**System Services :**
|
||||||
|
$(for service in "${SELECTED_SYSTEM_SERVICES[@]}"; do echo "\`${service^}\`" && echo ""; done)
|
||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
|
|
||||||
gum style --border normal --margin "1" --padding "1 2" --border-foreground 212 "$(gum format <<< "${SERVICES_RECAP_CONTENT}")"
|
gum style --border normal --margin "1" --padding "1 2" --border-foreground 212 "$(gum format <<< "${SERVICES_RECAP_CONTENT}")"
|
||||||
gum confirm "➡️ Proceed with this services configuration?" || { echo -e "\n\n❌ Aborting as requested."; exit 1; }
|
gum confirm "➡️ Proceed with this services configuration?" || { echo -e "\n\n❌ Aborting as requested."; exit 1; }
|
||||||
|
|
||||||
@@ -576,17 +633,14 @@ EOF
|
|||||||
Please save the following secrets to a secure place (i.e. your local password manager, or a hidden sheet of paper).
|
Please save the following secrets to a secure place (i.e. your local password manager, or a hidden sheet of paper).
|
||||||
|
|
||||||
**Boot Disks (${#BOOT_DISKS_ID_LIST[@]}):**
|
**Boot Disks (${#BOOT_DISKS_ID_LIST[@]}):**
|
||||||
**Disk 1 Secret Key:** \`$( cat final-nix-config/etc/secrets/disks/boot-1 )\`
|
**Disk 1 Secret Key:** \`$( cat final-nix-config/etc/secrets/disks/boot-1 && echo "" )\`
|
||||||
$( [[ -n "${BOOT_DISKS_ID_LIST[1]:-}" ]] && echo "**Disk 2 secret key:** \`$( cat final-nix-config/etc/secrets/disks/boot-2 )\`" || echo "**Boot 2:** *Not configured*" )
|
$( [[ -n "${BOOT_DISKS_ID_LIST[1]:-}" ]] && echo "**Disk 2 secret key:** \`$( cat final-nix-config/etc/secrets/disks/boot-2 )\`" && echo "" || echo "**Boot 2:** *Not configured*" && echo "" )
|
||||||
|
|
||||||
**Data Disks ($CONTENT_DISK_NUMBER):**
|
**Data Disks ($CONTENT_DISK_NUMBER):**
|
||||||
$( [[ $CONTENT_DISK_NUMBER -gt 0 ]] && j=1 && for i in $(seq 0 $(($CONTENT_DISK_NUMBER - 1))); do echo "* **Disk ${j} secret key:** \`$( cat final-nix-config/etc/secrets/disks/data-${j} )\`" && j=$((j + 1)); done )
|
$( [[ $CONTENT_DISK_NUMBER -gt 0 ]] && j=1 && for i in $(seq 0 $(($CONTENT_DISK_NUMBER - 1))); do echo "* **Disk ${j} secret key:** \`$( cat final-nix-config/etc/secrets/disks/data-${j} )\`" && j=$((j + 1)); done && echo "" )
|
||||||
$( [[ $CONTENT_DISK_NUMBER -eq 0 ]] && echo "* *Not configured*" )
|
$( [[ $CONTENT_DISK_NUMBER -eq 0 ]] && echo "* *Not configured*" && echo "" )
|
||||||
|
|
||||||
**Parity Disks ($PARITY_DISK_NUMBER):**
|
**Parity Disks ($PARITY_DISK_NUMBER):**
|
||||||
$( [[ $PARITY_DISK_NUMBER -gt 0 ]] && j=1 && for i in $(seq $CONTENT_DISK_NUMBER $((${#DATA_DISKS_ID[@]} - 1))); do echo "* **Parity ${j}:** \`$( cat final-nix-config/etc/secrets/disks/parity-${j} )\`" && j=$((j + 1)); done )
|
$( [[ $PARITY_DISK_NUMBER -gt 0 ]] && j=1 && for i in $(seq $CONTENT_DISK_NUMBER $((${#DATA_DISKS_ID[@]} - 1))); do echo "* **Parity ${j}:** \`$( cat final-nix-config/etc/secrets/disks/parity-${j} )\`" && j=$((j + 1)); done && echo "" )
|
||||||
$( [[ $PARITY_DISK_NUMBER -eq 0 ]] && echo "* *Not configured*" )
|
$( [[ $PARITY_DISK_NUMBER -eq 0 ]] && echo "* *Not configured*" && echo "" )
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -649,9 +703,7 @@ cloudflare_dns_setup() {
|
|||||||
echo -e "\n\n ☁️ Configuring Cloudflare DNS records..."
|
echo -e "\n\n ☁️ Configuring Cloudflare DNS records..."
|
||||||
|
|
||||||
SELECTED_SERVICES_DNS=()
|
SELECTED_SERVICES_DNS=()
|
||||||
for service in "${SELECTED_SERVICES[@]}"; do
|
for service in "${SELECTED_WEB_APPLICATIONS[@]}"; do
|
||||||
[[ "${service}" == "virtualization" ]] && continue
|
|
||||||
[[ "${service}" == "clamav" ]] && continue
|
|
||||||
[[ "${service}" == "nextcloud" ]] && SELECTED_SERVICES_DNS+=( "onlyoffice.${DOMAIN_NAME}" "whiteboard.${DOMAIN_NAME}" )
|
[[ "${service}" == "nextcloud" ]] && SELECTED_SERVICES_DNS+=( "onlyoffice.${DOMAIN_NAME}" "whiteboard.${DOMAIN_NAME}" )
|
||||||
SELECTED_SERVICES_DNS+=( "${service}.${DOMAIN_NAME}" )
|
SELECTED_SERVICES_DNS+=( "${service}.${DOMAIN_NAME}" )
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user