server/gen.sh

42 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
## A simple tool go generate an sql init script
set -e
sql="init.sql"
cd priv
source ./env
# printf "testing the env sourcing Seafile host = %s\n", "$SEAFILE_MYSQL_DB_HOST"
# do not overwrite existing file
# test -f "$sql" || exit 1
[ -f "$sql" ] && printf "failed: file exists\n" && exit 1
printf "Generating sql script... "
touch "$sql"
# root
printf "CREATE USER 'root'@'localhost' IDENTIFIED BY 'local';\n" >> "$sql"
printf "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%%'\n" >> "$sql"
# Seafile
printf "CREATE USER $SEAFILE_MYSQL_DB_USER IDENTIFIED BY %s;\n" "$SEAFILE_MYSQL_DB_PASSWORD" >> "$sql"
printf "CREATE DATABASE ccnet_db;\n" >> "$sql"
printf "GRANT ALL PRIVILEGES ON ccnet_db TO $SEAFILE_MYSQL_DB_USER;\n" >> "$sql"
printf "CREATE DATABASE seafile_db;\n" >> "$sql"
printf "GRANT ALL PRIVILEGES ON seafile_db TO $SEAFILE_MYSQL_DB_USER;\n" >> "$sql"
printf "CREATE DATABASE seahub_db;\n" >> "$sql"
printf "GRANT ALL PRIVILEGES ON seahub_db TO $SEAFILE_MYSQL_DB_USER;\n" >> "$sql"
# Gitea
printf "CREATE USER $GITEA__database__USER IDENTIFIED BY %s;\n" "$GITEA__database__PASSWD" >> "$sql"
printf "CREATE DATABASE $GITEA__database__NAME;\n" >> "$sql"
printf "GRANT ALL PRIVILEGES ON $GITEA__database__NAME TO $GITEA__database__USER\n" >> "$sql"
printf "success\n"
printf "output at priv/%s\n" "$sql"