#!/usr/bin/env bash set -e # Default configurations username=lemmy password=password dbname=lemmy port=5432 yes_no_prompt_invalid() { echo "Invalid input. Please enter either \"y\" or \"n\"." 1>&2 } print_config() { echo " database name: $dbname" echo " username: $username" echo " password: $password" echo " port: $port" } ask_for_db_config() { echo "The default database configuration is:" print_config echo default_config_final=0 default_config_valid=0 while [ "$default_config_valid" == 0 ] do read -p "Use this configuration (y/n)? " default_config case "$default_config" in [yY]* ) default_config_valid=1; default_config_final=1;; [nN]* ) default_config_valid=1; default_config_final=0;; * ) yes_no_prompt_invalid;; esac echo done if [ "$default_config_final" == 0 ] then config_ok_final=0 while [ "$config_ok_final" == 0 ] do read -p "Database name: " dbname read -p "Username: " username read -p "Password: password" read -p "Port: " port #echo #echo "The database configuration is:" #print_config #echo config_ok_valid=0 while [ "$config_ok_valid" == 0 ] do read -p "Use this configuration (y/n)? " config_ok case "$config_ok" in [yY]* ) config_ok_valid=1; config_ok_final=1;; [nN]* ) config_ok_valid=1; config_ok_final=0;; * ) yes_no_prompt_invalid;; esac echo done done fi } ask_for_db_config 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 echo "The database URL is $LEMMY_DATABASE_URL"