#!/usr/bin/env bash set -e function sec_init { cat <<EOF | isql-fb security.db create or alter user SYSDBA password '$_SYSDBA_PWD'; commit; quit; EOF if [ -f /run/secrets/FB3_USER_NAME ] && [ -f /run/secrets/FB3_USER_PWD ]; then echo "Setting up Firebird user $(cat /run/secrets/FB3_USER_NAME) with 'grant create database'" cat <<EOF | isql-fb security.db create or alter user $(cat /run/secrets/FB3_USER_NAME) password '$(cat /run/secrets/FB3_USER_PWD)'; grant create database to user $(cat /run/secrets/FB3_USER_NAME); commit; quit; EOF fi } if [ -f /run/secrets/FB3_SYSDBA_PWD ]; then _SYSDBA_PWD=$(cat /run/secrets/FB3_SYSDBA_PWD) else _SYSDBA_PWD=$RANDOM$RANDOM echo "Setting SYSDBA's random password: "$_SYSDBA_PWD fi sed -i "s/^UserManager/#Tmp UserManager/" /etc/firebird/firebird.conf echo "UserManager = Legacy_UserManager" >> /etc/firebird/firebird.conf sec_init sed -i "s/UserManager = Legacy_UserManager//" /etc/firebird/firebird.conf sed -i "s/#Tmp UserManager/UserManager/" /etc/firebird/firebird.conf sec_init rm -f /var/log/firebird/firebird.log mkfifo /var/log/firebird/firebird.log tail -f /var/log/firebird/firebird.log & exec "$@"