From 94e63329c4dbc3d3f324ba69babdc00b3f3356b3 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 25 May 2025 10:27:47 +0000 Subject: [PATCH] Updated installer (custom folder) --- filebrowser/docker-compose.yaml | 2 +- functions/create_user_share.sh | 2 +- functions/remove_share.sh | 2 +- install.sh | 23 +++++++++++++++++++++++ 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/filebrowser/docker-compose.yaml b/filebrowser/docker-compose.yaml index 5362aec..875ac9c 100644 --- a/filebrowser/docker-compose.yaml +++ b/filebrowser/docker-compose.yaml @@ -6,7 +6,7 @@ services: restart: always entrypoint: ./start.sh volumes: - - /data:/srv #Change to match your directory + - $SMB_DATA_FOLDER:/srv #Change to match your directory - /selfhosting/apps/smb_utilities/filebrowser/filebrowser.db:/database/filebrowser.db #Change to match your directory - /selfhosting/apps/smb_utilities/filebrowser/settings.json:/config/settings.json #Change to match your directory - /selfhosting/apps/smb_utilities/filebrowser/start.sh:/start.sh diff --git a/functions/create_user_share.sh b/functions/create_user_share.sh index 5bba48d..5334a6e 100755 --- a/functions/create_user_share.sh +++ b/functions/create_user_share.sh @@ -6,7 +6,7 @@ if [ "$#" -ne 2 ]; then exit 1 fi -FOLDER_PATH="/data/$2/$1" +FOLDER_PATH="$SMB_DATA_FOLDER/$2/$1" USERNAME="$2" SMBCONF="/etc/samba/smb.conf" SHARE_CONFIG_DIR="/etc/samba/shares.d" diff --git a/functions/remove_share.sh b/functions/remove_share.sh index 8ead13d..658c987 100755 --- a/functions/remove_share.sh +++ b/functions/remove_share.sh @@ -14,7 +14,7 @@ SHARE_NAME="$1" SHARE_CONFIG_DIR="/etc/samba/shares.d" SMBCONF="/etc/samba/smb.conf" SHARE_CONFIG_FILE="$SHARE_CONFIG_DIR/$SHARE_NAME.conf" -TRASH_BASE="/data/trash" +TRASH_BASE="$SMB_DATA_FOLDER/trash" # 1. Read the .conf file if it exists if [ ! -f "$SHARE_CONFIG_FILE" ]; then diff --git a/install.sh b/install.sh index b05e8b2..557a994 100755 --- a/install.sh +++ b/install.sh @@ -44,6 +44,29 @@ else 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