This repository has been archived on 2024-08-26. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/bash/newProject.bash

113 lines
4.0 KiB
Bash

#!/bin/bash
################################################################################
# Nix install symfony bash script
# v1.0.0
################################################################################
echo "*** Starting New Symfony Project ***"
# check that $1 folder does not exit
[ -d "$1" ] && echo "Folder $1 already exists" && exit 1
################################################################################
# Check composer installed
################################################################################
composer -v > /dev/null 2>&1
COMPOSER=$?
if [[ $COMPOSER -ne 0 ]]; then
echo 'Composer is not installed'
echo 'Checkout how to Install Composer here: https://www.nickyeoman.com/blog/php/install-composer-on-ubuntu/'
echo 'Once installed, try running this script again'
exit 1
else
echo "Composer is installed and ready to go."
fi
################################################################################
# Symfony bin installed
################################################################################
symfony help > /dev/null 2>&1
SYMFONY=$?
if [[ $SYMFONY -ne 0 ]]; then
echo 'Symfony is not installed'
echo 'Do this: https://symfony.com/download'
exit 1
else
symfony new $1
cd $1
echo "New symfony project called $1 created."
fi
################################################################################
# Create directories
################################################################################
echo "Creating directories: sass, scripts"
mkdir -p sass scripts
################################################################################
# Twig
################################################################################
echo "Creating scaffolding Twig templates in views directory"
composer require twig
composer require nickyeoman/nytwig
mv config/packages/twig.yaml config/packages/twig.yaml.bak
wget https://git.gopo.li/nick/symfony/raw/branch/main/twig.yaml config/packages/twig.yaml
echo "Your twig.yaml config file has been replaced, remove the bak if you are happy."
################################################################################
# SASS
################################################################################
echo "Creating SASS directory for css"
composer require nickyeoman/nytwig
touch sass/$1.sass
echo '@import ../vendor/nickyeoman/sasslibrary/master.sass' > sass/$1.sass
echo "SASS installed you still need to run sass sass/$1.sass public/css/main.css"
################################################################################
# Symfony components
################################################################################
composer require symfony/process
composer require asset
composer require annotations
################################################################################
# Docker
################################################################################
# You need the following variables in your env for docker-compose
echo '' >> .env
echo '# For Docker compose' >> .env
echo 'DOCKERNAME=symfony' >> .env
echo 'DOCKERIMAGE=YOUR_NAME/YOUR_IMAGE_NAME' >> .env
echo 'DOCKERVER=latest' >> .env
echo 'DOCKERNET=DOCKER_NETWORK_NAME_FOR_PROXY' >> .env
echo 'DBHOST=mariadb' >> .env
GEN=`echo $RANDOM | md5sum | head -c 12`
echo "MYSQL_ROOT_PASSWORD=${GEN}" >> .env
GEN=`echo $RANDOM | md5sum | head -c 12`
echo "DBPASSWORD=${GEN}" >> .env
echo 'MYSQL_DATABASE=theapp' >> .env
GEN=`echo $RANDOM | md5sum | head -c 4`
echo "MYSQL_DATABASE=theuser${GEN}" >> .env
echo "Creating a docker-compose"
wget https://raw.githubusercontent.com/nickyeoman/phpframework/main/docker/docker-compose.yml
echo "Creating a Dockerfile"
wget https://raw.githubusercontent.com/nickyeoman/phpframework/main/docker/Dockerfile
################################################################################
# Instructions
################################################################################
echo "Symfony Installed"
echo "sudo docker-compose up -d"
echo "For more, go to: https://www.nickyeoman.com"