Browse Source

added drush to php image + gd + php-custom.ini, updated readme for reverse proxy with apache

Bachir Soussi Chiadmi 6 years ago
parent
commit
a692fff233
4 changed files with 83 additions and 36 deletions
  1. 17 2
      README.md
  2. 44 33
      docker-compose.yml
  3. 21 1
      php/Dockerfile
  4. 1 0
      php/php-custom.ini

+ 17 - 2
README.md

@@ -2,8 +2,21 @@
 # MateriO 7.x
 MateriO Base powered by druapl 7 docker environement
 
-# steps
-<!-- copy env.example to .env and edit the values to match your env -->
+# reverse proxy
+```
+<Virtualhost *:80>
+   ServerName dev.materio.com
+   ServerAlias dev.sb.materio.com
+   ServerAlias dev.materio.eu
+   ServerAlias dev.materio.fr
+   ServerAlias dev.materio.net
+
+   ProxyPass / http://127.0.0.1:81/
+   ProxyPassReverse / http://127.0.0.1:81/
+   ProxyRequests Off
+</Virtualhost>
+
+```
 
 # sources
 https://www.ostraining.com/blog/drupal/docker/
@@ -11,3 +24,5 @@ https://www.ostraining.com/blog/drupal/docker/
 http://tech.osteel.me/posts/2017/01/15/how-to-use-docker-for-local-web-development-an-update.html
 
 https://mmenozzi.github.io/2016/01/22/php-web-development-with-docker/
+
+https://dzone.com/articles/continuous-drupal-maintaining-a-drupal-website-wit

+ 44 - 33
docker-compose.yml

@@ -1,41 +1,52 @@
 version: "3.5"
 
 services:
-    nginx:
-        build: ./nginx/
-        ports:
-            - 81:80
-        volumes:
-            - "${PROJECT_ROOT}:/var/www/html"
-            - "${LOG_ROOT}:/var/log:rw"
-        networks:
-            - server
-        depends_on:
-            - php
+  mysql:
+    image: mariadb:latest
+    volumes:
+      - data:/var/lib/mysql
+    networks:
+      - database
+    environment:
+      MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
+      MYSQL_DATABASE: "${DB_NAME}"
+      MYSQL_USER: "${DB_USERNAME}"
+      MYSQL_PASSWORD: "${DB_PASSWORD}"
 
-    php:
-        build: ./php/
-        expose:
-            - 9000
-        volumes:
-            - "${PROJECT_ROOT}:/var/www/html"
-        networks:
-            - database
-            - server
-        depends_on:
-            - mysql
+  php:
+    build: ./php/
+    expose:
+      - 9000
+    volumes:
+      - "${PROJECT_ROOT}:/var/www/html"
+    networks:
+      - database
+      - server
+    depends_on:
+      - mysql
 
-    mysql:
-        image: mariadb:latest
-        volumes:
-            - data:/var/lib/mysql
-        networks:
-            - database
-        environment:
-            MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
-            MYSQL_DATABASE: "${DB_NAME}"
-            MYSQL_USER: "${DB_USERNAME}"
-            MYSQL_PASSWORD: "${DB_PASSWORD}"
+  phpmyadmin:
+    image: phpmyadmin/phpmyadmin
+    ports:
+      - 8080:80
+    networks:
+      - database
+    depends_on:
+      - mysql
+    environment:
+      PMA_HOST: mysql
+
+  nginx:
+    build: ./nginx/
+    ports:
+      - 81:80
+    volumes:
+      - "${PROJECT_ROOT}:/var/www/html"
+      - "${LOG_ROOT}:/var/log:rw"
+    networks:
+      - server
+    depends_on:
+      - php
 
 volumes:
     data:

+ 21 - 1
php/Dockerfile

@@ -1,3 +1,23 @@
 FROM php:5.6-fpm
 
-RUN docker-php-ext-install pdo_mysql
+COPY ./php-custom.ini /usr/local/etc/php/conf.d/php-custom.ini
+
+RUN apt-get update && apt-get install -y \
+		libfreetype6-dev \
+		libjpeg62-turbo-dev \
+    libmcrypt-dev \
+		libpng-dev \
+    zip \
+	&& docker-php-ext-install -j$(nproc) iconv mcrypt \
+	&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
+	&& docker-php-ext-install -j$(nproc) gd
+
+RUN docker-php-ext-install pdo_mysql zip
+
+RUN apt-get install -y git vim
+
+RUN export COMPOSER_HOME=/usr/local/composer && \
+    curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
+    composer global require drush/drush:6.5.0 && \
+    composer global install && \
+    ln -s /usr/local/composer/vendor/drush/drush/drush /usr/local/bin/drush

+ 1 - 0
php/php-custom.ini

@@ -0,0 +1 @@
+memory_limit = 526M