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

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