diff --git a/.env b/.env new file mode 100644 index 0000000..5b53677 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +INSTALL_PRESTISSIMO=false \ No newline at end of file diff --git a/.gitignore b/.gitignore index b152f57..28b085f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /logs +/data .env \ No newline at end of file diff --git a/README.md b/README.md index e4b5f5b..3dde06f 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ It's like Laravel Homestead but for Docker instead of Vagrant. - [Run a Docker Virtual Host](#Run-Docker-Virtual-Host) - [Find your Docker IP Address](#Find-Docker-IP-Address) - [Use custom Domain](#Use-custom-Domain) + - [Optional Features](#Optional-Features) - [Debugging](#debugging) - [Help & Questions](#Help) @@ -822,30 +823,35 @@ server_name laravel.dev; ``` +
+ +### Optional Features +Optional features can be enabled by changing the `.env` file in the Laradock directory. + +#### Prestissimo +[Prestissimo](https://github.com/hirak/prestissimo) is a plugin for composer which enables parallel install functionality. You can enable Prestissimo by setting `INSTALL_PRESTISSIMO=true` in the `.env` file. +
### Debugging *Here's a list of the common problems you might face, and the possible solutions.* -#### + I see a blank (white) page instead of the Laravel 'Welcome' page! +#### I see a blank (white) page instead of the Laravel 'Welcome' page! -run this command from the Laravel root directory: +Run the following command from the Laravel root directory: ```bash sudo chmod -R 777 storage bootstrap/cache ``` -#### + I see "Welcome to nginx" instead of the Laravel App! - -use `http://127.0.0.1` instead of `http://localhost` in your browser. - - - - +#### I see "Welcome to nginx" instead of the Laravel App! +Use `http://127.0.0.1` (or [your Docker IP](#Find-Docker-IP-Address)) instead of `http://localhost` in your browser. +#### I see an error message containing `address already in use` +Make sure the ports for the services that you are trying to run (80, 3306, etc.) are not being used already by other programs, such as a built in `apache`/`httpd` service or other development tools you have installed.
diff --git a/docker-compose.yml b/docker-compose.yml index 087cea3..f736404 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,45 +2,32 @@ version: '2' services: -### PHP-FPM Container ####################################### - - php-fpm: - build: - context: ./php-fpm - dockerfile: Dockerfile-70 - volumes_from: - - application - expose: - - "9000" - links: - - workspace - ### Laravel Application Code Container ###################### - application: - build: ./application + volumes_source: + build: ./volumes/application volumes: - ../:/var/www/laravel ### Databases Data Container ################################ - data: - build: ./data + volumes_data: + build: ./volumes/data volumes: - - /var/lib/mysql:/var/lib/mysql - - /var/lib/postgres:/var/lib/postgres - - /var/lib/mariadb:/var/lib/mariadb - - /var/lib/memcached:/var/lib/memcached - - /var/lib/redis:/data - - /var/lib/neo4j:/var/lib/neo4j/data - - /var/lib/mongo:/data/db + - ./data/mysql:/var/lib/mysql + - ./data/postgres:/var/lib/postgres + - ./data/mariadb:/var/lib/mariadb + - ./data/memcached:/var/lib/memcached + - ./data/redis:/data + - ./data/neo4j:/var/lib/neo4j/data + - ./data/mongo:/data/db ### Nginx Server Container ################################## nginx: build: ./nginx volumes_from: - - application + - volumes_source volumes: - ./logs/nginx/:/var/log/nginx ports: @@ -49,12 +36,25 @@ services: links: - php-fpm +### PHP-FPM Container ####################################### + + php-fpm: + build: + context: ./php-fpm + dockerfile: Dockerfile-70 + volumes_from: + - volumes_source + expose: + - "9000" + links: + - workspace + ### MySQL Container ######################################### mysql: build: ./mysql volumes_from: - - data + - volumes_data ports: - "3306:3306" environment: @@ -68,7 +68,7 @@ services: postgres: build: ./postgres volumes_from: - - data + - volumes_data ports: - "5432:5432" environment: @@ -81,7 +81,7 @@ services: mariadb: build: ./mariadb volumes_from: - - data + - volumes_data ports: - "3306:3306" environment: @@ -100,7 +100,7 @@ services: environment: - NEO4J_AUTH=homestead:secret volumes_from: - - data + - volumes_data ### MongoDB Container ####################################### @@ -109,14 +109,14 @@ services: ports: - "27017:27017" volumes_from: - - data + - volumes_data ### Redis Container ######################################### redis: build: ./redis volumes_from: - - data + - volumes_data ports: - "6379:6379" @@ -125,7 +125,7 @@ services: memcached: build: ./memcached volumes_from: - - data + - volumes_data ports: - "11211:11211" links: @@ -156,9 +156,9 @@ services: build: context: ./workspace args: - INSTALL_PRESTISSIMO: ${INSTALL_PRESTISSIMO} + - INSTALL_PRESTISSIMO=${INSTALL_PRESTISSIMO} volumes_from: - - application + - volumes_source tty: true ### Add more Containers below ############################### diff --git a/application/Dockerfile b/volumes/application/Dockerfile similarity index 100% rename from application/Dockerfile rename to volumes/application/Dockerfile diff --git a/data/Dockerfile b/volumes/data/Dockerfile similarity index 100% rename from data/Dockerfile rename to volumes/data/Dockerfile