Compare commits
156 Commits
Author | SHA1 | Date | |
---|---|---|---|
243392444f | |||
72a8fc049d | |||
de6db93da8 | |||
1af9dc5ac2 | |||
62878e7c49 | |||
3cd1f070e1 | |||
fb5ea7f42c | |||
aa8be6f95b | |||
aa0a726945 | |||
e5e04e4e18 | |||
44d8720400 | |||
f0200626ba | |||
69406db3e0 | |||
bcb749151a | |||
ca413edff4 | |||
f6d1d6f617 | |||
117382a050 | |||
2e930df2a7 | |||
4922c5fafd | |||
198c38f6cd | |||
8d216f83d5 | |||
05c5fcf216 | |||
fccee522c6 | |||
f3eb6a5fc4 | |||
685c34d12d | |||
ceba1af3ae | |||
c4100b5052 | |||
1148a3d051 | |||
bec1a32550 | |||
72cde8a8ea | |||
4f9cdb02c6 | |||
1673a80daf | |||
f130381cfe | |||
eda286ded2 | |||
a8b4b61e28 | |||
124a3553e6 | |||
3ff4aaca79 | |||
4c06a03ead | |||
1cb131ba36 | |||
99b54c5f7d | |||
8993cccc2c | |||
1090bb4db6 | |||
9c7054abe2 | |||
e7decdaaf7 | |||
18bf12bfde | |||
d829482a06 | |||
86c6389650 | |||
991e28046d | |||
ccbc73c6bc | |||
246c7366ba | |||
762e2ec07b | |||
adaaa25f47 | |||
11a13a0c33 | |||
c642560993 | |||
ea9f5c635f | |||
fd4253afb6 | |||
73310e45e8 | |||
7f91fc9798 | |||
a8a7685a40 | |||
06c4c19a6f | |||
8bff7656f6 | |||
5c9eb97db5 | |||
588819ab6d | |||
170b63a3ba | |||
19813e48c3 | |||
be7b8ee056 | |||
01a056dd25 | |||
70e1b0fe41 | |||
0959b25c05 | |||
1d8336a9e1 | |||
f0e2d83618 | |||
7f1deb0342 | |||
703887a2a6 | |||
84e6b2b6ff | |||
c3ff9e485b | |||
77f9183c83 | |||
378181044c | |||
01bdaae690 | |||
68aca9f8f9 | |||
6d0ecaecf4 | |||
a434588a66 | |||
5aa01b1757 | |||
3b2831bf1d | |||
7171996843 | |||
66f08a4f60 | |||
07a07ab3ac | |||
fb4fcdcb23 | |||
a69681b07c | |||
2c05c87400 | |||
16a1041ef5 | |||
5ef193d55b | |||
4d8a798224 | |||
1574231a80 | |||
6eb3a9bd5f | |||
377f24fe2b | |||
51b6d4f844 | |||
97500508f5 | |||
7dcf481d21 | |||
efd062fd88 | |||
504c9c59d5 | |||
4edf941872 | |||
36b49f5ae2 | |||
e49836ba90 | |||
84f766363d | |||
03c991c89d | |||
fdba7e7c09 | |||
405067d4af | |||
7f4e411d3d | |||
e946573d75 | |||
470873acd2 | |||
88d5dd7806 | |||
295a0974da | |||
cf89670671 | |||
40899bc40f | |||
64bf3222af | |||
79009cc97e | |||
571bf64eb2 | |||
75b1705820 | |||
12587bc712 | |||
81f2602464 | |||
ecefee4d65 | |||
de8cbb0605 | |||
5190da831a | |||
fdaa983e77 | |||
e52f8f5613 | |||
f9c13090c6 | |||
bfa0d54b5a | |||
7f80888fc1 | |||
aa338d534e | |||
31793a3cc9 | |||
5d84c6481f | |||
26229e150d | |||
ab7f3d8fd9 | |||
2b98b0b82e | |||
457c5d4b1b | |||
cd97ac0aa6 | |||
22f11e03ee | |||
5d62ec1e67 | |||
daa5ed981f | |||
9ac7541dc9 | |||
05a83d383f | |||
12051834a3 | |||
e2593ab522 | |||
4f9271d565 | |||
c447eb86e4 | |||
530ffe7433 | |||
c8718e3746 | |||
feaff6fa72 | |||
d98cf4754b | |||
b335364591 | |||
105fce8965 | |||
0973aaf166 | |||
b5be47fb5e | |||
03e7eb622e | |||
d9f10f367c | |||
dac12296c6 |
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/logs
|
||||||
|
.env
|
7
application/Dockerfile
Normal file
7
application/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FROM debian:jessie
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
WORKDIR /var/www/laravel
|
||||||
|
|
||||||
|
CMD ["true"]
|
15
beanstalkd-console/Dockerfile
Normal file
15
beanstalkd-console/Dockerfile
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
FROM php:latest
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y curl
|
||||||
|
|
||||||
|
RUN curl -sL https://github.com/ptrofimov/beanstalk_console/archive/master.tar.gz | tar xvz -C /tmp
|
||||||
|
RUN mv /tmp/beanstalk_console-master /source
|
||||||
|
|
||||||
|
RUN apt-get remove --purge -y curl && apt-get autoclean && apt-get clean
|
||||||
|
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
|
EXPOSE 2080
|
||||||
|
|
||||||
|
CMD bash -c 'BEANSTALK_SERVERS=$BEANSTALKD_PORT_11300_TCP_ADDR:11300 php -S 0.0.0.0:2080 -t /source/public'
|
16
beanstalkd/Dockerfile
Normal file
16
beanstalkd/Dockerfile
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
FROM phusion/baseimage:latest
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get install -y beanstalkd
|
||||||
|
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
|
VOLUME /var/lib/beanstalkd/data
|
||||||
|
|
||||||
|
EXPOSE 11300
|
||||||
|
|
||||||
|
CMD ["/usr/bin/beanstalkd"]
|
5
data/Dockerfile
Normal file
5
data/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM debian:jessie
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
CMD ["true"]
|
@ -1,61 +1,164 @@
|
|||||||
# PHP + NGINX Container #----------------------------------
|
version: '2'
|
||||||
php-nginx:
|
|
||||||
image: laradock/phpnginx:0.1.0
|
|
||||||
container_name: php-nginx
|
|
||||||
ports:
|
|
||||||
- "80:80"
|
|
||||||
volumes:
|
|
||||||
- ./settings/nginx:/etc/nginx/sites-available
|
|
||||||
- ../:/var/www
|
|
||||||
- ./logs/nginx:/var/log/nginx
|
|
||||||
links:
|
|
||||||
- mysql
|
|
||||||
- redis
|
|
||||||
privileged: true
|
|
||||||
extra_hosts:
|
|
||||||
- "laravel.dev:xxx.xxx.xxx.xxx"
|
|
||||||
|
|
||||||
# MySQL Container #----------------------------------------
|
services:
|
||||||
mysql:
|
|
||||||
image: laradock/mysql:0.1.0
|
|
||||||
container_name: mysql
|
|
||||||
ports:
|
|
||||||
- "3306:3306"
|
|
||||||
volumes_from:
|
|
||||||
- data
|
|
||||||
environment:
|
|
||||||
MYSQL_DATABASE: homestead
|
|
||||||
MYSQL_USER: homestead
|
|
||||||
MYSQL_PASSWORD: secret
|
|
||||||
privileged: true
|
|
||||||
|
|
||||||
# Redis Container #----------------------------------------
|
### PHP-FPM Container #######################################
|
||||||
redis:
|
|
||||||
image: laradock/redis:0.1.0
|
|
||||||
container_name: redis
|
|
||||||
ports:
|
|
||||||
- "6379:6379"
|
|
||||||
volumes_from:
|
|
||||||
- data
|
|
||||||
volumes:
|
|
||||||
- ./logs/redis:/var/log/redis
|
|
||||||
restart: always
|
|
||||||
privileged: true
|
|
||||||
|
|
||||||
# Data Volume Container #----------------------------------
|
php-fpm:
|
||||||
data:
|
build:
|
||||||
image: laradock/data:0.1.0
|
context: ./php-fpm
|
||||||
container_name: data
|
dockerfile: Dockerfile-70
|
||||||
volumes:
|
volumes_from:
|
||||||
- /var/lib/mysql
|
- application
|
||||||
- /var/lib/redis
|
expose:
|
||||||
|
- "9000"
|
||||||
|
links:
|
||||||
|
- workspace
|
||||||
|
|
||||||
# Beanstalkd Container #-----------------------------------
|
### Laravel Application Code Container ######################
|
||||||
# beanstalkd:
|
|
||||||
# image: laradock/beanstalkd:0.1.0
|
|
||||||
# container_name: beanstalkd
|
|
||||||
# ports:
|
|
||||||
# - "11300:11300"
|
|
||||||
# privileged: true
|
|
||||||
|
|
||||||
#----------------------------------------------------------
|
application:
|
||||||
|
build: ./application
|
||||||
|
volumes:
|
||||||
|
- ../:/var/www/laravel
|
||||||
|
|
||||||
|
### Databases Data Container ################################
|
||||||
|
|
||||||
|
data:
|
||||||
|
build: ./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
|
||||||
|
|
||||||
|
### Nginx Server Container ##################################
|
||||||
|
|
||||||
|
nginx:
|
||||||
|
build: ./nginx
|
||||||
|
volumes_from:
|
||||||
|
- application
|
||||||
|
volumes:
|
||||||
|
- ./logs/nginx/:/var/log/nginx
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
links:
|
||||||
|
- php-fpm
|
||||||
|
|
||||||
|
### MySQL Container #########################################
|
||||||
|
|
||||||
|
mysql:
|
||||||
|
build: ./mysql
|
||||||
|
volumes_from:
|
||||||
|
- data
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: homestead
|
||||||
|
MYSQL_USER: homestead
|
||||||
|
MYSQL_PASSWORD: secret
|
||||||
|
MYSQL_ROOT_PASSWORD: root
|
||||||
|
|
||||||
|
### PostgreSQL Container ####################################
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
build: ./postgres
|
||||||
|
volumes_from:
|
||||||
|
- data
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: homestead
|
||||||
|
POSTGRES_USER: homestead
|
||||||
|
POSTGRES_PASSWORD: secret
|
||||||
|
|
||||||
|
### MariaDB Container #######################################
|
||||||
|
|
||||||
|
mariadb:
|
||||||
|
build: ./mariadb
|
||||||
|
volumes_from:
|
||||||
|
- data
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: homestead
|
||||||
|
MYSQL_USER: homestead
|
||||||
|
MYSQL_PASSWORD: secret
|
||||||
|
MYSQL_ROOT_PASSWORD: root
|
||||||
|
|
||||||
|
### Neo4j Container #########################################
|
||||||
|
|
||||||
|
neo4j:
|
||||||
|
build: ./neo4j
|
||||||
|
ports:
|
||||||
|
- "7474:7474"
|
||||||
|
- "1337:1337"
|
||||||
|
environment:
|
||||||
|
- NEO4J_AUTH=homestead:secret
|
||||||
|
volumes_from:
|
||||||
|
- data
|
||||||
|
|
||||||
|
### MongoDB Container #######################################
|
||||||
|
|
||||||
|
mongo:
|
||||||
|
build: ./mongo
|
||||||
|
ports:
|
||||||
|
- "27017:27017"
|
||||||
|
volumes_from:
|
||||||
|
- data
|
||||||
|
|
||||||
|
### Redis Container #########################################
|
||||||
|
|
||||||
|
redis:
|
||||||
|
build: ./redis
|
||||||
|
volumes_from:
|
||||||
|
- data
|
||||||
|
ports:
|
||||||
|
- "6379:6379"
|
||||||
|
|
||||||
|
### Memcached Container #####################################
|
||||||
|
|
||||||
|
memcached:
|
||||||
|
build: ./memcached
|
||||||
|
volumes_from:
|
||||||
|
- data
|
||||||
|
ports:
|
||||||
|
- "11211:11211"
|
||||||
|
links:
|
||||||
|
- php-fpm
|
||||||
|
|
||||||
|
### Beanstalkd Container ####################################
|
||||||
|
|
||||||
|
beanstalkd:
|
||||||
|
build: ./beanstalkd
|
||||||
|
ports:
|
||||||
|
- "11300:11300"
|
||||||
|
privileged: true
|
||||||
|
links:
|
||||||
|
- php-fpm
|
||||||
|
|
||||||
|
### Beanstalkd Console Container ############################
|
||||||
|
|
||||||
|
beanstalkd-console:
|
||||||
|
build: ./beanstalkd-console
|
||||||
|
ports:
|
||||||
|
- "2080:2080"
|
||||||
|
links:
|
||||||
|
- beanstalkd
|
||||||
|
|
||||||
|
### Workspace Utilities Container ###########################
|
||||||
|
|
||||||
|
workspace:
|
||||||
|
build:
|
||||||
|
context: ./workspace
|
||||||
|
args:
|
||||||
|
INSTALL_PRESTISSIMO: ${INSTALL_PRESTISSIMO}
|
||||||
|
volumes_from:
|
||||||
|
- application
|
||||||
|
tty: true
|
||||||
|
|
||||||
|
### Add more Containers below ###############################
|
||||||
|
7
mariadb/Dockerfile
Normal file
7
mariadb/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FROM mariadb:latest
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
CMD ["mysqld"]
|
||||||
|
|
||||||
|
EXPOSE 3306
|
7
memcached/Dockerfile
Normal file
7
memcached/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FROM memcached:latest
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
CMD ["memcached"]
|
||||||
|
|
||||||
|
EXPOSE 11211
|
12
mongo/Dockerfile
Normal file
12
mongo/Dockerfile
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
FROM mongo:latest
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
#COPY mongo.conf /usr/local/etc/mongo/mongo.conf
|
||||||
|
|
||||||
|
VOLUME /data/db /data/configdb
|
||||||
|
|
||||||
|
CMD ["mongod"]
|
||||||
|
|
||||||
|
EXPOSE 27017
|
||||||
|
|
7
mysql/Dockerfile
Normal file
7
mysql/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FROM mysql:latest
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
CMD ["mysqld"]
|
||||||
|
|
||||||
|
EXPOSE 3306
|
7
neo4j/Dockerfile
Normal file
7
neo4j/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FROM tpires/neo4j
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
VOLUME /var/lib/neo4j/data
|
||||||
|
|
||||||
|
EXPOSE 7474 1337
|
14
nginx/Dockerfile
Normal file
14
nginx/Dockerfile
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
FROM nginx:latest
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
RUN usermod -u 1000 www-data
|
||||||
|
|
||||||
|
CMD ["nginx"]
|
||||||
|
|
||||||
|
EXPOSE 80 443
|
@ -2,18 +2,16 @@ server {
|
|||||||
listen 80 default_server;
|
listen 80 default_server;
|
||||||
listen [::]:80 default_server ipv6only=on;
|
listen [::]:80 default_server ipv6only=on;
|
||||||
|
|
||||||
root /var/www/public;
|
root /var/www/laravel/public;
|
||||||
index index.php index.html index.htm;
|
index index.php index.html index.htm;
|
||||||
|
|
||||||
server_name laravel.dev;
|
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
try_files $uri $uri/ /index.php$is_args$args;
|
try_files $uri $uri/ /index.php$is_args$args;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~ \.php$ {
|
location ~ \.php$ {
|
||||||
try_files $uri /index.php =404;
|
try_files $uri /index.php =404;
|
||||||
fastcgi_pass unix:/var/run/php5-fpm.sock;
|
fastcgi_pass php-upstream;
|
||||||
fastcgi_index index.php;
|
fastcgi_index index.php;
|
||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
include fastcgi_params;
|
include fastcgi_params;
|
||||||
@ -23,3 +21,6 @@ server {
|
|||||||
deny all;
|
deny all;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
29
nginx/nginx.conf
Normal file
29
nginx/nginx.conf
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
user www-data;
|
||||||
|
worker_processes 4;
|
||||||
|
pid /run/nginx.pid;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 2048;
|
||||||
|
multi_accept on;
|
||||||
|
use epoll;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
server_tokens off;
|
||||||
|
sendfile on;
|
||||||
|
tcp_nopush on;
|
||||||
|
tcp_nodelay on;
|
||||||
|
keepalive_timeout 15;
|
||||||
|
types_hash_max_size 2048;
|
||||||
|
include /etc/nginx/mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
access_log on;
|
||||||
|
error_log on;
|
||||||
|
gzip on;
|
||||||
|
gzip_disable "msie6";
|
||||||
|
include /etc/nginx/conf.d/*.conf;
|
||||||
|
include /etc/nginx/sites-available/*;
|
||||||
|
open_file_cache max=100;
|
||||||
|
}
|
||||||
|
|
||||||
|
daemon off;
|
50
php-fpm/Dockerfile-55
Normal file
50
php-fpm/Dockerfile-55
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
FROM php:5.5-fpm
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
ADD ./laravel.ini /usr/local/etc/php/conf.d
|
||||||
|
ADD ./laravel.pool.conf /usr/local/etc/php-fpm.d/
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
libpq-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
curl \
|
||||||
|
libpng12-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
--no-install-recommends \
|
||||||
|
&& rm -r /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# install mcrypt library
|
||||||
|
RUN docker-php-ext-install mcrypt
|
||||||
|
|
||||||
|
# Install mongodb driver
|
||||||
|
RUN pecl install mongodb
|
||||||
|
|
||||||
|
# configure gd library
|
||||||
|
RUN docker-php-ext-configure gd \
|
||||||
|
--enable-gd-native-ttf \
|
||||||
|
--with-freetype-dir=/usr/include/freetype2
|
||||||
|
|
||||||
|
# Install extensions using the helper script provided by the base image
|
||||||
|
RUN docker-php-ext-install \
|
||||||
|
pdo_mysql \
|
||||||
|
pdo_pgsql \
|
||||||
|
gd
|
||||||
|
|
||||||
|
# Install memcached
|
||||||
|
RUN pecl install memcached \
|
||||||
|
&& docker-php-ext-enable memcached
|
||||||
|
|
||||||
|
# Install xdebug
|
||||||
|
RUN pecl install xdebug \
|
||||||
|
&& docker-php-ext-enable xdebug
|
||||||
|
|
||||||
|
RUN usermod -u 1000 www-data
|
||||||
|
|
||||||
|
WORKDIR /var/www/laravel
|
||||||
|
|
||||||
|
CMD ["php-fpm"]
|
||||||
|
|
||||||
|
EXPOSE 9000
|
50
php-fpm/Dockerfile-56
Normal file
50
php-fpm/Dockerfile-56
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
FROM php:5.6-fpm
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
ADD ./laravel.ini /usr/local/etc/php/conf.d
|
||||||
|
ADD ./laravel.pool.conf /usr/local/etc/php-fpm.d/
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
libpq-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
curl \
|
||||||
|
libpng12-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
--no-install-recommends \
|
||||||
|
&& rm -r /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# install mcrypt library
|
||||||
|
RUN docker-php-ext-install mcrypt
|
||||||
|
|
||||||
|
# Install mongodb driver
|
||||||
|
RUN pecl install mongodb
|
||||||
|
|
||||||
|
# configure gd library
|
||||||
|
RUN docker-php-ext-configure gd \
|
||||||
|
--enable-gd-native-ttf \
|
||||||
|
--with-freetype-dir=/usr/include/freetype2
|
||||||
|
|
||||||
|
# Install extensions using the helper script provided by the base image
|
||||||
|
RUN docker-php-ext-install \
|
||||||
|
pdo_mysql \
|
||||||
|
pdo_pgsql \
|
||||||
|
gd
|
||||||
|
|
||||||
|
# Install memcached
|
||||||
|
RUN pecl install memcached \
|
||||||
|
&& docker-php-ext-enable memcached
|
||||||
|
|
||||||
|
# Install xdebug
|
||||||
|
RUN pecl install xdebug \
|
||||||
|
&& docker-php-ext-enable xdebug
|
||||||
|
|
||||||
|
RUN usermod -u 1000 www-data
|
||||||
|
|
||||||
|
WORKDIR /var/www/laravel
|
||||||
|
|
||||||
|
CMD ["php-fpm"]
|
||||||
|
|
||||||
|
EXPOSE 9000
|
54
php-fpm/Dockerfile-70
Normal file
54
php-fpm/Dockerfile-70
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
FROM php:7.0-fpm
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
ADD ./laravel.ini /usr/local/etc/php/conf.d
|
||||||
|
ADD ./laravel.pool.conf /usr/local/etc/php-fpm.d/
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
libpq-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
curl \
|
||||||
|
libpng12-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
--no-install-recommends \
|
||||||
|
&& rm -r /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# install mcrypt library
|
||||||
|
RUN docker-php-ext-install mcrypt
|
||||||
|
|
||||||
|
# Install mongodb driver
|
||||||
|
RUN pecl install mongodb
|
||||||
|
|
||||||
|
# configure gd library
|
||||||
|
RUN docker-php-ext-configure gd \
|
||||||
|
--enable-gd-native-ttf \
|
||||||
|
--with-freetype-dir=/usr/include/freetype2
|
||||||
|
|
||||||
|
# Install extensions using the helper script provided by the base image
|
||||||
|
RUN docker-php-ext-install \
|
||||||
|
pdo_mysql \
|
||||||
|
pdo_pgsql \
|
||||||
|
gd
|
||||||
|
|
||||||
|
# Install Memcached for php 7
|
||||||
|
RUN curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \
|
||||||
|
&& mkdir -p /usr/src/php/ext/memcached \
|
||||||
|
&& tar -C /usr/src/php/ext/memcached -zxvf /tmp/memcached.tar.gz --strip 1 \
|
||||||
|
&& docker-php-ext-configure memcached \
|
||||||
|
&& docker-php-ext-install memcached \
|
||||||
|
&& rm /tmp/memcached.tar.gz
|
||||||
|
|
||||||
|
# Install xdebug
|
||||||
|
RUN pecl install xdebug \
|
||||||
|
&& docker-php-ext-enable xdebug
|
||||||
|
|
||||||
|
RUN usermod -u 1000 www-data
|
||||||
|
|
||||||
|
WORKDIR /var/www/laravel
|
||||||
|
|
||||||
|
CMD ["php-fpm"]
|
||||||
|
|
||||||
|
EXPOSE 9000
|
4
php-fpm/laravel.ini
Normal file
4
php-fpm/laravel.ini
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
date.timezone=UTC
|
||||||
|
display_errors=Off
|
||||||
|
log_errors=On
|
||||||
|
extension=mongodb.so
|
76
php-fpm/laravel.pool.conf
Normal file
76
php-fpm/laravel.pool.conf
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
; Unix user/group of processes
|
||||||
|
; Note: The user is mandatory. If the group is not set, the default user's group
|
||||||
|
; will be used.
|
||||||
|
user = www-data
|
||||||
|
group = www-data
|
||||||
|
|
||||||
|
; The address on which to accept FastCGI requests.
|
||||||
|
; Valid syntaxes are:
|
||||||
|
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
|
||||||
|
; a specific port;
|
||||||
|
; 'port' - to listen on a TCP socket to all addresses on a
|
||||||
|
; specific port;
|
||||||
|
; '/path/to/unix/socket' - to listen on a unix socket.
|
||||||
|
; Note: This value is mandatory.
|
||||||
|
listen = 0.0.0.0:9000
|
||||||
|
|
||||||
|
; Choose how the process manager will control the number of child processes.
|
||||||
|
; Possible Values:
|
||||||
|
; static - a fixed number (pm.max_children) of child processes;
|
||||||
|
; dynamic - the number of child processes are set dynamically based on the
|
||||||
|
; following directives. With this process management, there will be
|
||||||
|
; always at least 1 children.
|
||||||
|
; pm.max_children - the maximum number of children that can
|
||||||
|
; be alive at the same time.
|
||||||
|
; pm.start_servers - the number of children created on startup.
|
||||||
|
; pm.min_spare_servers - the minimum number of children in 'idle'
|
||||||
|
; state (waiting to process). If the number
|
||||||
|
; of 'idle' processes is less than this
|
||||||
|
; number then some children will be created.
|
||||||
|
; pm.max_spare_servers - the maximum number of children in 'idle'
|
||||||
|
; state (waiting to process). If the number
|
||||||
|
; of 'idle' processes is greater than this
|
||||||
|
; number then some children will be killed.
|
||||||
|
; ondemand - no children are created at startup. Children will be forked when
|
||||||
|
; new requests will connect. The following parameter are used:
|
||||||
|
; pm.max_children - the maximum number of children that
|
||||||
|
; can be alive at the same time.
|
||||||
|
; pm.process_idle_timeout - The number of seconds after which
|
||||||
|
; an idle process will be killed.
|
||||||
|
; Note: This value is mandatory.
|
||||||
|
pm = dynamic
|
||||||
|
|
||||||
|
; The number of child processes to be created when pm is set to 'static' and the
|
||||||
|
; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
|
||||||
|
; This value sets the limit on the number of simultaneous requests that will be
|
||||||
|
; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
|
||||||
|
; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
|
||||||
|
; CGI. The below defaults are based on a server without much resources. Don't
|
||||||
|
; forget to tweak pm.* to fit your needs.
|
||||||
|
; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
|
||||||
|
; Note: This value is mandatory.
|
||||||
|
pm.max_children = 20
|
||||||
|
|
||||||
|
; The number of child processes created on startup.
|
||||||
|
; Note: Used only when pm is set to 'dynamic'
|
||||||
|
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
|
||||||
|
pm.start_servers = 2
|
||||||
|
|
||||||
|
; The desired minimum number of idle server processes.
|
||||||
|
; Note: Used only when pm is set to 'dynamic'
|
||||||
|
; Note: Mandatory when pm is set to 'dynamic'
|
||||||
|
pm.min_spare_servers = 1
|
||||||
|
|
||||||
|
; The desired maximum number of idle server processes.
|
||||||
|
; Note: Used only when pm is set to 'dynamic'
|
||||||
|
; Note: Mandatory when pm is set to 'dynamic'
|
||||||
|
pm.max_spare_servers = 3
|
||||||
|
|
||||||
|
;---------------------
|
||||||
|
|
||||||
|
; Make specific Docker environment variables available to PHP
|
||||||
|
env[DB_1_ENV_MYSQL_DATABASE] = $DB_1_ENV_MYSQL_DATABASE
|
||||||
|
env[DB_1_ENV_MYSQL_USER] = $DB_1_ENV_MYSQL_USER
|
||||||
|
env[DB_1_ENV_MYSQL_PASSWORD] = $DB_1_ENV_MYSQL_PASSWORD
|
||||||
|
|
||||||
|
catch_workers_output = yes
|
7
postgres/Dockerfile
Normal file
7
postgres/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FROM postgres:latest
|
||||||
|
|
||||||
|
MAINTAINER Ben M <git@bmagg.com>
|
||||||
|
|
||||||
|
CMD ["postgres"]
|
||||||
|
|
||||||
|
EXPOSE 5432
|
11
redis/Dockerfile
Normal file
11
redis/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM redis:latest
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
#COPY redis.conf /usr/local/etc/redis/redis.conf
|
||||||
|
|
||||||
|
VOLUME /data
|
||||||
|
|
||||||
|
EXPOSE 6379
|
||||||
|
|
||||||
|
CMD ["redis-server"]
|
96
workspace/Dockerfile
Normal file
96
workspace/Dockerfile
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
FROM phusion/baseimage:latest
|
||||||
|
|
||||||
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
RUN DEBIAN_FRONTEND=noninteractive
|
||||||
|
RUN locale-gen en_US.UTF-8
|
||||||
|
|
||||||
|
ENV LANGUAGE=en_US.UTF-8
|
||||||
|
ENV LC_ALL=en_US.UTF-8
|
||||||
|
ENV LC_CTYPE=UTF-8
|
||||||
|
ENV LANG=en_US.UTF-8
|
||||||
|
ENV TERM xterm
|
||||||
|
|
||||||
|
# Install "software-properties-common" (for the "add-apt-repository")
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
software-properties-common
|
||||||
|
|
||||||
|
# Add the "PHP 7" ppa
|
||||||
|
RUN add-apt-repository -y \
|
||||||
|
ppa:ondrej/php
|
||||||
|
|
||||||
|
# Install PHP-CLI 7, some PHP extentions and some useful Tools with APT
|
||||||
|
RUN apt-get update && apt-get install -y --force-yes \
|
||||||
|
php7.0-cli \
|
||||||
|
php7.0-common \
|
||||||
|
php7.0-curl \
|
||||||
|
php7.0-json \
|
||||||
|
php7.0-xml \
|
||||||
|
php7.0-mbstring \
|
||||||
|
php7.0-mcrypt \
|
||||||
|
php7.0-mysql \
|
||||||
|
php7.0-pgsql \
|
||||||
|
php7.0-sqlite \
|
||||||
|
php7.0-sqlite3 \
|
||||||
|
php7.0-zip \
|
||||||
|
php7.0-memcached \
|
||||||
|
php7.0-gd \
|
||||||
|
php7.0-xdebug \
|
||||||
|
php-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libedit-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
xz-utils \
|
||||||
|
sqlite3 \
|
||||||
|
libsqlite3-dev \
|
||||||
|
git \
|
||||||
|
curl \
|
||||||
|
vim \
|
||||||
|
nano
|
||||||
|
|
||||||
|
# Clean up, to free some space
|
||||||
|
RUN apt-get clean
|
||||||
|
|
||||||
|
# remove load xdebug extension (only load on phpunit command)
|
||||||
|
RUN sed -i 's/^/;/g' /etc/php/7.0/cli/conf.d/20-xdebug.ini
|
||||||
|
|
||||||
|
# Add bin folder of composer to PATH.
|
||||||
|
RUN echo "export PATH=${PATH}:/var/www/laravel/vendor/bin" >> ~/.bashrc
|
||||||
|
|
||||||
|
# Install Composer
|
||||||
|
RUN curl -s http://getcomposer.org/installer | php \
|
||||||
|
&& mv composer.phar /usr/local/bin/composer
|
||||||
|
|
||||||
|
# Load xdebug Zend extension with phpunit command
|
||||||
|
RUN echo "alias phpunit='php -dzend_extension=xdebug.so /var/www/laravel/vendor/bin/phpunit'" >> ~/.bashrc
|
||||||
|
|
||||||
|
# Install mongodb extension
|
||||||
|
RUN pecl install mongodb
|
||||||
|
RUN echo "extension=mongodb.so" >> /etc/php/7.0/cli/php.ini
|
||||||
|
|
||||||
|
# Install nvm (Node Version Manager)
|
||||||
|
RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
|
||||||
|
|
||||||
|
ENV NVM_DIR=/root/.nvm
|
||||||
|
|
||||||
|
# Install stable node
|
||||||
|
RUN . ~/.nvm/nvm.sh \
|
||||||
|
&& nvm install stable \
|
||||||
|
&& nvm use stable \
|
||||||
|
&& nvm alias stable \
|
||||||
|
&& npm install -g gulp bower
|
||||||
|
|
||||||
|
# Source the bash
|
||||||
|
RUN . ~/.bashrc
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
|
WORKDIR /var/www/laravel
|
||||||
|
|
||||||
|
# Install optional software
|
||||||
|
ARG INSTALL_PRESTISSIMO=false
|
||||||
|
RUN if [ "$INSTALL_PRESTISSIMO" = true ] ; then \
|
||||||
|
composer global require "hirak/prestissimo:^0.3"; \
|
||||||
|
fi
|
Reference in New Issue
Block a user