comparison make_project.sh @ 0:301eada339a3 draft default tip

initial commit
author luka
date Fri, 24 Oct 2025 11:12:00 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:301eada339a3
1 #!/bin/bash
2
3 DIRECTORY=$1
4 CURRENT_USER=$(logname)
5 WEB_USER=http
6
7 mkdir -p ${DIRECTORY}
8
9 echo Creating Project based from laravel/laravel.
10
11 composer create-project laravel/laravel ${DIRECTORY}
12
13 cd ${DIRECTORY}
14
15 echo Adding repos to composer.
16
17
18 repositories=("magicforger" "framework" "auth" "developer")
19 base_path="/srv/http/packages"
20
21 for repo in "${repositories[@]}"; do
22 composer config repositories.wizard.$repo path $base_path/$repo
23 done
24
25 echo Setting base dependencies.
26
27 composer require --dev wizard/magicforger wizard/developer
28 composer require wizard/framework wizard/auth
29
30 echo Setting up packages
31
32 php artisan auth:install
33 php artisan vendor:publish --provider="Wizard\\Framework\\FrameworkServiceProvider" --force
34 php artisan vendor:publish --provider="Wizard\Development\DevelopmentServiceProvider" --force
35
36
37 echo Running NPM.
38
39 npm install
40 npm install -D sass-embedded
41 npm run build
42
43
44 echo Removing all .gitignore files.
45
46 find . -type f -name ".gitignore" ! -path "./vendor/*" -delete
47
48
49 echo Setting file ownership and permissions.
50 touch storage/logs/laravel.log
51
52 sudo chown $CURRENT_USER:$WEB_USER -R ./*
53 sudo chown $CURRENT_USER:$WEB_USER -R ./.*
54 chmod 775 -R storage
55
56
57 # Make a mariadb for the app
58 DB_NAME="${DIRECTORY}"
59 DB_USER="${DB_NAME}_user"
60 DB_PASS="${DB_NAME}_pass"
61
62 # Create the database
63 sudo mariadb -u root -p -e "CREATE DATABASE ${DB_NAME};"
64
65 # Make a db user and password
66 sudo mariadb -u root -p -e "CREATE USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}';"
67 sudo mariadb -u root -p -e "GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';"
68 sudo mariadb -u root -p -e "FLUSH PRIVILEGES;"
69
70 # Update the .env for this info
71 sed -i "s/DB_CONNECTION=.*/DB_CONNECTION=mariadb/" .env
72 sed -i "s/# DB_/DB_/" .env
73 sed -i "s/DB_DATABASE=.*/DB_DATABASE=${DB_NAME}/" .env
74 sed -i "s/DB_USERNAME=.*/DB_USERNAME=${DB_USER}/" .env
75 sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=${DB_PASS}/" .env
76 sed -i "s/SESSION_DRIVER=.*/SESSION_DRIVER=database/" .env
77 # Remove un-necessary variables
78 sed -i '/^REDIS_/d' .env
79 sed -i '/^AWS_/d' .env
80
81 php artisan config:clear
82 php artisan config:cache
83
84 php artisan migrate:fresh
85 hg init
86 hg addremove
87 hg commit -m"Initial Commit and package setup"