49 lines
1.7 KiB
Plaintext
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
|
|
|