Commit a26dfec6faaffb77bb08ad0543d199f4cbab86d4
1 parent
b9bc280d
start tb-postgres with 'thingsboard' user
Showing
3 changed files
with
24 additions
and
11 deletions
@@ -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 |