This commit is contained in:
Benjamin Toby
2024-12-08 20:39:44 +01:00
parent 13b67425b8
commit eb723c8195
660 changed files with 69 additions and 8256 deletions
+49 -15
View File
@@ -38,8 +38,6 @@ if [ ! -d "$ROOT_DIR" ]; then
mkdir -p "$ROOT_DIR"
fi
ADMIN_DIR=$ROOT_DIR/dsql-admin
# Function to generate a random string of a given length
generate_random_string() {
length=$1
@@ -47,10 +45,20 @@ generate_random_string() {
}
DEPLOYMENT_NAME_DEFAULT="dsql_$(generate_random_string 8)"
DEPLOYMENT_NAME="${DSQL_DEPLOYMENT_NAME:-$DEPLOYMENT_NAME_DEFAULT}"
echo "What do you want to name this deployment? (default: $DEPLOYMENT_NAME_DEFAULT). Enter an existing deployment name to update:"
read ENTERED_DEPLOYMENT_NAME
if [ -z "$ENTERED_DEPLOYMENT_NAME" ]; then
DEPLOYMENT_NAME=$DEPLOYMENT_NAME_DEFAULT
else
DEPLOYMENT_NAME=$ENTERED_DEPLOYMENT_NAME
fi
ADMIN_DIR="$ROOT_DIR/$DEPLOYMENT_NAME"
if [ ! -d "$ADMIN_DIR" ]; then
echo "Creating admin directory: $ADMIN_DIR"
echo "Creating new deployment directory: $ADMIN_DIR"
mkdir -p $ADMIN_DIR
cd $ADMIN_DIR
@@ -83,6 +91,19 @@ if [ ! -d "$ADMIN_DIR" ]; then
echo "Enter Super User Username:"
read SUPER_USER_USERNAME
echo "What is the IP address of this admin instance? (default: 172.72.0.24):"
read ADMIN_SERVER_IP
echo "Do you have an external database you want to use? If so provide the server IP address (default: 172.72.0.24):"
read DATABASE_SERVER_HOST
echo "External Database root user password (required if external database IP is set):"
read DATABASE_SERVER_ROOT_PASSWORD
echo "What local PORT would you like the admin server to run on? (default: 7070):"
read ADMIN_PORT_INPUT
echo "What local PORT would you like the static server to run on? (default: 7072):"
read STATIC_PORT_INPUT
DEFAULT_DATABASE_ROOT_PASSWORD=$(generate_random_string 48)
DEFAULT_SU_PASS=$(generate_random_string 22)
cat >.env <<EOF
@@ -94,21 +115,20 @@ NEXT_PUBLIC_DSQL_STATIC_HOST=$STATIC_HOST
DSQL_SOCKET_DOMAIN=$HOST
DSQL_HOST_ENV=prod_prod
NEXT_PUBLIC_DSQL_HOST_ENV=prod_prod
DSQL_PORT=7070
DSQL_PRODUCTION_PORT=7070
DSQL_STATIC_SERVER_PORT=7072
DSQL_PORT=${ADMIN_PORT_INPUT:-7070}
DSQL_PRODUCTION_PORT=${ADMIN_PORT_INPUT:-7070}
DSQL_STATIC_SERVER_PORT=${STATIC_PORT_INPUT:-7072}
DSQL_STATIC_SERVER_DIR=/static
DSQL_SITE_URL=
NEXT_PUBLIC_DSQL_REMOTE_SQL_HOST=172.72.0.24
DSQL_DB_TARGET_IP_ADDRESS=172.72.0.24
NEXT_PUBLIC_DSQL_REMOTE_SQL_HOST=${ADMIN_SERVER_IP:-172.72.0.24}
DSQL_DB_TARGET_IP_ADDRESS=${ADMIN_SERVER_IP:-172.72.0.24}
NEXT_PUBLIC_DSQL_LOCAL=true
DSQL_USER_DB_PREFIX=datasquirel_user_
DSQL_USER_DELEGATED_DB_COOKIE_PREFIX=datasquirelDelegatedUserDbToken_
DSQL_NETWORK_GATEWAY=172.72.0.1
DSQL_DB_HOST=172.72.0.24
DSQL_DB_HOSTNAME=datasquirel-site-database
DSQL_DB_HOST=${DATABASE_SERVER_HOST:-172.72.0.24}
DSQL_DB_USERNAME=root
DSQL_DB_PASSWORD=$(generate_random_string 48)
DSQL_DB_PASSWORD=${DATABASE_SERVER_ROOT_PASSWORD:-$DEFAULT_DATABASE_ROOT_PASSWORD}
DSQL_MARIADB_ROOT_PASSWORD=$(generate_random_string 48)
DSQL_DB_NAME=datasquirel
DSQL_DB_READ_ONLY_USERNAME=read_only
@@ -171,15 +191,29 @@ DSQL_LOCAL_SU_PASSWORD=${SUPER_USER_PASSWORD:-$DEFAULT_SU_PASS}
DSQL_CONTACT_EMAIL=${SUPER_USER_EMAIL:-user@dsql.com}
DSQL_SSL_DIR=/ssl
DSQL_DEPLOYMENT_NAME=${DEPLOYMENT_NAME}
DSQL_COOKIES_PREFIX=${DEPLOYMENT_NAME}_
DSQL_COOKIES_KEY_NAME=key
DSQL_COOKIES_CSRF_NAME=csrf
DSQL_SESSION_EXPIRY_TIME=36000000
EOF
else
cd $ADMIN_DIR/dsql-app
$DOCKER_COMPOSE_COMMAND down
cd $ADMIN_DIR
git pull
fi
cd $ADMIN_DIR/dsql-app
$DOCKER_COMPOSE_COMMAND down && $DOCKER_COMPOSE_COMMAND up -d --build
echo "All Done! Navigate to http://localhost:7070 to get started."
ENV_FILE="$ADMIN_DIR/dsql-app/.env"
if [ -f "$ENV_FILE" ]; then
. "$ENV_FILE"
echo ".env file loaded successfully."
cd $ADMIN_DIR/dsql-app
$DOCKER_COMPOSE_COMMAND up -d --build
echo "All Done! Navigate to http://localhost:${DSQL_PORT} to get started."
else
echo "Error: .env file not found at $ENV_FILE"
exit 1
fi