mattermost/README.postgresql

49 lines
1.7 KiB
Plaintext

# see:
# https://docs.mattermost.com/install/prepare-mattermost-database.html
# Postgresql
psql_db_host="localhost"
psql_db_port="5432"
psql_db_name="mattermost"
psql_db_user="mmuser"
psql_db_password='YK-m-yoi9T-p.7fm'
POSTGRES_DSN="postgres://${psql_db_user}:${psql_db_password}@${psql_db_host}:${psql_db_port}/${psql_db_name}?sslmode=disable\u0026connect_timeout=10"
pg_hba_file="/etc/postgresql/15/main/pg_hba.conf"
DEBIAN_FRONTEND=noninteractive apt install -y --allow-unauthenticated postgresql
systemctl stop postgresql
if ! $(grep -Eq "\s*^local\s+all\s+all\s+trust" "${pg_hba_file}" 2> /dev/null) ; then
perl -i.ORIG -n -p -e "s/\s*^((local\s+all\s+all\s+)\S+)/#\1\n\2trust/" "${pg_hba_file}"
fi
if ! $(grep -Eq "\s*^host\s+all\s+all\s+127\.[^[:space:]]+\s+md5" "${pg_hba_file}" 2> /dev/null) ; then
perl -i -n -p -e "s/\s*^((host\s+all\s+all\s+127\.\S+\s+)\S+)/#\1\n\2md5/" "${pg_hba_file}"
fi
if ! $(grep -Eq "\s*^host\s+all\s+all\s+::1[^[:space:]]+\s+md5" "${pg_hba_file}" 2> /dev/null) ; then
perl -i -n -p -e "s/\s*^((host\s+all\s+all\s+::1\S+\s+)\S+)/#\1\n\2md5/" "${pg_hba_file}"
fi
systemctl start postgresql
systemctl enable postgresql
echo ""
cd /tmp
sudo -u postgres psql -c "CREATE DATABASE ${psql_db_name};"
sudo -u postgres psql ${psql_db_name} -c "CREATE USER ${psql_db_user} WITH PASSWORD '${psql_db_password}';"
sudo -u postgres psql ${psql_db_name} -c "GRANT ALL PRIVILEGES ON DATABASE ${psql_db_name} to ${psql_db_user};"
sudo -u postgres psql ${psql_db_name} -c "ALTER DATABASE ${psql_db_name} OWNER TO ${psql_db_user};"
sudo -u postgres psql ${psql_db_name} -c "GRANT USAGE, CREATE ON SCHEMA PUBLIC TO ${psql_db_user};"
echo ""
exit 0