This is a template repository for running Laravel within a Docker environment.
Click to expand!
- Docker (and docker-compose)
- Composer
- Nginx proxy manager (when you want to run multiple instances on 1 server)
You can start developing in 2 ways:
- Clone the repository
- Reopen in container
- When the container build is finished:
bash init.sh
How to start with this Laravel Docker template:
- Clone the repository
- Create a
.env
file and make an symbolik link
cp ./laravel/.env.example ./laravel/.env
ln -s laravel/.env .env
-
Inside the
.env
file give the following variables a valueAPP_NAME
DOCKER_IMAGE_NAME
DB_HOST
DB_DATABASE
DB_USERNAME
DB_PASSWORD
DB_ROOT_PASSWORD
-
Change the port numbers according to your situation
DB_PORT
APP_HTTP_PORT
APP_HTTPS_PORT
NOTE: if you are going to use your Laravel environment in combination with a domain name and SSL, change the
APP_ENV
to production.
- Install the composer packages, generate a key and add an empty
database.sqlite
test file
cd laravel && composer install && php artisan key:generate && touch database.sqlite && cd ..
When you have done the getting started part, it's time to start the docker containers.
docker-compose up -d --build
After this only do a Laravel migration to the database and you are ready!
cd laravel && php artisan migrate
Also migrate the testing database if you want to use it:
php artisan migrate:fresh --env=testing
Would you like to contribute to the development of this project? Then read the prepared contribution guidelines and go ahead!
Thank you for being involved! 😍
MIT License
Copyright (c) 2021-2023 Klaas Schoute
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.