Skip to content

Commit 4222045

Browse files
committed
allow externalModules dir to persist in mounted storage
1 parent 903e45f commit 4222045

6 files changed

Lines changed: 19 additions & 17 deletions

File tree

Dockerfile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ RUN [ -n "${DEBUG}" ] && set -x; \
188188
mkdir -pv \
189189
"${LABKEY_FILES_ROOT}/@files" \
190190
"config" \
191-
"externalModules" \
192191
"logs" \
193192
"startup" \
194193
"${TOMCAT_BASE_DIR}" \
@@ -259,7 +258,6 @@ HEALTHCHECK \
259258
"https://localhost:${LABKEY_PORT}${HEALTHCHECK_ENDPOINT}" \
260259
|| exit 1
261260

262-
VOLUME "${LABKEY_HOME}/externalModules"
263261
VOLUME "${LABKEY_HOME}/logs"
264262

265263
EXPOSE ${LABKEY_PORT}

application.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ context.resources.jdbc.labkeyDataSource.maxWaitMillis=${POSTGRES_MAX_WAIT_MILLIS
9090
context.resources.jdbc.labkeyDataSource.accessToUnderlyingConnectionAllowed=${POSTGRES_ACCESS_UNDERLYING_CONNECTIONS}
9191
context.resources.jdbc.labkeyDataSource.validationQuery=${POSTGRES_VALIDATION_QUERY}
9292

93+
context.externalModules=${LABKEY_EXTERNAL_MODULES}
94+
9395
# send access logs to file:
9496
# server.tomcat.accesslog.directory=/tmp
9597
# server.tomcat.accesslog.enabled=true

docker-compose.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ services:
1818
volumes:
1919
- ./mounts/files:/labkey/files
2020
# - files:/labkey/files
21-
- ./mounts/modules:/labkey/externalModules
2221
- ./mounts/logs:/labkey/logs
2322
environment:
2423
# - DEBUG=1
@@ -132,7 +131,6 @@ services:
132131
volumes:
133132
- ./mounts/files:/labkey/files
134133
# - files:/labkey/files
135-
- ./mounts/modules:/labkey/externalModules
136134
- ./mounts/logs:/labkey/logs
137135
environment:
138136
# - DEBUG=1
@@ -244,7 +242,6 @@ services:
244242
volumes:
245243
- ./mounts/files:/labkey/files
246244
# - files:/labkey/files
247-
- ./mounts/modules:/labkey/externalModules
248245
- ./mounts/logs:/labkey/logs
249246
environment:
250247
# - DEBUG=1
@@ -357,7 +354,6 @@ services:
357354
volumes:
358355
- ./mounts/files:/labkey/files
359356
# - files:/labkey/files
360-
- ./mounts/modules:/labkey/externalModules
361357
- ./mounts/logs:/labkey/logs
362358
environment:
363359
# - DEBUG=1
@@ -428,6 +424,7 @@ services:
428424
- SLEEP=${SLEEP:-0}
429425
- PURGE_HEAP_AND_ERROR_LOGS_OLDER_THAN_DAYS=${PURGE_HEAP_AND_ERROR_LOGS_OLDER_THAN_DAYS:-90}
430426
- PURGE_MTNC_LOGS_OLDER_THAN_DAYS=${PURGE_MTNC_LOGS_OLDER_THAN_DAYS:-90}
427+
- LABKEY_EXTERNAL_MODULES=${LABKEY_EXTERNAL_MODULES:-/labkey/files/externalModules}
431428

432429
pg-lims_starter:
433430
image: postgres:15

entrypoint.sh

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ JAVA_RMI_SERVER_HOSTNAME="${JAVA_RMI_SERVER_HOSTNAME:-}"
2828
# set age past which old heap and error log directories and system maintenance files are removed
2929
PURGE_HEAP_AND_ERROR_LOGS_OLDER_THAN_DAYS="${PURGE_HEAP_AND_ERROR_LOGS_OLDER_THAN_DAYS:-90}"
3030
PURGE_MTNC_LOGS_OLDER_THAN_DAYS="${PURGE_MTNC_LOGS_OLDER_THAN_DAYS:-90}"
31+
32+
# set path to external modules)
33+
LABKEY_EXTERNAL_MODULES="${LABKEY_EXTERNAL_MODULES:-/labkey/files/externalModules}"
3134

3235
SLEEP="${SLEEP:=0}"
3336

@@ -148,9 +151,6 @@ main() {
148151
awsclibin/aws s3 cp $LABKEY_OPTIONAL_APP_PROPERTIES_S3_URI config/
149152
fi
150153

151-
echo "sleeping for $SLEEP seconds..."
152-
sleep $SLEEP
153-
154154
# echo "deleting awscli and unsetting AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, & AWS_SESSION_TOKEN, if set..."
155155
# rm -rf awsclibin aws-cli
156156
unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
@@ -259,16 +259,13 @@ main() {
259259
-Djava.rmi.server.hostname=${JAVA_RMI_SERVER_HOSTNAME}"
260260
fi
261261

262-
echo "Purging secrets and other bits from environment variables..."
263-
unset POSTGRES_USER POSTGRES_PASSWORD POSTGRES_HOST POSTGRES_PORT POSTGRES_DB POSTGRES_PARAMETERS
264-
unset SMTP_HOST SMTP_USER SMTP_PORT SMTP_PASSWORD SMTP_AUTH SMTP_FROM SMTP_STARTTLS
265-
unset LABKEY_CREATE_INITIAL_USER LABKEY_CREATE_INITIAL_USER_APIKEY LABKEY_INITIAL_USER_APIKEY LABKEY_INITIAL_USER_EMAIL LABKEY_INITIAL_USER_GROUP LABKEY_INITIAL_USER_ROLE
266-
unset LABKEY_EK SLEEP CONTAINER_PRIVATE_IP
267-
268262
echo "Creating new heap/error log directory..."
269263
HEAP_AND_ERROR_PATH="$LABKEY_HOME/files/heap_dumps_and_errors_$(date +%Y%m%d_%H%M%S)"
270264
mkdir -pv $HEAP_AND_ERROR_PATH
271265

266+
echo "Creating externalModules directory if it does not already exist..."
267+
mkdir -pv $LABKEY_EXTERNAL_MODULES
268+
272269
# purge old heap/error directories
273270
echo "Purging heap/error log directories older than $PURGE_HEAP_AND_ERROR_LOGS_OLDER_THAN_DAYS days..."
274271
find "$LABKEY_HOME/files/" -mindepth 1 -maxdepth 1 -type d -ctime +${PURGE_HEAP_AND_ERROR_LOGS_OLDER_THAN_DAYS} -name "heap*" | xargs rm -rf
@@ -277,6 +274,15 @@ main() {
277274
echo "Purging system maintenance files older than $PURGE_MTNC_LOGS_OLDER_THAN_DAYS days..."
278275
find "$LABKEY_HOME/files/@files" -mindepth 1 -maxdepth 1 -type d -ctime +${PURGE_MTNC_LOGS_OLDER_THAN_DAYS} -name "system_maintenance*" | xargs rm -rf
279276

277+
echo "sleeping for $SLEEP seconds..."
278+
sleep $SLEEP
279+
280+
echo "Purging secrets and other bits from environment variables..."
281+
unset POSTGRES_USER POSTGRES_PASSWORD POSTGRES_HOST POSTGRES_PORT POSTGRES_DB POSTGRES_PARAMETERS
282+
unset SMTP_HOST SMTP_USER SMTP_PORT SMTP_PASSWORD SMTP_AUTH SMTP_FROM SMTP_STARTTLS
283+
unset LABKEY_CREATE_INITIAL_USER LABKEY_CREATE_INITIAL_USER_APIKEY LABKEY_INITIAL_USER_APIKEY LABKEY_INITIAL_USER_EMAIL LABKEY_INITIAL_USER_GROUP LABKEY_INITIAL_USER_ROLE
284+
unset LABKEY_EK SLEEP CONTAINER_PRIVATE_IP
285+
280286
# shellcheck disable=SC2086
281287
exec java \
282288
\
@@ -295,7 +301,6 @@ main() {
295301
\
296302
-Dlabkey.home="$LABKEY_HOME" \
297303
-Dlabkey.log.home="${LABKEY_HOME}/logs" \
298-
-Dlabkey.externalModulesDir="${LABKEY_HOME}/externalModules" \
299304
\
300305
-Djava.library.path=/usr/lib:/usr/lib/x86_64-linux-gnu \
301306
\

mounts/modules/.gitkeep

Whitespace-only changes.

quickstart_envs.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# example minimal set of environment variables to get started - see readme for additional envs you may wish to set
44

55
# embedded tomcat LabKey .jar version to build container with
6-
export LABKEY_VERSION="25.7"
6+
export LABKEY_VERSION="25.8"
77

88
# minimal SMTP settings
99
export SMTP_HOST="localhost"

0 commit comments

Comments
 (0)