Compare commits

...

10 Commits

8 changed files with 98 additions and 22 deletions

12
.editorconfig Normal file
View File

@ -0,0 +1,12 @@
root = true
[*]
end_of_line = lf
insert_final_newline = true
[*]
charset = utf-8
[{Dockerfile,docker-compose.yml}]
indent_style = space
indent_size = 4

3
.env
View File

@ -1 +1,2 @@
INSTALL_PRESTISSIMO=false
INSTALL_PRESTISSIMO=false
PHP_PROCESS_MANAGER=php-fpm

View File

@ -2,6 +2,7 @@
[![forthebadge](http://forthebadge.com/images/badges/built-by-developers.svg)](http://zalt.me)
[![Gitter](https://badges.gitter.im/LaraDock/laradock.svg)](https://gitter.im/LaraDock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
LaraDock helps you run your **Laravel** App on **Docker** real quick.
<br>
@ -9,7 +10,8 @@ It's like Laravel Homestead but for Docker instead of Vagrant.
>With LaraDock, use Docker first and learn about it later.
![](http://s18.postimg.org/fhykchl09/new_laradock_cover.png)
![](https://s31.postimg.org/nbettdki3/lara_dock_poster_new.jpg)
<br>
## Contents
@ -72,10 +74,10 @@ docker-compose up nginx mysql redis
<a name="features"></a>
### Features
- Easy switch between PHP versions: 7.0 - 5.6 - 5.5 ...
- Choose your favorite database engine: MySQL - Postgres - Redis ...
- Run your own combination of software's: Memcached - MariaDB ...
- Every software runs on a separate container: PHP-FPM - NGINX ...
- Easy switch between PHP versions: 7.0, 5.6, 5.5...
- Choose your favorite database engine: MySQL, Postgres, MariaDB...
- Run your own combination of software's: Memcached, HHVM, Beanstalkd...
- Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI...
- Easy to customize any container, with simple edit to the `dockerfile`.
- All Images extends from an official base Image. (Trusted base Images).
- Pre-configured Nginx for Laravel.
@ -84,6 +86,7 @@ docker-compose up nginx mysql redis
- Clean and well structured Dockerfiles (`dockerfile`).
- Latest version of the Docker Compose file (`docker-compose`).
- Everything is visible and editable.
- More to come every week..
<a name="Supported-Containers"></a>
@ -91,16 +94,17 @@ docker-compose up nginx mysql redis
- PHP-FPM (7.0 - 5.6 - 5.5)
- NGINX
- HHVM
- MySQL
- PostgreSQL
- MariaDB
- Neo4j
- MongoDB
- Neo4j
- Redis
- Memcached
- Caddy
- Beanstalkd
- Beanstalkd Console
- Caddy
- Workspace (contains: Composer, PHP7-CLI, Laravel Installer, Git, Node, Gulp, Bower, SQLite, Vim, Nano, cURL and much more)
- Data *(Databases Data Container)*
- Application *(Application Code Container)*
@ -167,7 +171,7 @@ What's better than a [**Demo Video**](https://www.youtube.com/watch?v=-DamFMczwD
## Installation
1 - Clone the `LaraDock` repository.
1 - Clone the `LaraDock` repository:
**A)** If you already have a Laravel project, clone this repository on your `Laravel` root direcotry:
@ -206,7 +210,7 @@ docker-compose up -d nginx mysql
You can select your own combination of container form this list:
`nginx`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `memcached`, `beanstalkd`, `beanstalkd-console`, `caddy`, `workspace`, `data`, `php-fpm`, `application`.
`nginx`, `hhvm` ,`mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `memcached`, `beanstalkd`, `beanstalkd-console`, `caddy`, `workspace`, `data`, `php-fpm`, `application`.
**Note**: `workspace`, `data`, `php-fpm` and `application` will run automatically in most of the cases.
@ -859,12 +863,11 @@ This little project was built by one man who has a full time job and many respon
<a name="Help"></a>
## Help & Questions
If you need any help with Docker and Laravel, you can schedule a live call with the creator of this project at [Codementor.io](https://www.codementor.io/mahmoudz), He would love to help.
Join the chat room on [Gitter](https://gitter.im/LaraDock/laradock) and get help and support from the community.
For general questions you can open [Issues](https://github.com/laradock/laradock/issues) here on Github (We will label them as questions).
Additionally, you can contact Mahmoud Zalt (the creator of this project) via a direct message on LaraChat, (his username is `mahmoud_zalt`). Or send him an email (`mahmoud@zalt.me`).
You can as well can open an [issue](https://github.com/laradock/laradock/issues) on Github (will be labeled as Question) and discuss it with people on [Gitter](https://gitter.im/LaraDock/laradock).
For special help with Docker and/or Laravel, you can schedule a live call with the creator of this project at [Codementor.io](https://www.codementor.io/mahmoudz).
## Credits
@ -874,10 +877,13 @@ Additionally, you can contact Mahmoud Zalt (the creator of this project) via a d
**Main Contributors:**
- [Jack Fletcher](https://github.com/Kauhat)
- [Bo-Yi Wu](https://github.com/appleboy)
- [Amin Mkh](https://github.com/AminMkh)
- [Matthew Tonkin Dunn](https://github.com/mattythebatty)
- [Eric Pfeiffer (computerfr33k)](https://github.com/computerfr33k)
- [Orette](https://github.com/orette)
- [Jack Fletcher (Kauhat)](https://github.com/Kauhat)
- [Bo-Yi Wu (appleboy)](https://github.com/appleboy)
- [Amin Mkh (AminMkh)](https://github.com/AminMkh)
- [Matthew Tonkin Dunn (mattythebatty)](https://github.com/mattythebatty)
- [Zhivitsa Kirill (zhikiri)](https://github.com/zhikiri)
- [Benmag](https://github.com/benmag)
**Awesome People:**

View File

@ -5,7 +5,10 @@ services:
### Nginx Server Container ##################################
nginx:
build: ./nginx
build:
context: ./nginx
args:
- PHP_UPSTREAM=${PHP_PROCESS_MANAGER}
volumes_from:
- volumes_source
volumes:
@ -14,7 +17,7 @@ services:
- "80:80"
- "443:443"
links:
- php-fpm
- ${PHP_PROCESS_MANAGER}
### PHP-FPM Container #######################################
@ -29,6 +32,17 @@ services:
links:
- workspace
### HHVM Container ##########################################
hhvm:
build: ./hhvm
volumes_from:
- volumes_source
expose:
- "9000"
links:
- workspace
### MySQL Container #########################################
mysql:

21
hhvm/Dockerfile Normal file
View File

@ -0,0 +1,21 @@
FROM ubuntu:14.04
RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
RUN apt-get update -y && apt-get install -y software-properties-common \
&& add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main" \
&& apt-get update -y \
&& apt-get install -y hhvm \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /var/www/laravel
ADD server.ini /etc/hhvm/server.ini
RUN usermod -u 1000 www-data
WORKDIR /var/www/laravel
CMD ["/usr/bin/hhvm", "-m", "server", "-c", "/etc/hhvm/server.ini"]
EXPOSE 9000

20
hhvm/server.ini Normal file
View File

@ -0,0 +1,20 @@
; php options
pid = /var/run/hhvm/pid
; hhvm specific
hhvm.server.port = 9000
hhvm.server.type = fastcgi
hhvm.server.default_document = index.php
hhvm.server.error_document404 = index.php
hhvm.server.upload.upload_max_file_size = 25M
hhvm.log.level = Error
hhvm.log.header = true
hhvm.log.access[default][file] = /var/log/hhvm/access.log
hhvm.log.access[default][format] = "%h %l %u %t \"%r\" %>s %b"
hhvm.server.source_root=/var/www/laravel/public
hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc
; Uncomment to log to files instead of STDOUT
;hhvm.log.use_log_file = true
;hhvm.log.file = /var/log/hhvm/error.log

View File

@ -5,7 +5,9 @@ MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
ADD nginx.conf /etc/nginx/
ADD laravel.conf /etc/nginx/sites-available/
RUN echo "upstream php-upstream { server php-fpm:9000; }" > /etc/nginx/conf.d/upstream.conf
ARG PHP_UPSTREAM
RUN echo "upstream php-upstream { server ${PHP_UPSTREAM}:9000; }" > /etc/nginx/conf.d/upstream.conf
RUN usermod -u 1000 www-data

View File

@ -48,7 +48,7 @@ RUN apt-get update && apt-get install -y --force-yes \
curl \
vim \
nano \
pkg-config
pkg-config
# Clean up, to free some space
RUN apt-get clean