Setting up an entire Lumen stack can be time consuming. This repo is a quick way to write apps in PHP using Lumen from an any Docker client. It uses docker-compose to setup the application services, databases, cache, etc...
git clone https://github.com/saada/docker-lumen.git
cd docker-lumen
now, create the app in the images/php
directory named app
docker run --rm -it -v $(pwd)/images/php:/app $(docker build -q .) composer create-project --prefer-dist laravel/lumen ./app
There are two configurations using .env
files. One .env
file for docker-compose.yaml and another for the php application.
# copy both files and make changes to them if needed
cp .env.docker.example .env
cp .env.app.example images/php/app/.env
To change configuration values, look in the docker-compose.yml
file and change the php
container's environment variables. These directly correlate to the Lumen environment variables.
docker-compose up --build -d
Navigate to http://localhost:80 and you should see something like this
Success! You can now start developing your Lumen app on your host machine and you should see your changes on refresh! Classic PHP development cycle. A good place to start is images/php/app/routes/web.php
.
Feel free to configure the default port 80 in docker-compose.yml
to whatever you like.
docker-compose down
docker-compose exec php sh
# inside the container
cd ..
php artisan migrate
php artisan cache:clear
Submit a Pull Request!