-#!/bin/bash
+#!/usr/bin/env bash
set -e
# Default configurations
username=lemmy
+password=password
dbname=lemmy
port=5432
print_config() {
echo " database name: $dbname"
echo " username: $username"
+ echo " password: $password"
echo " port: $port"
}
do
read -p "Database name: " dbname
read -p "Username: " username
+ read -p "Password: password"
read -p "Port: " port
#echo
fi
}
-ask_for_password() {
- password=""
- password_confirm=""
- password_valid=0
- while [ "$password_valid" == 0 ]
- do
- read -p "Enter database password: " -s password
- echo
-
- read -p "Verify database password: " -s password_confirm
- echo
- echo
-
- # Start the loop from the top if either check fails
- if [ -z "$password" ]
- then
- echo "Error: Password cannot be empty." 1>&2
- echo
- continue
- fi
- if [ "$password" != "$password_confirm" ]
- then
- echo "Error: Passwords don't match." 1>&2
- echo
- continue
- fi
-
- # Set the password_valid variable to break out of the loop
- password_valid=1
- done
-}
-
ask_for_db_config
-ask_for_password
-
psql -c "CREATE USER $username WITH PASSWORD '$password' SUPERUSER;" -U postgres
psql -c "CREATE DATABASE $dbname WITH OWNER $username;" -U postgres
export LEMMY_DATABASE_URL=postgres://$username:$password@localhost:$port/$dbname