Skip to content

Commit 707c568

Browse files
committed
Changed the config directory to be set at runtime [#2336]
* Added the /config volume to the Docker container. * Added the config directory cmdline option. * Removed the image cache cmdline option. * Removed the plugin directory cmdline option.
1 parent 1269059 commit 707c568

File tree

5 files changed

+39
-41
lines changed

5 files changed

+39
-41
lines changed

comixed-app/src/main/resources/application.properties

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@ management.endpoint.health.show-details=always
2626
# image caching directory
2727
comixed.images.cache.location=${user.home}/.comixed/image-cache
2828

29-
# plugin directory
30-
comixed.plugins.location=${user.home}/.comixed/plugins
31-
3229
# Common JPA Configuration
3330
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
3431
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl

comixed-release/src/main/assembly/scripts/run.bat

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ CD /d %~dp0
2121

2222
FOR %%f IN (comixed-app*.jar) DO SET COMIXED_JAR_FILE=%%f
2323
SET LOGFILE="%COMIXEDLOG%"
24-
SET EXTDIR="%USERPROFILE%\.comixed\extensions"
25-
SET PLGDIR="%USERPROFILE%\.comixed\plugins"
26-
SET CFGFILE="%USERPROFILE%\.comixed\application.properties"
24+
SET CFGDIR="%USERPROFILE%\.comixed"
2725

2826
:process_command_line
2927
IF "%~1" == "" GOTO end_process_command_line
@@ -35,17 +33,23 @@ IF "%PARAM%" == "-D" SET FULLDEBUG="ON"
3533
IF "%PARAM%" == "-M" SET METADATADEBUG="ON"
3634
IF "%PARAM%" == "-C" SET DBCONSOLE="ON"
3735
IF "%PARAM%" == "-S" SET ENABLE_SSL="ON"
36+
IF "%PARAM%" == "-c" GOTO set_cfgdir
3837
IF "%PARAM%" == "-j" GOTO set_jdbc_url
3938
IF "%PARAM%" == "-u" GOTO set_jdbc_user
4039
IF "%PARAM%" == "-p" GOTO set_jdbc_pwrd
4140
IF "%PARAM%" == "-i" GOTO set_image_cache_dir
4241
IF "%PARAM%" == "-L" GOTO set_logging_file
43-
IF "%PARAM%" == "-P" GOTO set_plugin_dir
4442
IF "%PARAM%" == "-H" GOTO set_heap_size
4543
IF "%PARAM%" == "-X" GOTO set_debug_option
4644
SHIFT
4745
GOTO process_command_line
4846

47+
:set_cfgdir
48+
SET CFGDIR=%ARG%
49+
SHIFT
50+
SHIFT
51+
GOTO process_command_line
52+
4953
:set_jdbc_url
5054
SET JDBCURL=%ARG%
5155
SHIFT
@@ -76,12 +80,6 @@ SHIFT
7680
SHIFT
7781
GOTO process_command_line
7882

79-
:set_plugin_dir
80-
SET PLGDIR=%ARG%
81-
SHIFT
82-
SHIFT
83-
GOTO process_command_line
84-
8583
:set_heap_size
8684
SET JVMOPTIONS=%JVMOPTIONS% -Xmx%ARG%m
8785
SHIFT
@@ -102,7 +100,7 @@ ECHO -j [URL] - Set the database URL
102100
ECHO -u [USERNAME] - Set the database username
103101
ECHO -p [PASSWORD] - Set the database password
104102
ECHO -i [DIR] - Set the image caching directory
105-
ECHO -P [DIR] - Set the plugin directory
103+
ECHO -c [DIR] - Set the config directory (def. %USERPROFILE%)
106104
ECHO -H [SIZE] - Set the runtime heap size (in mb)
107105
ECHO -S - Enable SSL (def. off)
108106
ECHO.
@@ -155,29 +153,32 @@ IF "%DBPWRD%" == "" GOTO skip_jdbc_pwrd
155153
SET JAROPTIONS=%JAROPTIONS% --spring.datasource.password=%DBPWRD%
156154
:skip_jdbc_pwrd
157155

158-
IF "%IMGCACHEDIR%" == "" GOTO skip_image_cache_dir
159-
SET JAROPTIONS=%JAROPTIONS% --comixed.images.cache.location=%IMGCACHEDIR%
160-
:skip_image_cache_dir
161-
162-
IF "%PLGDIR" == "" GOTO skip_plugin_dir
163-
SET JAROPTIONS=%JAROPTIONS% --comixed.plugins.location=%PLGDIR%
164-
:skip_plugin_dir
165-
166156
IF "%ENABLE_SSL%" == "" GOTO skip_enable_ssl
167157
SET JAROPTIONS=%JAROPTIONS% --server.ssl.enabled=true
168158
:skip_enable_ssl
169159

160+
SET EXTDIR="%CFGDIR%\extensions"
161+
SET CFGFILE="%CFGDIR%\application.properties"
162+
163+
IF "%IMGCACHEDIR%" == "" GOTO set_image_cache_dir
164+
GOTO skip_image_cache_dir
165+
166+
:set_image_cache_dir
167+
SET IMGCACHEDIR="%CFGDIR%\image-cache"
168+
SET JAROPTIONS=%JAROPTIONS% --comixed.images.cache.location=%IMGCACHEDIR%
169+
:skip_image_cache_dir
170+
170171
IF NOT EXIST "%CFGFILE%" GOTO skip_cfg_file
171172
SET JAROPTIONS=%JAROPTIONS% --spring.config.location=file:%CFGFILE%
172173
:skip_cfg_file
173174

174175
IF "%EXTDIR%" == "" GOTO skip_lib_dir
175176
SET LOADER_PATH=-Dloader.path=%EXTDIR%
177+
:skip_lib_dir
178+
176179
SET JVMOPTIONS=-cp %COMIXED_JAR_FILE% %JVMOPTIONS%
177180
SET COMIXED_JAR_FILE=-Dloader.main=org.comixedproject.ComiXedApp org.springframework.boot.loader.launch.PropertiesLauncher
178181

179-
:skip_lib_dir
180-
181182
java %JVMOPTIONS% %LOADER_PATH% %COMIXED_JAR_FILE% %JAROPTIONS%
182183

183184
:exit_script

comixed-release/src/main/assembly/scripts/run.sh

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ realpath() {
2222

2323
ME=$(realpath "$0")
2424
BINDIR=$(dirname "${ME}")
25-
EXTDIR=$(realpath "${HOME}/.comixed/extensions")
26-
PLGDIR=$(realpath "${HOME}/.comixed/plugins")
27-
CFGFILE=$(realpath "${HOME}/.comixed/application.properties")
25+
CFGDIR="${HOME}/.comixed"
2826

2927
JAVA=$(which java)
3028
JAROPTIONS=""
@@ -38,9 +36,7 @@ VERBOSE=false
3836
JDBCURL="${JDBCURL}"
3937
DBUSER="${DBUSERNAME}"
4038
DBPWRD="${DBPASSWORD}"
41-
IMGCACHEDIR=""
4239
LOGFILE="${COMIXEDLOG}"
43-
PLGDIR=""
4440

4541
usage() {
4642
echo "Usage: run.sh [OPTIONS]"
@@ -50,7 +46,7 @@ usage() {
5046
echo " -u [USERNAME] - Set the database username"
5147
echo " -p [PASSWORD] - Set the database password"
5248
echo " -i [DIR] - Set the image caching directory"
53-
echo " -P [DIR] - Set the plugin directory"
49+
echo " -c [DIR] - Set the config directory (def. ${HOME})"
5450
echo " -H [SIZE] - Set the runtime heap size (in mb)"
5551
echo " -S - Enable SSL (def. off)"
5652
echo ""
@@ -69,13 +65,13 @@ usage() {
6965
exit 0
7066
}
7167

72-
while getopts "j:u:p:i:l:P:H:SX:dDMCvL:" option; do
68+
while getopts "j:u:p:i:l:c:H:SX:dDMCvL:" option; do
7369
case ${option} in
7470
j) JDBCURL="${OPTARG}" ;;
7571
u) DBUSER="${OPTARG}" ;;
7672
p) DBPWRD="${OPTARG}" ;;
7773
i) IMGCACHEDIR="${OPTARG}" ;;
78-
P) PLGDIR="${OPTARG}" ;;
74+
c) CFGDIR="${OPTARG}" ;;
7975
H) JVMOPTIONS="${JVMOPTIONS} -Xmx${OPTARG}m" ;;
8076
S) ENABLE_SSL="ON" ;;
8177
X) JVMOPTIONS="${JVMOPTIONS} -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:${OPTARG}" ;;
@@ -134,22 +130,25 @@ if [[ $DBPWRD ]]; then
134130
JAROPTIONS="${JAROPTIONS} --spring.datasource.password=${DBPWRD}"
135131
fi
136132

137-
if [[ $IMGCACHEDIR ]]; then
138-
JAROPTIONS="${JAROPTIONS} --comixed.images.cache.location=${IMGCACHEDIR}"
133+
if [[ $ENABLE_SSL ]]; then
134+
JAROPTIONS="${JAROPTIONS} --server.ssl.enabled=true"
139135
fi
140136

141-
if [[ $PLGDIR ]]; then
142-
JAROPTIONS="${JAROPTIONS} --comixed.plugins.location=${PLGDIR}"
143-
fi
137+
EXTDIR=$(realpath "${CFGDIR}/extensions")
138+
CFGFILE=$(realpath "${CFGDIR}/application.properties")
144139

145-
if [[ $ENABLE_SSL ]]; then
146-
JAROPTIONS="${JAROPTIONS} --server.ssl.enabled=true"
140+
if [[ -z "${IMGCACHEDIR}" ]]; then
141+
IMGCACHEDIR="$(realpath "${CFGDIR}/image-cache")"
147142
fi
148143

149144
if [[ -f $CFGFILE ]]; then
150145
JAROPTIONS="${JAROPTIONS} --spring.config.location=file:${CFGFILE}"
151146
fi
152147

148+
if [[ $IMGCACHEDIR ]]; then
149+
JAROPTIONS="${JAROPTIONS} --comixed.images.cache.location=${IMGCACHEDIR}"
150+
fi
151+
153152
# build a list of JVM arguments
154153

155154
if [[ $EXTDIR ]]; then

docker/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,6 @@ ENV PATH="$JAVA_HOME/bin:${PATH}"
2929
EXPOSE 7171
3030
VOLUME /library
3131
VOLUME /imports
32+
VOLUME /config
3233

33-
CMD ["bash", "/app/comixed-release/bin/run.sh", "-L", "/library/comixed.log"]
34+
CMD ["bash", "/app/comixed-release/bin/run.sh", "-L", "/library/comixed.log", "-c", "/config"]

docker/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ To create the Docker image using the above directories, we'll use the following
2929
-it -p 7171:7171/tcp \
3030
-v /Users/reader/comixed/library:/library \
3131
-v /Users/reader/comixed/imports:/imports \
32-
-v /Users/reader/comixed/config:/root/.comixed \
32+
-v /Users/reader/comixed/config:/config \
3333
comixed/comixed:latest
3434
```
3535

0 commit comments

Comments
 (0)