From 29c895cda86a6d096e50e98d408296f3bf235445 Mon Sep 17 00:00:00 2001 From: Rob Casey Date: Wed, 1 May 2024 16:35:47 +1000 Subject: [PATCH] Revert mqtt-pg-logger.yaml.sample to standard postgres port (5432) Added Dockerfile for creation of mqtt-pg-logger/postgres image --- Dockerfile | 28 ++++++++++++++++++++++++++++ entrypoint.sh | 22 ++++++++++++++++++++++ mqtt-pg-logger.yaml.sample | 2 +- 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 Dockerfile create mode 100644 entrypoint.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9f76bc7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +FROM postgres:16.2-bookworm + +ENV MQTT_BROKER 127.0.0.1 +ENV POSTGRES_PASSWORD 123password + +RUN apt-get update \ + && apt-get upgrade -y \ + && apt-get install -y python3 python3-pip python3-venv \ + && rm -rf /var/lib/apt/lists/* + +RUN mkdir /mqtt-pg-logger +COPY . /mqtt-pg-logger/ +COPY sql/table.sql /docker-entrypoint-initdb.d/00_table.sql +COPY sql/convert.sql /docker-entrypoint-initdb.d/01_convert.sql +COPY sql/trigger.sql /docker-entrypoint-initdb.d/02_trigger.sql + +COPY entrypoint.sh / +RUN chmod +x /entrypoint.sh + +WORKDIR /mqtt-pg-logger +RUN python3 -m venv venv \ + && . ./venv/bin/activate \ + && pip install -r requirements.txt + +EXPOSE 5432 + +ENTRYPOINT ["/entrypoint.sh"] + diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..b07a61d --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +[ -n "${MQTT_BROKER}" ] || exit 1 + +USER=${POSTGRES_USER:-postgres} +NAME=${POSTGRES_DB:-$USER} + +cd /mqtt-pg-logger +cp mqtt-pg-logger.yaml.sample mqtt-pg-logger.yaml +chmod 600 mqtt-pg-logger.yaml +sed -i -e "s//${MQTT_BROKER}/g" \ + -e "s//${POSTGRES_PASSWORD}/g" \ + -e "s//${USER}/g" \ + -e "s//${NAME}/g" \ + mqtt-pg-logger.yaml + +docker-entrypoint.sh postgres & + +until runuser -l postgres -c 'pg_isready -q'; do sleep 1; done + +start-stop-daemon -S -x /mqtt-pg-logger/mqtt-pg-logger.sh -- --config-file /mqtt-pg-logger/mqtt-pg-logger.yaml + diff --git a/mqtt-pg-logger.yaml.sample b/mqtt-pg-logger.yaml.sample index 7aee2cc..73a9275 100644 --- a/mqtt-pg-logger.yaml.sample +++ b/mqtt-pg-logger.yaml.sample @@ -14,7 +14,7 @@ mqtt: database: host: "localhost" - port: 5435 + port: 5432 user: "" password: "" database: ""