Skip to content

ThangNguyen153/tom_money_management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#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":

  1. Build image for composer:

    docker build -t tmm_composer -f ./docker/composer/composer.dockerfile ./docker/composer

  2. Run composer image to create Source Code folder ( remove container after creating successfully ):

    docker run --rm -it -v $(pwd)/web:/srv/app/web/ tmm_composer:latest /root/.composer/vendor/bin/laravel new app

  3. Change owner for APP folder in your local folder (change 'thang' user to your own user ):

    sudo chown -R thang:thang web/

  4. Change information in .env and app.php file:

    Change variable in .env and app.php file in app folder

  5. Run composer image to install vendor ( remove container after creating successfully ):

    docker run --rm --name tmm_composer -v $(pwd)/web/app:/srv/app/web tmm_composer:latest composer install

  6. Change owner for storage and bootstrap/cache/ folder in your local folder:

    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--
  7. Run project:

    docker-compose up -d

URL:

homepage: https://localhost:8443
phpmyadmin: https://localhost:8081

B. Run project after cloning git repository:

  1. Build image for composer:

    docker build -t tmm_composer -f ./docker/composer/composer.dockerfile ./docker/composer

  2. Change owner for APP folder in your local folder (change 'thang' user to your own user ):

    sudo chown -R thang:thang web/

  3. Create .env file:

    • Moving into App folder, run this command below to create .env from .env.example file *
      cp -r .env.example .env
  4. Run composer image to update vendor ( remove container after creating successfully ):

    docker run --rm --name tmm_composer -v $(pwd)/web/app:/srv/app/web tmm_composer:latest composer update

  5. Change owner for storage and bootstrap/cache/ folder in your local folder:

    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--
  6. Run project:

    docker-compose up -d

  7. Migrate database:

    php artisan migrate

URL:

homepage: https://localhost:8443
phpmyadmin: http://localhost:8444

APP:

  • 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

Notice:

  1. 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
  2. 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

Change logs:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages