Compare commits

..

8 Commits

Author SHA1 Message Date
7d8dbbfd61 cleaned up repo 2023-12-19 13:40:45 -08:00
dfb5fa2cd8 removed env 2023-12-19 13:38:24 -08:00
dc1acafac4 fixed extra h 2023-12-19 13:31:59 -08:00
45d79b8084 Added echos for easier debugging 2023-12-19 13:30:40 -08:00
040e7783a8 Moved to bash script
we don't need this file any more as it's generated by bash script
2023-12-19 13:20:43 -08:00
ce270e5168 cleaned up install process 2023-12-19 13:17:56 -08:00
471395fba7 Fixed new project scripts 2023-12-19 13:05:01 -08:00
ae3688b166 added env generator, removed .env 2023-12-19 12:41:14 -08:00
13 changed files with 88 additions and 99 deletions

8
.env
View File

@@ -1,8 +0,0 @@
NETWORKNAME=
MYSQL_ROOT_PASSWORD=
MYSQL_USER=
MYSQL_PASSWORD=
MYSQL_DATABASE=
MYSQL_USER=
MYSQL_PASSWORD=
MYSQL_DATABASE=

50
bin/generate_env.sh Normal file
View File

@@ -0,0 +1,50 @@
#!/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."

View File

@@ -1,14 +1,15 @@
#!/bin/bash #!/bin/bash
# This Bash script initializes a new Git repository, removes existing Git info, creates a README.md with the project name, and makes an initial commit.
PROJECTNAME=$(basename "$(pwd)") PROJECTNAME=$(basename "$(pwd)")
# Remove existing Git repository information rm -rf .git # Remove existing Git repository information
rm -rf .git
# New readme for Project
rm README.md rm README.md
touch README.md touch README.md
echo "# ${PROJECTNAME}" > README.md echo "# ${PROJECTNAME}" > README.md
echo "" > README.md echo "" >> README.md
echo "Created a fresh repo for your ${PROJECTNAME} project." >> README.md echo "Created a fresh repo for your ${PROJECTNAME} project." >> README.md
# Initialize a new Git repository # Initialize a new Git repository

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
# Creates a private Git repository on Gitea using its API, adds a remote origin to the local Git repository, and pushes existing changes to the master branch.
PROJECTNAME=$(basename "$(pwd)") PROJECTNAME=$(basename "$(pwd)")

View File

@@ -6,19 +6,21 @@ if [ "$EUID" -ne 0 ]; then
exit 1 exit 1
fi fi
# Template echo "Astroid Framework (Template)"
# [GitHub](https://github.com/templaza/astroid-framework) # [GitHub](https://github.com/templaza/astroid-framework)
docker-compose exec -u www-data joomla php cli/joomla.php extension:install --url=https://github.com/templaza/astroid-framework/releases/download/v2.6.5/astroid-package-v2.6.5.Framework-Template.zip docker-compose exec -u www-data joomla php cli/joomla.php extension:install --url=https://github.com/templaza/astroid-framework/releases/download/v3.0.7/astroid-framework-3.0.7.zip
# Sitemap echo "OSMap (Sitemap)"
# [GitHub](https://github.com/joomlashack/OSMap) # [GitHub](https://github.com/joomlashack/OSMap)
docker-compose exec -u www-data joomla php cli/joomla.php extension:install --url=https://deploy.ostraining.com/client/download/free/latest-stable/com_osmap docker-compose exec -u www-data joomla php cli/joomla.php extension:install --url=https://github.com/joomlashack/OSMap/releases/download/v5.0.15/com_osmap_free_5.0.15.zip
# Comments echo "Akeeba Engage (Comments)"
# [Download page](https://www.akeeba.com/download/engage/3-2-5.html) # [Download page](https://www.akeeba.com/download/engage/3-2-5.html)
# [Github](https://github.com/akeeba/engage) # [Github](https://github.com/akeeba/engage)
docker-compose exec -u www-data joomla php cli/joomla.php extension:install --url=https://www.akeeba.com/download/engage/3-2-5/pkg-engage-3-2-5-zip.zip docker-compose exec -u www-data joomla php cli/joomla.php extension:install --url=https://www.akeeba.com/download/engage/3-3-3/pkg-engage-3-3-3-zip.zip
# Contact Form echo "Mavro Contact Form"
# [GitHub](https://github.com/mavrosxristoforos/rapid-contact) # [GitHub](https://github.com/mavrosxristoforos/rapid-contact)
docker-compose exec -u www-data joomla php cli/joomla.php extension:install --url=https://github.com/mavrosxristoforos/rapid-contact/releases/download/1.4.27/mod_rapid_contact.zip docker-compose exec -u www-data joomla php cli/joomla.php extension:install --url=https://github.com/mavrosxristoforos/rapid-contact/releases/download/1.4.37/mod_rapid_contact.zip
echo "END installing extensions"

View File

@@ -84,5 +84,8 @@ rm -f html/README.txt
rm -rf bin/inc_new_project rm -rf bin/inc_new_project
rm -rf bin/joomla_new_project.sh rm -rf bin/joomla_new_project.sh
rm -rf bin/joomla_install.sh rm -rf bin/joomla_install.sh
rm -rf bin/install_extensions.sh
rm $0
echo "Now check the results and commit them to Git" echo "Now check the results and commit them to Git"

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
# Runs the joomla cli through docker
PROJECTNAME=$(basename "$(pwd)") PROJECTNAME=$(basename "$(pwd)")

View File

@@ -1,21 +0,0 @@
#!/bin/bash
# Function to generate a random password using passgen
generate_password() {
pwgen -cnsB1v 12
}
# Get the name of the current directory (project name)
PROJECT_NAME=$(basename "$(pwd)")
MYSQL_USER="${PROJECT_NAME}_joomla_user"
MYSQL_DATABASE="${PROJECT_NAME}_joomla_db"
echo "Generated passwords:"
# Generate passwords for specific variables and print them to CLI
echo "MYSQL_ROOT_PASSWORD=$(generate_password)"
echo "MYSQL_USER=$MYSQL_USER"
echo "MYSQL_DATABASE=$MYSQL_DATABASE"
echo "MYSQL_PASSWORD=$(generate_password)"
echo "MYSQL_DATABASE=$MYSQL_DATABASE"
echo "JOOMLA_PASSWORD=$(generate_password)"

View File

@@ -1,5 +0,0 @@
# Development Directory
The development directory in this repository is specifically intended for use within the staging environment of Joomla installations.
It serves as a mount point within the Joomla installation app for easy extension installation.

View File

@@ -4,7 +4,7 @@ services:
joomla: joomla:
volumes: volumes:
- ./development:/development - ./data/development:/development
ports: ports:
- "8000:80" - "8000:80"

View File

@@ -1,7 +1,7 @@
version: '3.8' version: '3.8'
# For Staging # For Staging
# docker-compose -f docker-compose.yml -f docker-compose.staging.yml --env-file .env.staging up -d # docker-compose -f docker-compose.yml -f docker-compose.staging.yml up -d
# #
# For Production # For Production
# docker-compose up -d # docker-compose up -d

View File

@@ -1,26 +0,0 @@
# Docker
NETWORKNAME=admin_web
# MySQL
MYSQL_ROOT_PASSWORD=REPLACEME
MYSQL_USER=REPLACEME
MYSQL_PASSWORD=REPLACEME
MYSQL_DATABASE=REPLACEME
# GITEA
GITEA_API_URL=REPLACEME
ACCESS_TOKEN=REPLACEME
# Joomla
EMAIL=noreply@example.com
JOOMLA_USER="John Doe"
JOOMLA_USERNAME=admin
# Passwords must be 12 characters long (admin-password)
JOOMLA_PASSWORD=REPLACEME123
# SMTP
SMTP_USER=null
SMTP_PASS=null
SMTP_HOST='mailhog'
SMTP_SECURITY='None'
SMTP_PORT=1025

View File

@@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Placeholder</title>
</head>
<body>
<h1>Placeholder</h1>
</body>
</html>