]> Untitled Git - lemmy.git/blob - scripts/db-init.sh
Update CODEOWNERS (#3748)
[lemmy.git] / scripts / db-init.sh
1 #!/usr/bin/env bash
2 set -e
3
4 # Default configurations
5 username=lemmy
6 password=password
7 dbname=lemmy
8 port=5432
9
10 yes_no_prompt_invalid() {
11   echo "Invalid input. Please enter either \"y\" or \"n\"." 1>&2
12 }
13
14 print_config() {
15   echo "  database name: $dbname"
16   echo "  username: $username"
17   echo "  password: $password"
18   echo "  port: $port"
19 }
20
21 ask_for_db_config() {
22   echo "The default database configuration is:"
23   print_config
24   echo
25
26   default_config_final=0
27   default_config_valid=0
28   while [ "$default_config_valid" == 0 ]
29   do
30     read -p "Use this configuration (y/n)? " default_config
31     case "$default_config" in
32       [yY]* ) default_config_valid=1; default_config_final=1;;
33       [nN]* ) default_config_valid=1; default_config_final=0;;
34       * ) yes_no_prompt_invalid;;
35     esac
36     echo
37   done
38
39   if [ "$default_config_final" == 0 ]
40   then
41     config_ok_final=0
42     while [ "$config_ok_final" == 0 ]
43     do
44       read -p "Database name:  " dbname
45       read -p "Username:  " username
46       read -p "Password: password"
47       read -p "Port:  " port
48       #echo
49       
50       #echo "The database configuration is:"
51       #print_config
52       #echo
53       
54       config_ok_valid=0
55       while [ "$config_ok_valid" == 0 ]
56       do
57         read -p "Use this configuration (y/n)? " config_ok
58         case "$config_ok" in
59           [yY]* ) config_ok_valid=1; config_ok_final=1;;
60           [nN]* ) config_ok_valid=1; config_ok_final=0;;
61           * ) yes_no_prompt_invalid;;
62         esac
63         echo
64       done
65     done
66   fi
67 }
68
69 ask_for_db_config
70
71 psql -c "CREATE USER $username WITH PASSWORD '$password' SUPERUSER;" -U postgres
72 psql -c "CREATE DATABASE $dbname WITH OWNER $username;" -U postgres
73 export LEMMY_DATABASE_URL=postgres://$username:$password@localhost:$port/$dbname
74
75 echo "The database URL is $LEMMY_DATABASE_URL"
76