Skip to content

Commit 7f35f4f

Browse files
Merge pull request #75 from WebSpellChecker/add_WPR_prefix_to_args
Add wpr prefix to args
2 parents 0ca9ddd + ed54bc6 commit 7f35f4f

4 files changed

Lines changed: 242 additions & 242 deletions

File tree

Dockerfile

Lines changed: 94 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,93 @@
11
FROM ubuntu:24.04
22

3-
ARG WEB_SERVER_PORT=8080
4-
ARG WEB_SERVER_SSL_PORT=8443
3+
ARG WPR_WEB_SERVER_PORT=8080
4+
ARG WPR_WEB_SERVER_SSL_PORT=8443
55

6-
ENV WPR_WEB_SERVER_PORT=${WEB_SERVER_PORT}
7-
ENV WPR_WEB_SERVER_SSL_PORT=${WEB_SERVER_SSL_PORT}
6+
ENV WPR_WEB_SERVER_PORT=${WPR_WEB_SERVER_PORT}
7+
ENV WPR_WEB_SERVER_SSL_PORT=${WPR_WEB_SERVER_SSL_PORT}
88

9-
EXPOSE $WEB_SERVER_PORT
10-
EXPOSE $WEB_SERVER_SSL_PORT
9+
EXPOSE $WPR_WEB_SERVER_PORT
10+
EXPOSE $WPR_WEB_SERVER_SSL_PORT
1111
EXPOSE 2880
1212

1313
ENV DEBIAN_FRONTEND=noninteractive
1414

15-
ARG FILES_DIR=./files
16-
ARG DEPLOYMENT_DIR=/home
17-
ARG DICTIONARIES_DIR=/dictionaries
18-
ARG CUSTOM_DICTIONARIES_DIR=$DICTIONARIES_DIR/CustomDictionaries
19-
ARG USER_DICTIONARIES_DIR=$DICTIONARIES_DIR/UserDictionaries
20-
ARG STYLE_GUIDE_DIR=$DICTIONARIES_DIR/StyleGuide
21-
ARG CERT_DIR=/certificate
22-
ARG CERT_KEY_NAME=key.pem
23-
ARG CERT_FILE_NAME=cert.pem
24-
ARG APP_ROOT_DIR=$DEPLOYMENT_DIR/WSC
25-
ARG APP_SERVER_DIR=/opt/WebSpellChecker/AppServer
26-
ARG APP_NAME_MASK=wsc_app*tar.gz
27-
ARG USER_NAME=wsc
28-
ARG PATH_TO_SERVICE_FILES_DIRECTORY=/var/lib
29-
ARG USER_ID=2000
30-
ARG GROUP_ID=2000
31-
32-
ENV WPR_APP_SERVER_DIR=${APP_SERVER_DIR}
15+
ARG WPR_FILES_DIR=./files
16+
ARG WPR_DEPLOYMENT_DIR=/home
17+
ARG WPR_DICTIONARIES_DIR=/dictionaries
18+
ARG WPR_CUSTOM_DICTIONARIES_DIR=$WPR_DICTIONARIES_DIR/CustomDictionaries
19+
ARG WPR_USER_DICTIONARIES_DIR=$WPR_DICTIONARIES_DIR/UserDictionaries
20+
ARG WPR_STYLE_GUIDE_DIR=$WPR_DICTIONARIES_DIR/StyleGuide
21+
ARG WPR_CERT_DIR=/certificate
22+
ARG WPR_CERT_KEY_NAME=key.pem
23+
ARG WPR_CERT_FILE_NAME=cert.pem
24+
ARG WPR_APP_ROOT_DIR=$WPR_DEPLOYMENT_DIR/WSC
25+
ARG WPR_APP_SERVER_DIR=/opt/WebSpellChecker/AppServer
26+
ARG WPR_APP_NAME_MASK=wsc_app*tar.gz
27+
ARG WPR_USER_NAME=wsc
28+
ARG WPR_PATH_TO_SERVICE_FILES_DIRECTORY=/var/lib
29+
ARG WPR_USER_ID=2000
30+
ARG WPR_GROUP_ID=2000
31+
32+
ENV WPR_APP_SERVER_DIR=${WPR_APP_SERVER_DIR}
3333

3434
ENV WPR_AUTO_INSTALL=TRUE
3535

3636
# Application installation parameters
3737
# Protocol of the NGINX web server (1 - HTTPS, 2 - HTTP)
38-
ARG PROTOCOL=2
38+
ARG WPR_PROTOCOL=2
3939
# Web port outside the container. If value isn't specified (e.g. empty), the default value will be used (443 for HTTPS and 80 for HTTP).
40-
ARG WEB_PORT
41-
ARG DOMAIN_NAME=localhost
42-
ARG VIRTUAL_DIR=wscservice
43-
# Specify license ticket ID to activate the license during the image build. For example, LICENSE_TICKET_ID = 6u*************ZO
44-
ARG LICENSE_TICKET_ID
45-
ARG PRODUCTS=4
46-
ARG LANGUAGES=en_US,en_GB,en_CA,en_AU
47-
ARG AI_MODELS=1,2
48-
ARG INSTALL_SAMPLES=1
40+
ARG WPR_WEB_PORT
41+
ARG WPR_DOMAIN_NAME=localhost
42+
ARG WPR_VIRTUAL_DIR=wscservice
43+
# Specify license ticket ID to activate the license during the image build. For example, WPR_LICENSE_TICKET_ID = 6u*************ZO
44+
ARG WPR_LICENSE_TICKET_ID
45+
ARG WPR_PRODUCTS=4
46+
ARG WPR_LANGUAGES=en_US,en_GB,en_CA,en_AU
47+
ARG WPR_AI_MODELS=1,2
48+
ARG WPR_INSTALL_SAMPLES=1
4949

5050
# Proxy server settings
5151
# If you are using a proxy server to handle inbound/outbound traffic to your network, for the automated license activation step, the following proxy settings must be added.
52-
ARG ENABLE_PROXY=0
53-
ARG PROXY_HOST
54-
ARG PROXY_PORT
55-
ARG PROXY_USER_NAME
56-
ARG PROXY_PASSWORD
52+
ARG WPR_ENABLE_PROXY=0
53+
ARG WPR_PROXY_HOST
54+
ARG WPR_PROXY_PORT
55+
ARG WPR_PROXY_USER_NAME
56+
ARG WPR_PROXY_PASSWORD
5757

5858
# Access Key for Custom Dictionary and Style Guide API
59-
ARG ACCESS_KEY
59+
ARG WPR_ACCESS_KEY
6060

6161
ENV WPR_CONFIG_USE_ENV=true
62-
ENV WPR_FILE_OWNER=${USER_ID}:${GROUP_ID}
63-
ENV WPR_PRODUCTS=${PRODUCTS}
64-
ENV WPR_LANGUAGES=${LANGUAGES}
65-
ENV WPR_AI_MODELS=${AI_MODELS}
66-
ENV WPR_INSTALL_SAMPLES=${INSTALL_SAMPLES}
67-
ENV WPR_PROTOCOL=${PROTOCOL}
68-
ENV WPR_DOMAIN_NAME=${DOMAIN_NAME}
69-
ENV WPR_WEB_PORT=${WEB_PORT}
70-
ENV WPR_VIRTUAL_DIR=${VIRTUAL_DIR}
62+
ENV WPR_FILE_OWNER=${WPR_USER_ID}:${WPR_GROUP_ID}
63+
ENV WPR_PRODUCTS=${WPR_PRODUCTS}
64+
ENV WPR_LANGUAGES=${WPR_LANGUAGES}
65+
ENV WPR_AI_MODELS=${WPR_AI_MODELS}
66+
ENV WPR_INSTALL_SAMPLES=${WPR_INSTALL_SAMPLES}
67+
ENV WPR_PROTOCOL=${WPR_PROTOCOL}
68+
ENV WPR_DOMAIN_NAME=${WPR_DOMAIN_NAME}
69+
ENV WPR_WEB_PORT=${WPR_WEB_PORT}
70+
ENV WPR_VIRTUAL_DIR=${WPR_VIRTUAL_DIR}
7171
ENV WPR_WEB_SERVER_TYPE=2
72-
ENV WPR_LICENSE_TICKET_ID=${LICENSE_TICKET_ID}
73-
ENV WPR_PATH_TO_SERVICE_FILES_DIRECTORY=${PATH_TO_SERVICE_FILES_DIRECTORY}
72+
ENV WPR_LICENSE_TICKET_ID=${WPR_LICENSE_TICKET_ID}
73+
ENV WPR_PATH_TO_SERVICE_FILES_DIRECTORY=${WPR_PATH_TO_SERVICE_FILES_DIRECTORY}
7474
ENV WPR_RESTART_WEB_SERVER=1
75-
ENV WPR_CERT_DIR=${CERT_DIR}
76-
ENV WPR_CERT_KEY_NAME=${CERT_KEY_NAME}
77-
ENV WPR_CERT_FILE_NAME=${CERT_FILE_NAME}
78-
ENV WPR_DICTIONARIES_DIR=${DICTIONARIES_DIR}
79-
ENV WPR_CUSTOM_DICTIONARIES_DIR=${CUSTOM_DICTIONARIES_DIR}
80-
ENV WPR_USER_DICTIONARIES_DIR=${USER_DICTIONARIES_DIR}
81-
ENV WPR_STYLE_GUIDE_DIR=${STYLE_GUIDE_DIR}
75+
ENV WPR_CERT_DIR=${WPR_CERT_DIR}
76+
ENV WPR_CERT_KEY_NAME=${WPR_CERT_KEY_NAME}
77+
ENV WPR_CERT_FILE_NAME=${WPR_CERT_FILE_NAME}
78+
ENV WPR_DICTIONARIES_DIR=${WPR_DICTIONARIES_DIR}
79+
ENV WPR_CUSTOM_DICTIONARIES_DIR=${WPR_CUSTOM_DICTIONARIES_DIR}
80+
ENV WPR_USER_DICTIONARIES_DIR=${WPR_USER_DICTIONARIES_DIR}
81+
ENV WPR_STYLE_GUIDE_DIR=${WPR_STYLE_GUIDE_DIR}
8282

8383
#The log size must be set to 0 for Docker.
8484
ENV WPR_SIZE=0
8585

86-
ENV WPR_ENABLE_PROXY=${ENABLE_PROXY}
87-
ENV WPR_PROXY_HOST=${PROXY_HOST}
88-
ENV WPR_PROXY_PORT=${PROXY_PORT}
89-
ENV WPR_PROXY_USER_NAME=${PROXY_USER_NAME}
90-
ENV WPR_PROXY_PASSWORD=${PROXY_PASSWORD}
86+
ENV WPR_ENABLE_PROXY=${WPR_ENABLE_PROXY}
87+
ENV WPR_PROXY_HOST=${WPR_PROXY_HOST}
88+
ENV WPR_PROXY_PORT=${WPR_PROXY_PORT}
89+
ENV WPR_PROXY_USER_NAME=${WPR_PROXY_USER_NAME}
90+
ENV WPR_PROXY_PASSWORD=${WPR_PROXY_PASSWORD}
9191

9292
# Database for collecting statistics
9393
ENV WPR_ENABLE_DATABASE_PROVIDER=false
@@ -101,7 +101,7 @@ ENV WPR_REQUEST_STATISTIC_DATA_TYPE=DATABASE
101101
ENV WPR_ENABLE_USER_ACTION_STATISTIC=false
102102
ENV WPR_ENABLE_REQUEST_VALIDATION=false
103103

104-
ENV WPR_ACCESS_KEY=${ACCESS_KEY}
104+
ENV WPR_ACCESS_KEY=${WPR_ACCESS_KEY}
105105

106106
RUN apt-get update && \
107107
apt-get upgrade -y perl && \
@@ -112,48 +112,48 @@ RUN apt-get update && \
112112
rm -rf /var/log/nginx/* && \
113113
ln -sf /dev/stderr /var/log/nginx/error.log
114114

115-
RUN groupadd --gid ${GROUP_ID} $USER_NAME && useradd --no-log-init --uid ${USER_ID} --gid ${GROUP_ID} $USER_NAME
115+
RUN groupadd --gid ${WPR_GROUP_ID} $WPR_USER_NAME && useradd --no-log-init --uid ${WPR_USER_ID} --gid ${WPR_GROUP_ID} $WPR_USER_NAME
116116

117-
RUN mkdir -p $CUSTOM_DICTIONARIES_DIR \
118-
$USER_DICTIONARIES_DIR \
119-
$PATH_TO_SERVICE_FILES_DIRECTORY/WebSpellChecker \
117+
RUN mkdir -p $WPR_CUSTOM_DICTIONARIES_DIR \
118+
$WPR_USER_DICTIONARIES_DIR \
119+
$WPR_PATH_TO_SERVICE_FILES_DIRECTORY/WebSpellChecker \
120120
/var/run/nginx
121121

122-
COPY $FILES_DIR/$APP_NAME_MASK $DEPLOYMENT_DIR/
123-
RUN PACKAGE_FILE=$(ls -1t $DEPLOYMENT_DIR/$APP_NAME_MASK 2>/dev/null | head -n 1) && \
122+
COPY $WPR_FILES_DIR/$WPR_APP_NAME_MASK $WPR_DEPLOYMENT_DIR/
123+
RUN PACKAGE_FILE=$(ls -1t $WPR_DEPLOYMENT_DIR/$WPR_APP_NAME_MASK 2>/dev/null | head -n 1) && \
124124
[ -z "$PACKAGE_FILE" ] && exit 1 || \
125125
echo "Using package file: $PACKAGE_FILE" && \
126-
tar -xvf $PACKAGE_FILE -C $DEPLOYMENT_DIR/ && \
127-
perl $APP_ROOT_DIR*/automated_install.pl || exit 1 && \
128-
rm -rf $APP_ROOT_DIR* $DEPLOYMENT_DIR/$APP_NAME_MASK && \
129-
mkdir -p $APP_SERVER_DIR/Logs && \
130-
cp -r $APP_SERVER_DIR/Logs $APP_SERVER_DIR/Build_Logs && \
131-
rm -rf $APP_SERVER_DIR/Logs/* && \
132-
ln -s /dev/stdout $APP_SERVER_DIR/Logs/Main.log && \
133-
ln -s /dev/stdout $APP_SERVER_DIR/Logs/Child-0.log && \
134-
ln -s /dev/stdout $APP_SERVER_DIR/Logs/Child-1.log && \
135-
ln -s /dev/stdout $APP_SERVER_DIR/Logs/Action.log && \
136-
chown -R ${USER_ID}:${GROUP_ID} $PATH_TO_SERVICE_FILES_DIRECTORY/WebSpellChecker $DICTIONARIES_DIR $APP_SERVER_DIR
137-
138-
COPY $FILES_DIR/certificate/$CERT_KEY_NAME $CERT_DIR/$CERT_KEY_NAME
139-
COPY $FILES_DIR/certificate/$CERT_FILE_NAME $CERT_DIR/$CERT_FILE_NAME
140-
COPY $FILES_DIR/configure* $APP_SERVER_DIR/
141-
COPY $FILES_DIR/startService.sh $APP_SERVER_DIR
142-
RUN chown ${USER_ID}:${GROUP_ID} $APP_SERVER_DIR/startService.sh && \
143-
chown ${USER_ID}:${GROUP_ID} $APP_SERVER_DIR/configureFiles.pl && \
144-
chown ${USER_ID}:${GROUP_ID} $APP_SERVER_DIR/configureWebServer.pl && \
145-
chmod +x $APP_SERVER_DIR/startService.sh
146-
147-
RUN chown -R ${USER_ID}:${GROUP_ID} /var/log/nginx \
126+
tar -xvf $PACKAGE_FILE -C $WPR_DEPLOYMENT_DIR/ && \
127+
perl $WPR_APP_ROOT_DIR*/automated_install.pl || exit 1 && \
128+
rm -rf $WPR_APP_ROOT_DIR* $WPR_DEPLOYMENT_DIR/$WPR_APP_NAME_MASK && \
129+
mkdir -p $WPR_APP_SERVER_DIR/Logs && \
130+
cp -r $WPR_APP_SERVER_DIR/Logs $WPR_APP_SERVER_DIR/Build_Logs && \
131+
rm -rf $WPR_APP_SERVER_DIR/Logs/* && \
132+
ln -s /dev/stdout $WPR_APP_SERVER_DIR/Logs/Main.log && \
133+
ln -s /dev/stdout $WPR_APP_SERVER_DIR/Logs/Child-0.log && \
134+
ln -s /dev/stdout $WPR_APP_SERVER_DIR/Logs/Child-1.log && \
135+
ln -s /dev/stdout $WPR_APP_SERVER_DIR/Logs/Action.log && \
136+
chown -R ${WPR_USER_ID}:${WPR_GROUP_ID} $WPR_PATH_TO_SERVICE_FILES_DIRECTORY/WebSpellChecker $WPR_DICTIONARIES_DIR $WPR_APP_SERVER_DIR
137+
138+
COPY $WPR_FILES_DIR/certificate/$WPR_CERT_KEY_NAME $WPR_CERT_DIR/$WPR_CERT_KEY_NAME
139+
COPY $WPR_FILES_DIR/certificate/$WPR_CERT_FILE_NAME $WPR_CERT_DIR/$WPR_CERT_FILE_NAME
140+
COPY $WPR_FILES_DIR/configure* $WPR_APP_SERVER_DIR/
141+
COPY $WPR_FILES_DIR/startService.sh $WPR_APP_SERVER_DIR
142+
RUN chown ${WPR_USER_ID}:${WPR_GROUP_ID} $WPR_APP_SERVER_DIR/startService.sh && \
143+
chown ${WPR_USER_ID}:${WPR_GROUP_ID} $WPR_APP_SERVER_DIR/configureFiles.pl && \
144+
chown ${WPR_USER_ID}:${WPR_GROUP_ID} $WPR_APP_SERVER_DIR/configureWebServer.pl && \
145+
chmod +x $WPR_APP_SERVER_DIR/startService.sh
146+
147+
RUN chown -R ${WPR_USER_ID}:${WPR_GROUP_ID} /var/log/nginx \
148148
/usr/sbin/nginx \
149149
/var/lib/nginx \
150150
/var/run/nginx \
151151
/etc/nginx
152152

153153
RUN apt-get remove -y wget && apt-get autoremove -y
154154

155-
USER $USER_NAME
155+
USER $WPR_USER_NAME
156156

157-
WORKDIR $APP_SERVER_DIR
157+
WORKDIR $WPR_APP_SERVER_DIR
158158

159159
ENTRYPOINT ["sh", "-c", "${WPR_APP_SERVER_DIR}/startService.sh"]

0 commit comments

Comments
 (0)