51 lines
1.1 KiB
Bash
51 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
ENV_FILE=".env"
|
|
|
|
# Function to generate a random alphanumeric password of a given length
|
|
generate_password() {
|
|
tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c "${1:-12}"
|
|
}
|
|
|
|
# Function to prompt for a value if not set as a parameter
|
|
prompt_for_value() {
|
|
read -p "$1: " value
|
|
echo "$value"
|
|
}
|
|
|
|
# Set $PROJECTNAME if not provided as a parameter
|
|
PROJECTNAME=${1:-$(prompt_for_value "Enter PROJECTNAME")}
|
|
|
|
cat <<EOF > $ENV_FILE
|
|
# Docker
|
|
NETWORKNAME=admin_web
|
|
|
|
# MySQL
|
|
MYSQL_ROOT_PASSWORD=$(generate_password)
|
|
MYSQL_USER=u_$(echo $PROJECTNAME | tr '[:upper:]' '[:lower:]')
|
|
MYSQL_PASSWORD=$(generate_password)
|
|
MYSQL_DATABASE=db_$(echo $PROJECTNAME | tr '[:upper:]' '[:lower:]')
|
|
|
|
# GITEA
|
|
GITEA_API_URL=REPLACEME
|
|
ACCESS_TOKEN=REPLACEME
|
|
|
|
# Joomla
|
|
EMAIL=noreply@$(echo $PROJECTNAME | tr '[:upper:]' '[:lower:]').com
|
|
JOOMLA_USER="$PROJECTNAME"
|
|
JOOMLA_USERNAME=admin
|
|
# Passwords must be 12 characters long (admin-password)
|
|
JOOMLA_PASSWORD=$(generate_password)
|
|
|
|
# SMTP
|
|
SMTP_USER=null
|
|
SMTP_PASS=null
|
|
SMTP_HOST='mailhog'
|
|
SMTP_SECURITY='None'
|
|
SMTP_PORT=1025
|
|
EOF
|
|
|
|
rm $0
|
|
|
|
echo "Generated $ENV_FILE with randomly generated passwords and customized PROJECTNAME."
|