1
1
FROM ubuntu:24.04
2
2
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
5
5
6
- ENV WEB_SERVER_PORT =${WEB_SERVER_PORT }
7
- ENV 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 }
8
8
9
- EXPOSE $WEB_SERVER_PORT
10
- EXPOSE $WEB_SERVER_SSL_PORT
9
+ EXPOSE $WPR_WEB_SERVER_PORT
10
+ EXPOSE $WPR_WEB_SERVER_SSL_PORT
11
11
EXPOSE 2880
12
12
13
13
ENV DEBIAN_FRONTEND=noninteractive
14
14
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 APP_SERVER_DIR =${APP_SERVER_DIR }
33
-
34
- ENV WSC_AUTO_INSTALL =TRUE
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 }
33
+
34
+ ENV WPR_AUTO_INSTALL =TRUE
35
35
36
36
# Application installation parameters
37
37
# Protocol of the NGINX web server (1 - HTTPS, 2 - HTTP)
38
- ARG PROTOCOL =2
38
+ ARG WPR_PROTOCOL =2
39
39
# 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
49
49
50
50
# Proxy server settings
51
51
# 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
57
57
58
58
# Access Key for Custom Dictionary and Style Guide API
59
- ARG ACCESS_KEY
60
-
61
- ENV WPROOFREADER_CONFIG_USE_ENV=true
62
- ENV FILE_OWNER=${USER_ID}:${GROUP_ID}
63
- ENV PRODUCTS=${PRODUCTS}
64
- ENV LANGUAGES=${LANGUAGES}
65
- ENV AI_MODELS=${AI_MODELS}
66
- ENV INSTALL_SAMPLES=${INSTALL_SAMPLES}
67
- ENV PROTOCOL=${PROTOCOL}
68
- ENV DOMAIN_NAME=${DOMAIN_NAME}
69
- ENV WEB_PORT=${WEB_PORT}
70
- ENV VIRTUAL_DIR=${VIRTUAL_DIR}
71
- ENV WEB_SERVER_TYPE=2
72
- ENV LICENSE_TICKET_ID=${LICENSE_TICKET_ID}
73
- ENV PATH_TO_SERVICE_FILES_DIRECTORY=${PATH_TO_SERVICE_FILES_DIRECTORY}
74
- ENV RESTART_WEB_SERVER=1
75
- ENV CERT_DIR=${CERT_DIR}
76
- ENV CERT_KEY_NAME=${CERT_KEY_NAME}
77
- ENV CERT_FILE_NAME=${CERT_FILE_NAME}
78
- ENV DICTIONARIES_DIR=${DICTIONARIES_DIR}
79
- ENV CUSTOM_DICTIONARIES_DIR=${CUSTOM_DICTIONARIES_DIR}
80
- ENV USER_DICTIONARIES_DIR=${USER_DICTIONARIES_DIR}
81
- ENV STYLE_GUIDE_DIR=${STYLE_GUIDE_DIR}
82
- ENV SIZE=0
83
-
84
- ENV ENABLE_PROXY=${ENABLE_PROXY}
85
- ENV PROXY_HOST=${PROXY_HOST}
86
- ENV PROXY_PORT=${PROXY_PORT}
87
- ENV PROXY_USER_NAME=${PROXY_USER_NAME}
88
- ENV PROXY_PASSWORD=${PROXY_PASSWORD}
59
+ ARG WPR_ACCESS_KEY
60
+
61
+ ENV WPR_CONFIG_USE_ENV=true
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}
71
+ ENV WPR_WEB_SERVER_TYPE=2
72
+ ENV WPR_LICENSE_TICKET_ID=${WPR_LICENSE_TICKET_ID}
73
+ ENV WPR_PATH_TO_SERVICE_FILES_DIRECTORY=${WPR_PATH_TO_SERVICE_FILES_DIRECTORY}
74
+ ENV WPR_RESTART_WEB_SERVER=1
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}
82
+
83
+ # The log size must be set to 0 for Docker.
84
+ ENV WPR_SIZE=0
85
+
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}
89
91
90
92
# Database for collecting statistics
91
- ENV ENABLE_DATABASE_PROVIDER =false
92
- ENV DATABASE_HOST =''
93
- ENV DATABASE_PORT =3306
94
- ENV DATABASE_SCHEMA =''
95
- ENV DATABASE_USER =''
96
- ENV DATABASE_PASSWORD =''
97
- ENV ENABLE_REQUEST_STATISTIC =false
98
- ENV REQUEST_STATISTIC_DATA_TYPE =DATABASE
99
- ENV ENABLE_USER_ACTION_STATISTIC =false
100
- ENV ENABLE_REQUEST_VALIDATION =false
101
-
102
- ENV ACCESS_KEY =${ACCESS_KEY }
93
+ ENV WPR_ENABLE_DATABASE_PROVIDER =false
94
+ ENV WPR_DATABASE_HOST =''
95
+ ENV WPR_DATABASE_PORT =3306
96
+ ENV WPR_DATABASE_SCHEMA =''
97
+ ENV WPR_DATABASE_USER =''
98
+ ENV WPR_DATABASE_PASSWORD =''
99
+ ENV WPR_ENABLE_REQUEST_STATISTIC =false
100
+ ENV WPR_REQUEST_STATISTIC_DATA_TYPE =DATABASE
101
+ ENV WPR_ENABLE_USER_ACTION_STATISTIC =false
102
+ ENV WPR_ENABLE_REQUEST_VALIDATION =false
103
+
104
+ ENV WPR_ACCESS_KEY =${WPR_ACCESS_KEY }
103
105
104
106
RUN apt-get update && \
105
107
apt-get upgrade -y perl && \
@@ -110,48 +112,48 @@ RUN apt-get update && \
110
112
rm -rf /var/log/nginx/* && \
111
113
ln -sf /dev/stderr /var/log/nginx/error.log
112
114
113
- 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
114
116
115
- RUN mkdir -p $CUSTOM_DICTIONARIES_DIR \
116
- $USER_DICTIONARIES_DIR \
117
- $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 \
118
120
/var/run/nginx
119
121
120
- COPY $FILES_DIR/$APP_NAME_MASK $DEPLOYMENT_DIR /
121
- 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) && \
122
124
[ -z "$PACKAGE_FILE" ] && exit 1 || \
123
125
echo "Using package file: $PACKAGE_FILE" && \
124
- tar -xvf $PACKAGE_FILE -C $DEPLOYMENT_DIR / && \
125
- perl $APP_ROOT_DIR */automated_install.pl || exit 1 && \
126
- rm -rf $APP_ROOT_DIR * $DEPLOYMENT_DIR/$APP_NAME_MASK && \
127
- mkdir -p $APP_SERVER_DIR /Logs && \
128
- cp -r $APP_SERVER_DIR /Logs $APP_SERVER_DIR /Build_Logs && \
129
- rm -rf $APP_SERVER_DIR /Logs/* && \
130
- ln -s /dev/stdout $APP_SERVER_DIR /Logs/Main.log && \
131
- ln -s /dev/stdout $APP_SERVER_DIR /Logs/Child-0.log && \
132
- ln -s /dev/stdout $APP_SERVER_DIR /Logs/Child-1.log && \
133
- ln -s /dev/stdout $APP_SERVER_DIR /Logs/Action.log && \
134
- chown -R ${USER_ID }:${GROUP_ID } $PATH_TO_SERVICE_FILES_DIRECTORY /WebSpellChecker $DICTIONARIES_DIR $APP_SERVER_DIR
135
-
136
- COPY $FILES_DIR /certificate/$CERT_KEY_NAME $CERT_DIR/$CERT_KEY_NAME
137
- COPY $FILES_DIR /certificate/$CERT_FILE_NAME $CERT_DIR/$CERT_FILE_NAME
138
- COPY $FILES_DIR /configure* $APP_SERVER_DIR /
139
- COPY $FILES_DIR /startService.sh $APP_SERVER_DIR
140
- RUN chown ${USER_ID }:${GROUP_ID } $APP_SERVER_DIR /startService.sh && \
141
- chown ${USER_ID }:${GROUP_ID } $APP_SERVER_DIR /configureFiles.pl && \
142
- chown ${USER_ID }:${GROUP_ID } $APP_SERVER_DIR /configureWebServer.pl && \
143
- chmod +x $APP_SERVER_DIR /startService.sh
144
-
145
- 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 \
146
148
/usr/sbin/nginx \
147
149
/var/lib/nginx \
148
150
/var/run/nginx \
149
151
/etc/nginx
150
152
151
153
RUN apt-get remove -y wget && apt-get autoremove -y
152
154
153
- USER $USER_NAME
155
+ USER $WPR_USER_NAME
154
156
155
- WORKDIR $APP_SERVER_DIR
157
+ WORKDIR $WPR_APP_SERVER_DIR
156
158
157
- ENTRYPOINT sh ${APP_SERVER_DIR }/startService.sh
159
+ ENTRYPOINT [ "sh" , "-c" , "${WPR_APP_SERVER_DIR }/startService.sh" ]
0 commit comments