/docker-laravel-mysql-nginx-starter

Laravel, MySQL, Nginx environment template with Docker.

Primary LanguagePHP


cover

Docker Laravel MySQL Nginx Starter

Project Starter For Web Application Development with Laravel, MySQL, Nginx, and Docker.

Contributors Stargazers Issues

Features

Getting Started

Follow the instructions below to set up your project.

Prerequisites

Clone This Template For Your Project

  • By Clicking Use This Template Button or You can Click Here

image

Run App With GNU Make (UNIX Based OS: MacOS, Linux)

  • make run-app-with-setup : build docker and start all docker containers with Laravel setup
  • make run-app-with-setup-db : build docker and start all docker containers with Laravel setup + database migration and seeder
  • make run-app : start all docker container
  • make kill-app : kill all docker container
  • make enter-nginx-container : enter docker nginx container
  • make enter-php-container : enter docker php container
  • make enter-mysql-container : enter docker mysql container
  • make flush-db : run php migrate fresh command
  • make flush-db-with-seeding : run php migrate fresh command with seeding
  • make code-format-check : run npm command to run prettier to check your code
  • make code-format: run npm command to run prettier to format your code
  • make code-test: run php artisan test command

Run App Manually

preview-docker-laravel

  • Create .env file for the Laravel environment from .env.example on src folder
  • Run command docker-compose build on your terminal
  • Run command docker-compose up -d on your terminal
  • Run command composer install on your terminal after going into the php container on docker
  • Run command docker exec -it php /bin/sh on your terminal
  • Run command chmod -R 777 storage on your terminal after going into the php container on docker
  • If app:key still empty on .env run php artisan key:generate on your terminal after going into the php container on docker
  • To run artisan commands like migrate, etc. go to php container using docker exec -it php /bin/sh
  • Go to http://localhost:8001 or any port you set to open Laravel

Notes

  • If you encounter a permission error when running Docker, try running it as an administrator or using sudo in Linux.
  • Check the summary of new features in Laravel 11 here or on the official page here.
  • Right now, I will postpone upgrading to PHP 8.3 because the PHP Plugin in Prettier is not supported yet. Check the issues here.
  • Don't forget to run npm run format inside your php container or run make code-format before you push your code.
  • Don't forget to run php artisan test inside your php container or run make code-test before you push your code.