Skip to content
This repository has been archived by the owner on Sep 11, 2021. It is now read-only.

olkitu/docker-laravel-project-template

Repository files navigation

Docker Laravel Project Template

This is simple project template for developing Laravel and Lumen webapps with Docker. You just need Docker and IDE like Visual Studio Code to start developing.

Start develop Laravel/Lumen App

Get Docker: https://docs.docker.com/get-docker/

Download the latest release and extract it.

Copy .env.example to .env.

Start with docker-compose Nginx, PHP-FPM, Minio (S3-compatible file storage for persistent files) and Phpmyadmin. To use apache-version, uncomment Apache instead, edit Dockerfile.dev and Dockerfile.

docker-compose up -d

Install Laravel

Create new Laravel project and install to ./app directory.

docker-compose exec laravel composer create-project laravel/laravel .

Copy app/.env and app/.env.example to project root. Change the DB_HOST variable to db.

Restart the laravel container

docker-compose restart laravel

Now have fun start develop your own app.

More instructions

Install Lumen

Create new Lumen project and install to ./app directory.

docker-compose exec laravel composer create-project --prefer-dist laravel/lumen .

Copy app/.env and app/.env.example to project root. Change the DB_HOST variable to db.

Restart the laravel container

docker-compose restart laravel

Now have fun start develop your own app.

More instructions

Move exist Laravel/Lumen project to container

If you have exist Laravel/Lumen project, just create app directory and place Laravel installation in created directory.

Move then .env and .env.example to project root and change DB_HOST variable to db. If you have exist database, export it and save it to sql directory so it will be automatically imported when container startup.

Deploy to production

Build your production image. Change youraccount/project_name to your own Docker Hub account name and project name you like to use.

docker build -t youraccount/project_name .

Upload your image to Docker Hub or some other container repository.

Docker Swarm

Here is example stack template to build to Docker Swarm.

version: '3.8'
services:
  laravel:
    image: youraccount/project_name
    ports:
    - 80:80
    environments:
      DB_HOST: db
      DB_DATABASE: laravel
      DB_USERNAME: laravel
      DB_PASSWORD: laravel
      # And other environment variables

License

MIT