Commit aabc22d7d2101d0a89908c02eb6e169a9066a02f
Committed by
GitHub
1 parent
d68ef233
Non root docker user (#2460)
* Non root docker user * Fixes for user - signle user for all services * Base image changed * Fixes for pvc removal * Moved to be in sync with PE * Changed to TB repository
Showing
45 changed files
with
113 additions
and
58 deletions
@@ -2,8 +2,8 @@ | @@ -2,8 +2,8 @@ | ||
2 | 2 | ||
3 | set -e | 3 | set -e |
4 | 4 | ||
5 | -chown -R ${pkg.name}: ${pkg.logFolder} | ||
6 | -chown -R ${pkg.name}: ${pkg.installFolder} | 5 | +chown -R ${pkg.user}: ${pkg.logFolder} |
6 | +chown -R ${pkg.user}: ${pkg.installFolder} | ||
7 | systemctl --no-reload enable ${pkg.name}.service >/dev/null 2>&1 || : | 7 | systemctl --no-reload enable ${pkg.name}.service >/dev/null 2>&1 || : |
8 | 8 | ||
9 | exit 0 | 9 | exit 0 |
@@ -2,21 +2,21 @@ | @@ -2,21 +2,21 @@ | ||
2 | 2 | ||
3 | set -e | 3 | set -e |
4 | 4 | ||
5 | -if ! getent group ${pkg.name} >/dev/null; then | ||
6 | - addgroup --system ${pkg.name} | 5 | +if ! getent group ${pkg.user} >/dev/null; then |
6 | + addgroup --system ${pkg.user} | ||
7 | fi | 7 | fi |
8 | 8 | ||
9 | -if ! getent passwd ${pkg.name} >/dev/null; then | 9 | +if ! getent passwd ${pkg.user} >/dev/null; then |
10 | adduser --quiet \ | 10 | adduser --quiet \ |
11 | --system \ | 11 | --system \ |
12 | - --ingroup ${pkg.name} \ | 12 | + --ingroup ${pkg.user} \ |
13 | --quiet \ | 13 | --quiet \ |
14 | --disabled-login \ | 14 | --disabled-login \ |
15 | --disabled-password \ | 15 | --disabled-password \ |
16 | --home ${pkg.installFolder} \ | 16 | --home ${pkg.installFolder} \ |
17 | --no-create-home \ | 17 | --no-create-home \ |
18 | -gecos "Thingsboard application" \ | 18 | -gecos "Thingsboard application" \ |
19 | - ${pkg.name} | 19 | + ${pkg.user} |
20 | fi | 20 | fi |
21 | 21 | ||
22 | exit 0 | 22 | exit 0 |
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | -chown -R ${pkg.name}: ${pkg.logFolder} | ||
4 | -chown -R ${pkg.name}: ${pkg.installFolder} | 3 | +chown -R ${pkg.user}: ${pkg.logFolder} |
4 | +chown -R ${pkg.user}: ${pkg.installFolder} | ||
5 | 5 | ||
6 | if [ $1 -eq 1 ] ; then | 6 | if [ $1 -eq 1 ] ; then |
7 | # Initial installation | 7 | # Initial installation |
@@ -3,7 +3,7 @@ Description=${pkg.name} | @@ -3,7 +3,7 @@ Description=${pkg.name} | ||
3 | After=syslog.target | 3 | After=syslog.target |
4 | 4 | ||
5 | [Service] | 5 | [Service] |
6 | -User=${pkg.name} | 6 | +User=${pkg.user} |
7 | ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar | 7 | ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar |
8 | SuccessExitStatus=143 | 8 | SuccessExitStatus=143 |
9 | 9 |
@@ -44,7 +44,7 @@ installDir=${pkg.installFolder}/data | @@ -44,7 +44,7 @@ installDir=${pkg.installFolder}/data | ||
44 | 44 | ||
45 | source "${CONF_FOLDER}/${configfile}" | 45 | source "${CONF_FOLDER}/${configfile}" |
46 | 46 | ||
47 | -run_user=${pkg.name} | 47 | +run_user=${pkg.user} |
48 | 48 | ||
49 | su -s /bin/sh -c "java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.ThingsboardInstallApplication \ | 49 | su -s /bin/sh -c "java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.ThingsboardInstallApplication \ |
50 | -Dinstall.data_dir=${installDir} \ | 50 | -Dinstall.data_dir=${installDir} \ |
@@ -43,7 +43,7 @@ installDir=${pkg.installFolder}/data | @@ -43,7 +43,7 @@ installDir=${pkg.installFolder}/data | ||
43 | 43 | ||
44 | source "${CONF_FOLDER}/${configfile}" | 44 | source "${CONF_FOLDER}/${configfile}" |
45 | 45 | ||
46 | -run_user=${pkg.name} | 46 | +run_user=${pkg.user} |
47 | 47 | ||
48 | su -s /bin/sh -c "java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.ThingsboardInstallApplication \ | 48 | su -s /bin/sh -c "java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.ThingsboardInstallApplication \ |
49 | -Dinstall.data_dir=${installDir} \ | 49 | -Dinstall.data_dir=${installDir} \ |
@@ -17,6 +17,13 @@ In order to set database type change the value of `DATABASE` variable in `.env` | @@ -17,6 +17,13 @@ In order to set database type change the value of `DATABASE` variable in `.env` | ||
17 | 17 | ||
18 | **NOTE**: According to the database type corresponding docker service will be deployed (see `docker-compose.postgres.yml`, `docker-compose.cassandra.yml` for details). | 18 | **NOTE**: According to the database type corresponding docker service will be deployed (see `docker-compose.postgres.yml`, `docker-compose.cassandra.yml` for details). |
19 | 19 | ||
20 | +Execute the following command to create log folders for the services and chown of these folders to the docker container users. | ||
21 | +To be able to change user, **chown** command is used, which requires sudo permissions (script will request password for a sudo access): | ||
22 | + | ||
23 | +` | ||
24 | +$ ./docker-create-log-folders.sh | ||
25 | +` | ||
26 | + | ||
20 | Execute the following command to run installation: | 27 | Execute the following command to run installation: |
21 | 28 | ||
22 | ` | 29 | ` |
docker/docker-create-log-folders.sh
0 → 100755
1 | +#!/bin/bash | ||
2 | +# | ||
3 | +# Copyright © 2016-2020 The Thingsboard Authors | ||
4 | +# | ||
5 | +# Licensed under the Apache License, Version 2.0 (the "License"); | ||
6 | +# you may not use this file except in compliance with the License. | ||
7 | +# You may obtain a copy of the License at | ||
8 | +# | ||
9 | +# http://www.apache.org/licenses/LICENSE-2.0 | ||
10 | +# | ||
11 | +# Unless required by applicable law or agreed to in writing, software | ||
12 | +# distributed under the License is distributed on an "AS IS" BASIS, | ||
13 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
14 | +# See the License for the specific language governing permissions and | ||
15 | +# limitations under the License. | ||
16 | +# | ||
17 | + | ||
18 | +mkdir -p tb-node/log/ && sudo chown -R 799:799 tb-node/log/ | ||
19 | + | ||
20 | +mkdir -p tb-transports/coap/log && sudo chown -R 799:799 tb-transports/coap/log | ||
21 | + | ||
22 | +mkdir -p tb-transports/http/log && sudo chown -R 799:799 tb-transports/http/log | ||
23 | + | ||
24 | +mkdir -p tb-transports/mqtt/log && sudo chown -R 799:799 tb-transports/mqtt/log |
@@ -39,5 +39,5 @@ spec: | @@ -39,5 +39,5 @@ spec: | ||
39 | volumeMounts: | 39 | volumeMounts: |
40 | - mountPath: /config | 40 | - mountPath: /config |
41 | name: tb-node-config | 41 | name: tb-node-config |
42 | - command: ['sh', '-c', 'while [ ! -f /install-finished ]; do sleep 2; done;'] | 42 | + command: ['sh', '-c', 'while [ ! -f /tmp/install-finished ]; do sleep 2; done;'] |
43 | restartPolicy: Never | 43 | restartPolicy: Never |
@@ -15,4 +15,6 @@ | @@ -15,4 +15,6 @@ | ||
15 | # limitations under the License. | 15 | # limitations under the License. |
16 | # | 16 | # |
17 | 17 | ||
18 | -kubectl -n thingsboard delete svc,sts,deploy,pv,pvc,cm,po,ing --all | 18 | +kubectl -n thingsboard delete svc,sts,deploy,cm,po,ing --all |
19 | + | ||
20 | +kubectl -n thingsboard get pvc --no-headers=true | awk '//{print $1}' | xargs kubectl -n thingsboard delete --ignore-not-found=true pvc |
@@ -22,7 +22,7 @@ function installTb() { | @@ -22,7 +22,7 @@ function installTb() { | ||
22 | kubectl apply -f tb-node-configmap.yml | 22 | kubectl apply -f tb-node-configmap.yml |
23 | kubectl apply -f database-setup.yml && | 23 | kubectl apply -f database-setup.yml && |
24 | kubectl wait --for=condition=Ready pod/tb-db-setup --timeout=120s && | 24 | kubectl wait --for=condition=Ready pod/tb-db-setup --timeout=120s && |
25 | - kubectl exec tb-db-setup -- sh -c 'export INSTALL_TB=true; export LOAD_DEMO='"$loadDemo"'; start-tb-node.sh; touch /install-finished;' | 25 | + kubectl exec tb-db-setup -- sh -c 'export INSTALL_TB=true; export LOAD_DEMO='"$loadDemo"'; start-tb-node.sh; touch /tmp/install-finished;' |
26 | 26 | ||
27 | kubectl delete pod tb-db-setup | 27 | kubectl delete pod tb-db-setup |
28 | 28 |
@@ -38,6 +38,6 @@ fi | @@ -38,6 +38,6 @@ fi | ||
38 | 38 | ||
39 | kubectl apply -f database-setup.yml && | 39 | kubectl apply -f database-setup.yml && |
40 | kubectl wait --for=condition=Ready pod/tb-db-setup --timeout=120s && | 40 | kubectl wait --for=condition=Ready pod/tb-db-setup --timeout=120s && |
41 | -kubectl exec tb-db-setup -- sh -c 'export UPGRADE_TB=true; export FROM_VERSION='"$fromVersion"'; start-tb-node.sh; touch /install-finished;' | 41 | +kubectl exec tb-db-setup -- sh -c 'export UPGRADE_TB=true; export FROM_VERSION='"$fromVersion"'; start-tb-node.sh; touch /tmp/install-finished;' |
42 | 42 | ||
43 | kubectl delete pod tb-db-setup | 43 | kubectl delete pod tb-db-setup |
@@ -58,6 +58,8 @@ spec: | @@ -58,6 +58,8 @@ spec: | ||
58 | env: | 58 | env: |
59 | - name: POSTGRES_DB | 59 | - name: POSTGRES_DB |
60 | value: "thingsboard" | 60 | value: "thingsboard" |
61 | + - name: POSTGRES_PASSWORD | ||
62 | + value: "postgres" | ||
61 | - name: PGDATA | 63 | - name: PGDATA |
62 | value: /var/lib/postgresql/data/pgdata | 64 | value: /var/lib/postgresql/data/pgdata |
63 | volumeMounts: | 65 | volumeMounts: |
@@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
14 | # limitations under the License. | 14 | # limitations under the License. |
15 | # | 15 | # |
16 | 16 | ||
17 | -FROM debian:stretch | 17 | +FROM thingsboard/base |
18 | 18 | ||
19 | COPY start-js-executor.sh ${pkg.name}.deb /tmp/ | 19 | COPY start-js-executor.sh ${pkg.name}.deb /tmp/ |
20 | 20 | ||
@@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb | @@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb | ||
25 | 25 | ||
26 | RUN update-rc.d ${pkg.name} disable | 26 | RUN update-rc.d ${pkg.name} disable |
27 | 27 | ||
28 | +USER ${pkg.user} | ||
29 | + | ||
28 | CMD ["start-js-executor.sh"] | 30 | CMD ["start-js-executor.sh"] |
@@ -36,7 +36,6 @@ | @@ -36,7 +36,6 @@ | ||
36 | <main.dir>${basedir}/../..</main.dir> | 36 | <main.dir>${basedir}/../..</main.dir> |
37 | <pkg.name>tb-js-executor</pkg.name> | 37 | <pkg.name>tb-js-executor</pkg.name> |
38 | <docker.name>tb-js-executor</docker.name> | 38 | <docker.name>tb-js-executor</docker.name> |
39 | - <pkg.user>thingsboard</pkg.user> | ||
40 | <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> | 39 | <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> |
41 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | 40 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> |
42 | <pkg.linux.dist>${project.build.directory}/package/linux</pkg.linux.dist> | 41 | <pkg.linux.dist>${project.build.directory}/package/linux</pkg.linux.dist> |
@@ -25,4 +25,8 @@ RUN dpkg -i /tmp/${pkg.name}.deb | @@ -25,4 +25,8 @@ RUN dpkg -i /tmp/${pkg.name}.deb | ||
25 | 25 | ||
26 | RUN systemctl --no-reload disable --now ${pkg.name}.service > /dev/null 2>&1 || : | 26 | RUN systemctl --no-reload disable --now ${pkg.name}.service > /dev/null 2>&1 || : |
27 | 27 | ||
28 | +RUN chown -R ${pkg.user}:${pkg.user} /tmp | ||
29 | + | ||
30 | +USER ${pkg.user} | ||
31 | + | ||
28 | CMD ["start-tb-node.sh"] | 32 | CMD ["start-tb-node.sh"] |
@@ -18,12 +18,14 @@ | @@ -18,12 +18,14 @@ | ||
18 | CONF_FOLDER="/config" | 18 | CONF_FOLDER="/config" |
19 | jarfile=${pkg.installFolder}/bin/${pkg.name}.jar | 19 | jarfile=${pkg.installFolder}/bin/${pkg.name}.jar |
20 | configfile=${pkg.name}.conf | 20 | configfile=${pkg.name}.conf |
21 | -run_user=${pkg.name} | 21 | +run_user=${pkg.user} |
22 | 22 | ||
23 | source "${CONF_FOLDER}/${configfile}" | 23 | source "${CONF_FOLDER}/${configfile}" |
24 | 24 | ||
25 | export LOADER_PATH=/config,${LOADER_PATH} | 25 | export LOADER_PATH=/config,${LOADER_PATH} |
26 | 26 | ||
27 | +cd ${pkg.installFolder}/bin | ||
28 | + | ||
27 | if [ "$INSTALL_TB" == "true" ]; then | 29 | if [ "$INSTALL_TB" == "true" ]; then |
28 | 30 | ||
29 | if [ "$LOAD_DEMO" == "true" ]; then | 31 | if [ "$LOAD_DEMO" == "true" ]; then |
@@ -36,7 +36,6 @@ | @@ -36,7 +36,6 @@ | ||
36 | <main.dir>${basedir}/../..</main.dir> | 36 | <main.dir>${basedir}/../..</main.dir> |
37 | <pkg.name>thingsboard</pkg.name> | 37 | <pkg.name>thingsboard</pkg.name> |
38 | <docker.name>tb-node</docker.name> | 38 | <docker.name>tb-node</docker.name> |
39 | - <pkg.user>thingsboard</pkg.user> | ||
40 | <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> | 39 | <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> |
41 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | 40 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> |
42 | </properties> | 41 | </properties> |
@@ -38,7 +38,6 @@ | @@ -38,7 +38,6 @@ | ||
38 | <tb.docker.name>tb</tb.docker.name> | 38 | <tb.docker.name>tb</tb.docker.name> |
39 | <tb-postgres.docker.name>tb-postgres</tb-postgres.docker.name> | 39 | <tb-postgres.docker.name>tb-postgres</tb-postgres.docker.name> |
40 | <tb-cassandra.docker.name>tb-cassandra</tb-cassandra.docker.name> | 40 | <tb-cassandra.docker.name>tb-cassandra</tb-cassandra.docker.name> |
41 | - <pkg.user>thingsboard</pkg.user> | ||
42 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | 41 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> |
43 | <pkg.upgradeVersion>2.4.2</pkg.upgradeVersion> | 42 | <pkg.upgradeVersion>2.4.2</pkg.upgradeVersion> |
44 | </properties> | 43 | </properties> |
@@ -25,6 +25,8 @@ export LOADER_PATH=/config,${LOADER_PATH} | @@ -25,6 +25,8 @@ export LOADER_PATH=/config,${LOADER_PATH} | ||
25 | 25 | ||
26 | echo "Starting '${project.name}' ..." | 26 | echo "Starting '${project.name}' ..." |
27 | 27 | ||
28 | +cd ${pkg.installFolder}/bin | ||
29 | + | ||
28 | exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.coap.ThingsboardCoapTransportApplication \ | 30 | exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.coap.ThingsboardCoapTransportApplication \ |
29 | -Dspring.jpa.hibernate.ddl-auto=none \ | 31 | -Dspring.jpa.hibernate.ddl-auto=none \ |
30 | -Dlogging.config=/config/logback.xml \ | 32 | -Dlogging.config=/config/logback.xml \ |
@@ -36,7 +36,6 @@ | @@ -36,7 +36,6 @@ | ||
36 | <main.dir>${basedir}/../../..</main.dir> | 36 | <main.dir>${basedir}/../../..</main.dir> |
37 | <pkg.name>tb-coap-transport</pkg.name> | 37 | <pkg.name>tb-coap-transport</pkg.name> |
38 | <docker.name>tb-coap-transport</docker.name> | 38 | <docker.name>tb-coap-transport</docker.name> |
39 | - <pkg.user>thingsboard</pkg.user> | ||
40 | <pkg.logFolder>/var/log/${pkg.name}</pkg.logFolder> | 39 | <pkg.logFolder>/var/log/${pkg.name}</pkg.logFolder> |
41 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | 40 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> |
42 | </properties> | 41 | </properties> |
@@ -25,6 +25,8 @@ export LOADER_PATH=/config,${LOADER_PATH} | @@ -25,6 +25,8 @@ export LOADER_PATH=/config,${LOADER_PATH} | ||
25 | 25 | ||
26 | echo "Starting '${project.name}' ..." | 26 | echo "Starting '${project.name}' ..." |
27 | 27 | ||
28 | +cd ${pkg.installFolder}/bin | ||
29 | + | ||
28 | exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.http.ThingsboardHttpTransportApplication \ | 30 | exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.http.ThingsboardHttpTransportApplication \ |
29 | -Dspring.jpa.hibernate.ddl-auto=none \ | 31 | -Dspring.jpa.hibernate.ddl-auto=none \ |
30 | -Dlogging.config=/config/logback.xml \ | 32 | -Dlogging.config=/config/logback.xml \ |
@@ -36,7 +36,6 @@ | @@ -36,7 +36,6 @@ | ||
36 | <main.dir>${basedir}/../../..</main.dir> | 36 | <main.dir>${basedir}/../../..</main.dir> |
37 | <pkg.name>tb-http-transport</pkg.name> | 37 | <pkg.name>tb-http-transport</pkg.name> |
38 | <docker.name>tb-http-transport</docker.name> | 38 | <docker.name>tb-http-transport</docker.name> |
39 | - <pkg.user>thingsboard</pkg.user> | ||
40 | <pkg.logFolder>/var/log/${pkg.name}</pkg.logFolder> | 39 | <pkg.logFolder>/var/log/${pkg.name}</pkg.logFolder> |
41 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | 40 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> |
42 | </properties> | 41 | </properties> |
@@ -25,6 +25,8 @@ export LOADER_PATH=/config,${LOADER_PATH} | @@ -25,6 +25,8 @@ export LOADER_PATH=/config,${LOADER_PATH} | ||
25 | 25 | ||
26 | echo "Starting '${project.name}' ..." | 26 | echo "Starting '${project.name}' ..." |
27 | 27 | ||
28 | +cd ${pkg.installFolder}/bin | ||
29 | + | ||
28 | exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.mqtt.ThingsboardMqttTransportApplication \ | 30 | exec java -cp ${jarfile} $JAVA_OPTS -Dloader.main=org.thingsboard.server.mqtt.ThingsboardMqttTransportApplication \ |
29 | -Dspring.jpa.hibernate.ddl-auto=none \ | 31 | -Dspring.jpa.hibernate.ddl-auto=none \ |
30 | -Dlogging.config=/config/logback.xml \ | 32 | -Dlogging.config=/config/logback.xml \ |
@@ -36,7 +36,6 @@ | @@ -36,7 +36,6 @@ | ||
36 | <main.dir>${basedir}/../../..</main.dir> | 36 | <main.dir>${basedir}/../../..</main.dir> |
37 | <pkg.name>tb-mqtt-transport</pkg.name> | 37 | <pkg.name>tb-mqtt-transport</pkg.name> |
38 | <docker.name>tb-mqtt-transport</docker.name> | 38 | <docker.name>tb-mqtt-transport</docker.name> |
39 | - <pkg.user>thingsboard</pkg.user> | ||
40 | <pkg.logFolder>/var/log/${pkg.name}</pkg.logFolder> | 39 | <pkg.logFolder>/var/log/${pkg.name}</pkg.logFolder> |
41 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | 40 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> |
42 | </properties> | 41 | </properties> |
@@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
14 | # limitations under the License. | 14 | # limitations under the License. |
15 | # | 15 | # |
16 | 16 | ||
17 | -FROM debian:stretch | 17 | +FROM thingsboard/base |
18 | 18 | ||
19 | COPY start-web-ui.sh ${pkg.name}.deb /tmp/ | 19 | COPY start-web-ui.sh ${pkg.name}.deb /tmp/ |
20 | 20 | ||
@@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb | @@ -25,4 +25,6 @@ RUN dpkg -i /tmp/${pkg.name}.deb | ||
25 | 25 | ||
26 | RUN update-rc.d ${pkg.name} disable | 26 | RUN update-rc.d ${pkg.name} disable |
27 | 27 | ||
28 | +USER ${pkg.user} | ||
29 | + | ||
28 | CMD ["start-web-ui.sh"] | 30 | CMD ["start-web-ui.sh"] |
@@ -36,7 +36,6 @@ | @@ -36,7 +36,6 @@ | ||
36 | <main.dir>${basedir}/../..</main.dir> | 36 | <main.dir>${basedir}/../..</main.dir> |
37 | <pkg.name>tb-web-ui</pkg.name> | 37 | <pkg.name>tb-web-ui</pkg.name> |
38 | <docker.name>tb-web-ui</docker.name> | 38 | <docker.name>tb-web-ui</docker.name> |
39 | - <pkg.user>thingsboard</pkg.user> | ||
40 | <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> | 39 | <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> |
41 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | 40 | <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> |
42 | <pkg.linux.dist>${project.build.directory}/package/linux</pkg.linux.dist> | 41 | <pkg.linux.dist>${project.build.directory}/package/linux</pkg.linux.dist> |
@@ -29,6 +29,7 @@ | @@ -29,6 +29,7 @@ | ||
29 | 29 | ||
30 | <properties> | 30 | <properties> |
31 | <main.dir>${basedir}</main.dir> | 31 | <main.dir>${basedir}</main.dir> |
32 | + <pkg.user>thingsboard</pkg.user> | ||
32 | <spring-boot.version>2.1.3.RELEASE</spring-boot.version> | 33 | <spring-boot.version>2.1.3.RELEASE</spring-boot.version> |
33 | <spring.version>5.1.5.RELEASE</spring.version> | 34 | <spring.version>5.1.5.RELEASE</spring.version> |
34 | <spring-security.version>5.1.4.RELEASE</spring-security.version> | 35 | <spring-security.version>5.1.4.RELEASE</spring-security.version> |
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | -if ! getent group ${pkg.name} >/dev/null; then | ||
4 | - addgroup --system ${pkg.name} | 3 | +if ! getent group ${pkg.user} >/dev/null; then |
4 | + addgroup --system ${pkg.user} | ||
5 | fi | 5 | fi |
6 | 6 | ||
7 | -if ! getent passwd ${pkg.name} >/dev/null; then | 7 | +if ! getent passwd ${pkg.user} >/dev/null; then |
8 | adduser --quiet \ | 8 | adduser --quiet \ |
9 | --system \ | 9 | --system \ |
10 | - --ingroup ${pkg.name} \ | 10 | + --ingroup ${pkg.user} \ |
11 | --quiet \ | 11 | --quiet \ |
12 | --disabled-login \ | 12 | --disabled-login \ |
13 | --disabled-password \ | 13 | --disabled-password \ |
14 | --home ${pkg.installFolder} \ | 14 | --home ${pkg.installFolder} \ |
15 | --no-create-home \ | 15 | --no-create-home \ |
16 | -gecos "Thingsboard application" \ | 16 | -gecos "Thingsboard application" \ |
17 | - ${pkg.name} | 17 | + ${pkg.user} |
18 | fi | 18 | fi |
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | -chown -R ${pkg.name}: ${pkg.logFolder} | ||
4 | -chown -R ${pkg.name}: ${pkg.installFolder} | 3 | +chown -R ${pkg.user}: ${pkg.logFolder} |
4 | +chown -R ${pkg.user}: ${pkg.installFolder} | ||
5 | 5 | ||
6 | if [ $1 -eq 1 ] ; then | 6 | if [ $1 -eq 1 ] ; then |
7 | # Initial installation | 7 | # Initial installation |
@@ -3,7 +3,7 @@ Description=${pkg.name} | @@ -3,7 +3,7 @@ Description=${pkg.name} | ||
3 | After=syslog.target | 3 | After=syslog.target |
4 | 4 | ||
5 | [Service] | 5 | [Service] |
6 | -User=${pkg.name} | 6 | +User=${pkg.user} |
7 | ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar | 7 | ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar |
8 | SuccessExitStatus=143 | 8 | SuccessExitStatus=143 |
9 | 9 |
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | -if ! getent group ${pkg.name} >/dev/null; then | ||
4 | - addgroup --system ${pkg.name} | 3 | +if ! getent group ${pkg.user} >/dev/null; then |
4 | + addgroup --system ${pkg.user} | ||
5 | fi | 5 | fi |
6 | 6 | ||
7 | -if ! getent passwd ${pkg.name} >/dev/null; then | 7 | +if ! getent passwd ${pkg.user} >/dev/null; then |
8 | adduser --quiet \ | 8 | adduser --quiet \ |
9 | --system \ | 9 | --system \ |
10 | - --ingroup ${pkg.name} \ | 10 | + --ingroup ${pkg.user} \ |
11 | --quiet \ | 11 | --quiet \ |
12 | --disabled-login \ | 12 | --disabled-login \ |
13 | --disabled-password \ | 13 | --disabled-password \ |
14 | --home ${pkg.installFolder} \ | 14 | --home ${pkg.installFolder} \ |
15 | --no-create-home \ | 15 | --no-create-home \ |
16 | -gecos "Thingsboard application" \ | 16 | -gecos "Thingsboard application" \ |
17 | - ${pkg.name} | 17 | + ${pkg.user} |
18 | fi | 18 | fi |
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | -chown -R ${pkg.name}: ${pkg.logFolder} | ||
4 | -chown -R ${pkg.name}: ${pkg.installFolder} | 3 | +chown -R ${pkg.user}: ${pkg.logFolder} |
4 | +chown -R ${pkg.user}: ${pkg.installFolder} | ||
5 | 5 | ||
6 | if [ $1 -eq 1 ] ; then | 6 | if [ $1 -eq 1 ] ; then |
7 | # Initial installation | 7 | # Initial installation |
@@ -3,7 +3,7 @@ Description=${pkg.name} | @@ -3,7 +3,7 @@ Description=${pkg.name} | ||
3 | After=syslog.target | 3 | After=syslog.target |
4 | 4 | ||
5 | [Service] | 5 | [Service] |
6 | -User=${pkg.name} | 6 | +User=${pkg.user} |
7 | ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar | 7 | ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar |
8 | SuccessExitStatus=143 | 8 | SuccessExitStatus=143 |
9 | 9 |
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | -if ! getent group ${pkg.name} >/dev/null; then | ||
4 | - addgroup --system ${pkg.name} | 3 | +if ! getent group ${pkg.user} >/dev/null; then |
4 | + addgroup --system ${pkg.user} | ||
5 | fi | 5 | fi |
6 | 6 | ||
7 | -if ! getent passwd ${pkg.name} >/dev/null; then | 7 | +if ! getent passwd ${pkg.user} >/dev/null; then |
8 | adduser --quiet \ | 8 | adduser --quiet \ |
9 | --system \ | 9 | --system \ |
10 | - --ingroup ${pkg.name} \ | 10 | + --ingroup ${pkg.user} \ |
11 | --quiet \ | 11 | --quiet \ |
12 | --disabled-login \ | 12 | --disabled-login \ |
13 | --disabled-password \ | 13 | --disabled-password \ |
14 | --home ${pkg.installFolder} \ | 14 | --home ${pkg.installFolder} \ |
15 | --no-create-home \ | 15 | --no-create-home \ |
16 | -gecos "Thingsboard application" \ | 16 | -gecos "Thingsboard application" \ |
17 | - ${pkg.name} | 17 | + ${pkg.user} |
18 | fi | 18 | fi |
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | -chown -R ${pkg.name}: ${pkg.logFolder} | ||
4 | -chown -R ${pkg.name}: ${pkg.installFolder} | 3 | +chown -R ${pkg.user}: ${pkg.logFolder} |
4 | +chown -R ${pkg.user}: ${pkg.installFolder} | ||
5 | 5 | ||
6 | if [ $1 -eq 1 ] ; then | 6 | if [ $1 -eq 1 ] ; then |
7 | # Initial installation | 7 | # Initial installation |
@@ -3,7 +3,7 @@ Description=${pkg.name} | @@ -3,7 +3,7 @@ Description=${pkg.name} | ||
3 | After=syslog.target | 3 | After=syslog.target |
4 | 4 | ||
5 | [Service] | 5 | [Service] |
6 | -User=${pkg.name} | 6 | +User=${pkg.user} |
7 | ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar | 7 | ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar |
8 | SuccessExitStatus=143 | 8 | SuccessExitStatus=143 |
9 | 9 |