#Source: Tutorial topic ##Edited by: Tom Nguyen
A. This step is used to build project from zero, if you clone my git repository, so skip this and move to Section B "Run project after cloning git repository":
-
docker build -t tmm_composer -f ./docker/composer/composer.dockerfile ./docker/composer
-
docker run --rm -it -v $(pwd)/web:/srv/app/web/ tmm_composer:latest /root/.composer/vendor/bin/laravel new app
-
sudo chown -R thang:thang web/
-
Change variable in .env and app.php file in app folder
-
docker run --rm --name tmm_composer -v $(pwd)/web/app:/srv/app/web tmm_composer:latest composer install
-
sudo chown www-data:thang -R web/app/storage/
sudo chown www-data:thang -R web/app/bootstrap/cache/
- This will let you do some changes in storage or bootstrap cache folder when pull new code from remote branch:
find ./web/app/storage/ -type d -exec chmod 775 {} \; # Change directory permissions rwxr-xr-x
find ./web/app/bootstrap/cache/ -type f -exec chmod 644 {} \; # Change file permissions rw-r--r--
- This will let you do some changes in storage or bootstrap cache folder when pull new code from remote branch:
-
docker-compose up -d
homepage: https://localhost:8443
phpmyadmin: https://localhost:8081
-
docker build -t tmm_composer -f ./docker/composer/composer.dockerfile ./docker/composer
-
sudo chown -R thang:thang web/
-
- Moving into App folder, run this command below to create .env from .env.example file *
cp -r .env.example .env
- Moving into App folder, run this command below to create .env from .env.example file *
-
docker run --rm --name tmm_composer -v $(pwd)/web/app:/srv/app/web tmm_composer:latest composer update
-
sudo chown www-data:thang -R web/app/storage/
sudo chown www-data:thang -R web/app/bootstrap/cache/
- This will let you do some changes in storage or bootstrap cache folder when pull new code from remote branch:
find ./web/app/storage/ -type d -exec chmod 775 {} \; # Change directory permissions rwxr-xr-x
find ./web/app/bootstrap/cache/ -type f -exec chmod 644 {} \; # Change file permissions rw-r--r--
- This will let you do some changes in storage or bootstrap cache folder when pull new code from remote branch:
-
docker-compose up -d
-
php artisan migrate
homepage: https://localhost:8443
phpmyadmin: http://localhost:8444
- Access App container:
docker-compose exec app bash
- create user:
php artisan tinker
DB::table('users')->insert(['username'=>'admin','firstname'=>'thang','lastname'=>'nguyen','fullname'=>'thangnguyen','email'=>'[email protected]','password'=>Hash::make('123456')])
- create client:
php artisan passport:install
- Import some default info:
php artisan db:seed CLASS_NAME
- Update composer:
- Remove current composer image
- Edit docker/composer.dockerfile
- Build new composer image:
docker build -t tmm_composer -f ./docker/composer/composer.dockerfile ./docker/composer
- Update vendor:
docker run --rm --name tmm_composer -v $(pwd)/web/app:/srv/app/web tmm_composer:latest composer update
- Install new package from composer (Please make sure that you add package config into app.php file manually):
docker run --rm --name tmm_composer -v $(pwd)/web/app:/srv/app/web tmm_composer:latest composer require <your package name>
- Add class path of the package to config/app.php