diff docker/pubsub/entrypoint.sh @ 3381:127dde80a0a5

docker: dockers images, first draft: This patch introduce new docker images, replacing the unmaintained ones which were in sat_docs. Images + docker-compose files are provided to use SàT backend and Libervia, but also to integrate and configure Prosody and SàT PubSub to run end-to-end tests.
author Goffi <goffi@goffi.org>
date Mon, 19 Oct 2020 09:30:45 +0200
parents
children 73e04040d577
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/pubsub/entrypoint.sh	Mon Oct 19 09:30:45 2020 +0200
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+# we first need to wait for PostgreSQL
+# cf. https://stackoverflow.com/a/39028690 (thanks!)
+
+RETRIES=5
+
+until psql -c "select 1" > /dev/null 2>&1 || [ $RETRIES -eq 0 ]; do
+  echo "Waiting for postgres server, $((RETRIES--)) remaining attempts…"
+  sleep 1
+done
+
+ori_dir=${PWD}
+cd /src/sat_pubsub/db
+
+# PG should be OK, we now initialize the database. If it's already done, it will fail
+# with exit code 3
+psql -v ON_ERROR_STOP=1 pubsub < pubsub.sql 2>/dev/null
+case $? in
+    0) printf "database initialized\n" ;;
+    3) printf "database already exists\n" ;;
+    *) printf "can't initialize database, please check PostgreSQL container parameters\n" >&2
+       exit 1
+       ;;
+esac
+
+cd $ori_dir
+
+exec /home/sat/sat_env/bin/twistd -n sat-pubsub "$@"