@@ -39,6 +39,24 @@ copy_user_settings() {
39
39
fi
40
40
}
41
41
42
+ install_prepackaged_extensions () {
43
+ local prepackaged_extensions_dir=" ${default_settings_folder} /extensions"
44
+ local persistent_extensions_dir=" ${persistent_settings_folder} /extensions"
45
+
46
+ # if extensions directory doesn't exist then this is the first time opening the app
47
+ if [ ! -d " ${persistent_extensions_dir} " ]; then
48
+ mkdir -p $persistent_extensions_dir
49
+
50
+ # find all pre-packaged extensions folders, symlink them to the persistent volume
51
+ find " $prepackaged_extensions_dir " -mindepth 1 -maxdepth 1 -type d | while read -r dir; do
52
+ dir_name=$( basename " $dir " )
53
+
54
+ ln -s " $dir " " ${persistent_extensions_dir} /${dir_name} "
55
+ echo " Added extension: $dir "
56
+ done
57
+ fi
58
+ }
59
+
42
60
eval " $( micromamba shell hook --shell=bash) "
43
61
44
62
# Activate conda environment 'base', which is the default environment for sagemaker-distribution
@@ -49,17 +67,18 @@ if [ -n "$SAGEMAKER_APP_TYPE_LOWERCASE" ]; then
49
67
# SAGEMAKER_APP_TYPE is set, indicating the server is running within a SageMaker app.
50
68
override_machine_settings
51
69
copy_user_settings
70
+ install_prepackaged_extensions
52
71
# Configure the base url to be `/<app-type-in-lower-case>/default`.
53
72
sagemaker-code-editor --host 0.0.0.0 --port 8888 \
54
73
--without-connection-token \
55
74
--base-path " /$SAGEMAKER_APP_TYPE_LOWERCASE /default" \
56
75
--server-data-dir $persistent_settings_folder \
57
- --extensions-dir /opt/amazon/sagemaker/sagemaker-code-editor-server-data /extensions \
76
+ --extensions-dir ${persistent_settings_folder} /extensions \
58
77
--user-data-dir /opt/amazon/sagemaker/sagemaker-code-editor-user-data
59
78
else
60
79
sagemaker-code-editor --host 0.0.0.0 --port 8888 \
61
80
--without-connection-token \
62
81
--server-data-dir /opt/amazon/sagemaker/sagemaker-code-editor-server-data \
63
82
--extension-dir /opt/amazon/sagemaker/sagemaker-code-editor-server-data/extensions \
64
83
--user-data-dir /opt/amazon/sagemaker/sagemaker-code-editor-user-data
65
- fi
84
+ fi
0 commit comments