Compare commits

..

10 Commits

Author SHA1 Message Date
Mahmoud Zalt
f97f0b0d11 update readme: include hhvm and new logo 2016-07-24 07:39:25 +03:00
Mahmoud Zalt
05e1dd4c13 Merge pull request #174 from orette/add-hhvm
Add hhvm
2016-07-24 07:27:40 +03:00
orette
fc78ab7764 Merge remote-tracking branch 'upstream/master' into add-hhvm 2016-07-24 03:05:09 +00:00
orette
ef8579987f Added HHVM container and used environment variable for switching 2016-07-24 02:49:57 +00:00
Mahmoud Zalt
4dda3b969e add gitter link to the readme 2016-07-23 19:53:16 +03:00
Mahmoud Zalt
4d2452101a add more awesome people to the contributors list 2016-07-22 00:36:26 +03:00
Mahmoud Zalt
233cfb5b07 Merge pull request #169 from orette/create-code-standards-file
Added dot file to maintain consistent coding styles
2016-07-22 00:27:37 +03:00
Orette D'Aguilar
63b9ec2bd8 Added dot file to maintain consistent coding styles 2016-07-21 09:48:21 -05:00
Mahmoud Zalt
d5a51d4de9 Merge pull request #168 from appleboy/patch-2
convert tab to space.
2016-07-21 16:54:57 +03:00
Bo-Yi Wu
c7fae1a807 convert tab to space. 2016-07-21 11:05:52 +08:00
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

1
.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) [![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. LaraDock helps you run your **Laravel** App on **Docker** real quick.
<br> <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. >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> <br>
## Contents ## Contents
@@ -72,10 +74,10 @@ docker-compose up nginx mysql redis
<a name="features"></a> <a name="features"></a>
### Features ### Features
- Easy switch between PHP versions: 7.0 - 5.6 - 5.5 ... - Easy switch between PHP versions: 7.0, 5.6, 5.5...
- Choose your favorite database engine: MySQL - Postgres - Redis ... - Choose your favorite database engine: MySQL, Postgres, MariaDB...
- Run your own combination of software's: Memcached - MariaDB ... - Run your own combination of software's: Memcached, HHVM, Beanstalkd...
- Every software runs on a separate container: PHP-FPM - NGINX ... - Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI...
- Easy to customize any container, with simple edit to the `dockerfile`. - Easy to customize any container, with simple edit to the `dockerfile`.
- All Images extends from an official base Image. (Trusted base Images). - All Images extends from an official base Image. (Trusted base Images).
- Pre-configured Nginx for Laravel. - Pre-configured Nginx for Laravel.
@@ -84,6 +86,7 @@ docker-compose up nginx mysql redis
- Clean and well structured Dockerfiles (`dockerfile`). - Clean and well structured Dockerfiles (`dockerfile`).
- Latest version of the Docker Compose file (`docker-compose`). - Latest version of the Docker Compose file (`docker-compose`).
- Everything is visible and editable. - Everything is visible and editable.
- More to come every week..
<a name="Supported-Containers"></a> <a name="Supported-Containers"></a>
@@ -91,16 +94,17 @@ docker-compose up nginx mysql redis
- PHP-FPM (7.0 - 5.6 - 5.5) - PHP-FPM (7.0 - 5.6 - 5.5)
- NGINX - NGINX
- HHVM
- MySQL - MySQL
- PostgreSQL - PostgreSQL
- MariaDB - MariaDB
- Neo4j
- MongoDB - MongoDB
- Neo4j
- Redis - Redis
- Memcached - Memcached
- Caddy
- Beanstalkd - Beanstalkd
- Beanstalkd Console - Beanstalkd Console
- Caddy
- Workspace (contains: Composer, PHP7-CLI, Laravel Installer, Git, Node, Gulp, Bower, SQLite, Vim, Nano, cURL and much more) - Workspace (contains: Composer, PHP7-CLI, Laravel Installer, Git, Node, Gulp, Bower, SQLite, Vim, Nano, cURL and much more)
- Data *(Databases Data Container)* - Data *(Databases Data Container)*
- Application *(Application Code Container)* - Application *(Application Code Container)*
@@ -167,7 +171,7 @@ What's better than a [**Demo Video**](https://www.youtube.com/watch?v=-DamFMczwD
## Installation ## 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: **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: 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. **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> <a name="Help"></a>
## Help & Questions ## 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). 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).
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`).
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 ## Credits
@@ -874,10 +877,13 @@ Additionally, you can contact Mahmoud Zalt (the creator of this project) via a d
**Main Contributors:** **Main Contributors:**
- [Jack Fletcher](https://github.com/Kauhat) - [Eric Pfeiffer (computerfr33k)](https://github.com/computerfr33k)
- [Bo-Yi Wu](https://github.com/appleboy) - [Orette](https://github.com/orette)
- [Amin Mkh](https://github.com/AminMkh) - [Jack Fletcher (Kauhat)](https://github.com/Kauhat)
- [Matthew Tonkin Dunn](https://github.com/mattythebatty) - [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) - [Benmag](https://github.com/benmag)
**Awesome People:** **Awesome People:**

View File

@@ -5,7 +5,10 @@ services:
### Nginx Server Container ################################## ### Nginx Server Container ##################################
nginx: nginx:
build: ./nginx build:
context: ./nginx
args:
- PHP_UPSTREAM=${PHP_PROCESS_MANAGER}
volumes_from: volumes_from:
- volumes_source - volumes_source
volumes: volumes:
@@ -14,7 +17,7 @@ services:
- "80:80" - "80:80"
- "443:443" - "443:443"
links: links:
- php-fpm - ${PHP_PROCESS_MANAGER}
### PHP-FPM Container ####################################### ### PHP-FPM Container #######################################
@@ -29,6 +32,17 @@ services:
links: links:
- workspace - workspace
### HHVM Container ##########################################
hhvm:
build: ./hhvm
volumes_from:
- volumes_source
expose:
- "9000"
links:
- workspace
### MySQL Container ######################################### ### MySQL Container #########################################
mysql: 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 nginx.conf /etc/nginx/
ADD laravel.conf /etc/nginx/sites-available/ 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 RUN usermod -u 1000 www-data