Commit a26dfec6faaffb77bb08ad0543d199f4cbab86d4

Authored by viktor
1 parent b9bc280d

start tb-postgres with 'thingsboard' user

@@ -20,13 +20,11 @@ RUN apt-get update @@ -20,13 +20,11 @@ RUN apt-get update
20 RUN apt-get install -y curl 20 RUN apt-get install -y curl
21 RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main' | tee --append /etc/apt/sources.list.d/pgdg.list > /dev/null 21 RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main' | tee --append /etc/apt/sources.list.d/pgdg.list > /dev/null
22 RUN curl -L https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - 22 RUN curl -L https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
  23 +ENV PG_MAJOR 11
23 RUN apt-get update 24 RUN apt-get update
24 RUN apt-get install -y postgresql-11 25 RUN apt-get install -y postgresql-11
25 RUN update-rc.d postgresql disable 26 RUN update-rc.d postgresql disable
26 27
27 -RUN mkdir -p /var/log/postgres  
28 -RUN chown -R postgres:postgres /var/log/postgres  
29 -  
30 COPY logback.xml ${pkg.name}.conf start-db.sh stop-db.sh start-tb.sh upgrade-tb.sh install-tb.sh ${pkg.name}.deb /tmp/ 28 COPY logback.xml ${pkg.name}.conf start-db.sh stop-db.sh start-tb.sh upgrade-tb.sh install-tb.sh ${pkg.name}.deb /tmp/
31 29
32 RUN chmod a+x /tmp/*.sh \ 30 RUN chmod a+x /tmp/*.sh \
@@ -50,13 +48,29 @@ ENV DATABASE_TS_TYPE=sql @@ -50,13 +48,29 @@ ENV DATABASE_TS_TYPE=sql
50 ENV DATABASE_ENTITIES_TYPE=sql 48 ENV DATABASE_ENTITIES_TYPE=sql
51 49
52 ENV PGDATA=/data/db 50 ENV PGDATA=/data/db
  51 +ENV PATH=$PATH:/usr/lib/postgresql/$PG_MAJOR/bin
53 52
54 ENV SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.PostgreSQLDialect 53 ENV SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.PostgreSQLDialect
55 ENV SPRING_DRIVER_CLASS_NAME=org.postgresql.Driver 54 ENV SPRING_DRIVER_CLASS_NAME=org.postgresql.Driver
56 ENV SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard 55 ENV SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
57 -ENV SPRING_DATASOURCE_USERNAME=postgres 56 +ENV SPRING_DATASOURCE_USERNAME=${pkg.user}
58 ENV SPRING_DATASOURCE_PASSWORD=postgres 57 ENV SPRING_DATASOURCE_PASSWORD=postgres
59 58
  59 +
  60 +ENV PGLOG=/var/log/postgres
  61 +RUN mkdir -p $PGLOG
  62 +RUN chown -R ${pkg.user}:${pkg.user} $PGLOG
  63 +
  64 +RUN chown -R ${pkg.user}:${pkg.user} /var/run/postgresql
  65 +
  66 +RUN mkdir -p /data
  67 +RUN chown -R ${pkg.user}:${pkg.user} /data
  68 +
  69 +RUN chown -R ${pkg.user}:${pkg.user} /var/log/${pkg.name}
  70 +RUN chmod 555 ${pkg.installFolder}/bin/${pkg.name}.jar
  71 +
  72 +USER ${pkg.user}
  73 +
60 EXPOSE 9090 74 EXPOSE 9090
61 EXPOSE 1883 75 EXPOSE 1883
62 EXPOSE 5683/udp 76 EXPOSE 5683/udp
@@ -17,16 +17,15 @@ @@ -17,16 +17,15 @@
17 17
18 firstlaunch=${DATA_FOLDER}/.firstlaunch 18 firstlaunch=${DATA_FOLDER}/.firstlaunch
19 19
20 -export PG_CTL=$(find /usr/lib/postgresql/ -name pg_ctl) 20 +PG_CTL=$(find /usr/lib/postgresql/ -name pg_ctl)
21 21
22 if [ ! -d ${PGDATA} ]; then 22 if [ ! -d ${PGDATA} ]; then
23 mkdir -p ${PGDATA} 23 mkdir -p ${PGDATA}
24 - chown -R postgres:postgres ${PGDATA}  
25 - su postgres -c '${PG_CTL} initdb -U postgres' 24 + ${PG_CTL} initdb
26 fi 25 fi
27 26
28 -su postgres -c '${PG_CTL} -l /var/log/postgres/postgres.log -w start' 27 +exec setsid nohup postgres >> ${PGLOG}/postgres.log 2>&1 &
29 28
30 if [ ! -f ${firstlaunch} ]; then 29 if [ ! -f ${firstlaunch} ]; then
31 - su postgres -c 'psql -U postgres -d postgres -c "CREATE DATABASE thingsboard"' 30 + psql -U ${pkg.user} -d postgres -c "CREATE DATABASE thingsboard"
32 fi 31 fi
@@ -15,6 +15,6 @@ @@ -15,6 +15,6 @@
15 # limitations under the License. 15 # limitations under the License.
16 # 16 #
17 17
18 -export PG_CTL=$(find /usr/lib/postgresql/ -name pg_ctl) 18 +PG_CTL=$(find /usr/lib/postgresql/ -name pg_ctl)
19 19
20 -su postgres -c '${PG_CTL} stop' 20 +${PG_CTL} stop