#!/bin/bash # Define colors GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color echo -e "${GREEN}------------------------${NC}" echo -e "${GREEN} SmbTools installer ${NC}" echo -e "${GREEN}------------------------${NC}" apt install samba -y rm /etc/samba/smb.conf cp config/smb.conf /etc/samba/smb.conf mkdir -p /etc/samba/shares.d systemctl enable smbd systemctl restart smbd SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" ENV_LINE="export SMB_TOOLS_PATH=\"$SCRIPT_DIR\"" export SMB_TOOLS_PATH=$SCRIPT_DIR\ # Check if it's already set in .bashrc if grep -Fxq "$ENV_LINE" "$HOME/.bashrc"; then echo "SMB_TOOLS_PATH already set in .bashrc" else echo "$ENV_LINE" >> "$HOME/.bashrc" echo "Added SMB_TOOLS_PATH to ~/.bashrc" fi ALIASES_LINE="source $SMB_TOOLS_PATH/config/aliases.sh" # Check if it's already set in .bashrc if grep -Fxq "$ALIASES_LINE" "$HOME/.bashrc"; then echo "SmbTools aliases already set" else echo "$ALIASES_LINE" >> "$HOME/.bashrc" echo "Set SmbTools aliases" fi # Ask the user to input a data folder echo read -rp "Enter path to data folder (e.g., /data/smb): " DATA_FOLDER # Validate and create it if it doesn't exist if [ ! -d "$DATA_FOLDER" ]; then echo "Directory doesn't exist. Creating: $DATA_FOLDER" mkdir -p "$DATA_FOLDER" fi # Set environment variable ENV_LINE="export SMB_DATA_FOLDER=\"$DATA_FOLDER\"" export SMB_DATA_FOLDER="$DATA_FOLDER" # Check if it's already set in .bashrc if grep -Fxq "$ENV_LINE" "$HOME/.bashrc"; then echo "SMB_DATA_FOLDER already set in .bashrc" else echo "$ENV_LINE" >> "$HOME/.bashrc" echo "Added SMB_DATA_FOLDER to ~/.bashrc" fi source $HOME/.bashrc cd filebrowser bash ./install.sh cd .. echo -e "${YELLOW}------------------------------------------------------${NC}" echo -e "${YELLOW} !!! WARNING !!! ${NC}" echo -e "${YELLOW} The computer must be restarted to complete the setup ${NC}" echo -e "${YELLOW}------------------------------------------------------${NC}"