Mercurial > project_setup
view make_project.sh @ 1:020360df540e default tip
modifications to the setup script
| author | luka |
|---|---|
| date | Thu, 05 Nov 2026 17:22:37 -0500 |
| parents | 301eada339a3 |
| children |
line wrap: on
line source
#!/usr/bin/env bash DIRECTORY=${1:-} CURRENT_USER=$(logname) WEB_USER=http if [[ -z "$DIRECTORY" ]]; then echo "A directory is required" exit 0 fi echo "Creating Project based from laravel/laravel at $DIRECTORY." mkdir -p ${DIRECTORY} composer create-project laravel/laravel ${DIRECTORY} cd ${DIRECTORY} echo Adding repos to composer. repositories=("magicforger" "framework" "auth" "developer") base_path="https://repo.lukasitas.ca/packages" for repo in "${repositories[@]}"; do composer config repositories.wizard.$repo hg $base_path/$repo done echo Setting base dependencies. composer require --dev wizard/magicforger:"dev-ls_dev_2025_09" wizard/developer:"dev-default" composer require wizard/framework:"dev-default" wizard/auth:"dev-default" echo Setting up packages php artisan auth:install php artisan vendor:publish --provider="Wizard\\Framework\\FrameworkServiceProvider" --force php artisan vendor:publish --provider="Wizard\Development\DevelopmentServiceProvider" --force echo Running NPM. npm install npm install -D sass-embedded npm run build echo Removing all .gitignore files. find . -type f -name ".gitignore" ! -path "./vendor/*" -delete echo Setting file ownership and permissions. touch storage/logs/laravel.log sudo chown $CURRENT_USER:$WEB_USER -R ./* sudo chown $CURRENT_USER:$WEB_USER -R ./.* chmod 775 -R storage # Make a mariadb for the app DB_NAME="${DIRECTORY}" DB_USER="${DB_NAME}_user" DB_PASS="${DB_NAME}_pass" # Create the database sudo mariadb -u root -p -e "CREATE DATABASE ${DB_NAME};" # Make a db user and password sudo mariadb -u root -p -e "CREATE USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}';" sudo mariadb -u root -p -e "GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';" sudo mariadb -u root -p -e "FLUSH PRIVILEGES;" # Update the .env for this info echo "DB in .env" sed -i "s/DB_CONNECTION=.*/DB_CONNECTION=mariadb/" .env sed -i "s/# DB_/DB_/" .env sed -i "s/DB_DATABASE=.*/DB_DATABASE=${DB_NAME}/" .env sed -i "s/DB_USERNAME=.*/DB_USERNAME=${DB_USER}/" .env sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=${DB_PASS}/" .env sed -i "s/SESSION_DRIVER=.*/SESSION_DRIVER=database/" .env # Remove un-necessary variables echo "Removal .env" sed -i '/^REDIS_/d' .env sed -i '/^AWS_/d' .env php artisan config:clear php artisan config:cache php artisan migrate:fresh hg init hg addremove hg commit -m"Initial Commit and package setup"
