# 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