start tb-postgres with 'thingsboard' user

This commit is contained in:
viktor 2020-05-12 13:17:56 +03:00
parent b9bc280d57
commit a26dfec6fa
3 changed files with 24 additions and 11 deletions

View File

@ -20,13 +20,11 @@ RUN apt-get update
RUN apt-get install -y curl
RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main' | tee --append /etc/apt/sources.list.d/pgdg.list > /dev/null
RUN curl -L https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
ENV PG_MAJOR 11
RUN apt-get update
RUN apt-get install -y postgresql-11
RUN update-rc.d postgresql disable
RUN mkdir -p /var/log/postgres
RUN chown -R postgres:postgres /var/log/postgres
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/
RUN chmod a+x /tmp/*.sh \
@ -50,13 +48,29 @@ ENV DATABASE_TS_TYPE=sql
ENV DATABASE_ENTITIES_TYPE=sql
ENV PGDATA=/data/db
ENV PATH=$PATH:/usr/lib/postgresql/$PG_MAJOR/bin
ENV SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.PostgreSQLDialect
ENV SPRING_DRIVER_CLASS_NAME=org.postgresql.Driver
ENV SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
ENV SPRING_DATASOURCE_USERNAME=postgres
ENV SPRING_DATASOURCE_USERNAME=${pkg.user}
ENV SPRING_DATASOURCE_PASSWORD=postgres
ENV PGLOG=/var/log/postgres
RUN mkdir -p $PGLOG
RUN chown -R ${pkg.user}:${pkg.user} $PGLOG
RUN chown -R ${pkg.user}:${pkg.user} /var/run/postgresql
RUN mkdir -p /data
RUN chown -R ${pkg.user}:${pkg.user} /data
RUN chown -R ${pkg.user}:${pkg.user} /var/log/${pkg.name}
RUN chmod 555 ${pkg.installFolder}/bin/${pkg.name}.jar
USER ${pkg.user}
EXPOSE 9090
EXPOSE 1883
EXPOSE 5683/udp

View File

@ -17,16 +17,15 @@
firstlaunch=${DATA_FOLDER}/.firstlaunch
export PG_CTL=$(find /usr/lib/postgresql/ -name pg_ctl)
PG_CTL=$(find /usr/lib/postgresql/ -name pg_ctl)
if [ ! -d ${PGDATA} ]; then
mkdir -p ${PGDATA}
chown -R postgres:postgres ${PGDATA}
su postgres -c '${PG_CTL} initdb -U postgres'
${PG_CTL} initdb
fi
su postgres -c '${PG_CTL} -l /var/log/postgres/postgres.log -w start'
exec setsid nohup postgres >> ${PGLOG}/postgres.log 2>&1 &
if [ ! -f ${firstlaunch} ]; then
su postgres -c 'psql -U postgres -d postgres -c "CREATE DATABASE thingsboard"'
psql -U ${pkg.user} -d postgres -c "CREATE DATABASE thingsboard"
fi

View File

@ -15,6 +15,6 @@
# limitations under the License.
#
export PG_CTL=$(find /usr/lib/postgresql/ -name pg_ctl)
PG_CTL=$(find /usr/lib/postgresql/ -name pg_ctl)
su postgres -c '${PG_CTL} stop'
${PG_CTL} stop