bigbluebutton-Github/build/packages-template/bbb-graphql-server/after-install.sh
Daniel Molkentin 4f5b773798 cleanup: use runuser instead of sudo
In a lot of place where sudo is used, it is meant to drop privileges
coming from root, instead of gaining privileges or lateral privilege
moves (e.g. postgres). This is what runuser is for, so use that.
2023-11-28 15:26:12 +00:00

55 lines
1.7 KiB
Bash
Executable File

#!/bin/bash -e
case "$1" in
configure|upgrade|1|2)
fc-cache -f
runuser -u postgres -- psql -c "alter user postgres password 'bbb_graphql'"
runuser -u postgres -- psql -c "drop database if exists bbb_graphql with (force)"
runuser -u postgres -- psql -c "create database bbb_graphql WITH TEMPLATE template0 LC_COLLATE 'C.UTF-8'"
runuser -u postgres -- psql -c "alter database bbb_graphql set timezone to 'UTC'"
runuser -u postgres -- psql -U postgres -d bbb_graphql -q -f /usr/share/bbb-graphql-server/bbb_schema.sql --set ON_ERROR_STOP=on
DATABASE_NAME="hasura_app"
DB_EXISTS=$(runuser -u postgres -- psql -U postgres -tAc "SELECT 1 FROM pg_database WHERE datname='$DATABASE_NAME'")
if [ "$DB_EXISTS" = '1' ]
then
echo "Database $DATABASE_NAME already exists"
else
runuser -u postgres -- psql -c "create database hasura_app"
echo "Database $DATABASE_NAME created"
fi
echo "Postgresql configured"
if [ ! -f /.dockerenv ]; then
systemctl enable bbb-graphql-server.service
systemctl daemon-reload
startService bbb-graphql-server || echo "bbb-graphql-server service could not be registered or started"
#Check if Hasura is ready before applying metadata
HASURA_PORT=8080
while ! netstat -tuln | grep ":$HASURA_PORT " > /dev/null; do
echo "Waiting for Hasura's port ($HASURA_PORT) to be ready..."
sleep 1
done
# Apply BBB metadata in Hasura
cd /usr/share/bbb-graphql-server
/usr/local/bin/hasura metadata apply --skip-update-check
cd ..
rm -rf /usr/share/bbb-graphql-server/metadata
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac