@@ -156,9 +156,6 @@ generate_ssh_keys() {
156156 cp " openssh-server/ssh-keys/openssh_server_key.pub" " openssh-server/config/authorized_keys"
157157 chmod 644 " openssh-server/config/authorized_keys"
158158
159- # Setup package installation script
160- setup_package_install_script
161-
162159 # Set SSH key path in environment
163160 SSH_PRIVATE_KEY_PATH=" $( pwd) /openssh-server/ssh-keys/openssh_server_key"
164161 export SSH_PRIVATE_KEY_PATH
@@ -185,7 +182,7 @@ generate_ssh_keys() {
185182 TEMP_OUTPUT=" /tmp/ssh_keygen_output_$$ .txt"
186183
187184 # Generate ed25519 key pair using the openssh-server container
188- if docker run --rm -i --entrypoint //keygen.sh " $OPENSSH_SERVER_IMAGE " <<< " 1 " > " $TEMP_OUTPUT " 2>&1 ; then
185+ if docker run --rm -i " $OPENSSH_SERVER_IMAGE " bash -c " ssh-keygen -t ed25519 -f /tmp/id_ed25519 -N '' && cat /tmp/id_ed25519 && echo '---' && cat /tmp/id_ed25519.pub " > " $TEMP_OUTPUT " 2>&1 ; then
189186 echo " 🔍 SSH key generation completed, extracting keys..."
190187
191188 # Extract private key (everything between -----BEGIN and -----END)
@@ -226,9 +223,6 @@ generate_ssh_keys() {
226223 cp " openssh-server/ssh-keys/openssh_server_key.pub" " openssh-server/config/authorized_keys"
227224 chmod 644 " openssh-server/config/authorized_keys"
228225
229- # Setup package installation script
230- setup_package_install_script
231-
232226 # Set SSH key path in environment
233227 SSH_PRIVATE_KEY_PATH=" $( pwd) /openssh-server/ssh-keys/openssh_server_key"
234228 export SSH_PRIVATE_KEY_PATH
@@ -643,20 +637,7 @@ select_deployment_version() {
643637 echo " "
644638}
645639
646- pull_openssh_images () {
647- # Function to pull openssh images
648640
649- echo " 🐳 Pulling openssh-server image for Terminal tool..."
650- if ! docker pull " $OPENSSH_SERVER_IMAGE " ; then
651- echo " ❌ ERROR Failed to pull openssh-server image: $OPENSSH_SERVER_IMAGE "
652- ERROR_OCCURRED=1
653- return 1
654- fi
655- echo " ✅ Successfully pulled openssh-server image"
656- echo " "
657- echo " --------------------------------"
658- echo " "
659- }
660641
661642setup_package_install_script () {
662643 # Function to setup package installation script
@@ -714,6 +695,31 @@ select_terminal_tool() {
714695 export COMPOSE_PROFILES=" ${COMPOSE_PROFILES: +$COMPOSE_PROFILES ,} terminal"
715696 echo " ✅ Terminal tool enabled 🔧"
716697 echo " 🔧 Deploying an openssh-server container for secure command execution"
698+
699+ # Ask user to specify directory mapping
700+ default_terminal_dir=" /opt/terminal"
701+ echo " 📁 Terminal directory configuration:"
702+ echo " • Container path: /opt/terminal (fixed)"
703+ echo " • Host path: You can specify any directory on your host machine"
704+ echo " • Default host path: /opt/terminal (recommended)"
705+ echo " "
706+ read -p " 📁 Enter host directory to mount (default: /opt/terminal): " terminal_mount_dir
707+ terminal_mount_dir=$( sanitize_input " $terminal_mount_dir " )
708+ TERMINAL_MOUNT_DIR=" ${terminal_mount_dir:- $default_terminal_dir } "
709+
710+ # Save to environment variables
711+ export TERMINAL_MOUNT_DIR
712+
713+ # Add to .env file
714+ if grep -q " ^TERMINAL_MOUNT_DIR=" .env; then
715+ sed -i.bak " s~^TERMINAL_MOUNT_DIR=.*~TERMINAL_MOUNT_DIR=$TERMINAL_MOUNT_DIR ~" .env
716+ else
717+ echo " TERMINAL_MOUNT_DIR=$TERMINAL_MOUNT_DIR " >> .env
718+ fi
719+
720+ echo " 📁 Terminal mount configuration:"
721+ echo " • Host: $TERMINAL_MOUNT_DIR "
722+ echo " • Container: /opt/terminal"
717723 else
718724 export ENABLE_TERMINAL_TOOL=" false"
719725 echo " 🚫 Terminal tool disabled"
@@ -797,7 +803,6 @@ main_deploy() {
797803 generate_minio_ak_sk || { echo " ❌ MinIO key generation failed" ; exit 1; }
798804
799805 if [ " $ENABLE_TERMINAL_TOOL " = " true" ]; then
800- pull_openssh_images || { echo " ❌ Openssh image pull failed" ; exit 1; }
801806 generate_ssh_keys || { echo " ❌ SSH key generation failed" ; exit 1; }
802807 fi
803808
0 commit comments