Conf : update docker config for windows compatbility

This commit is contained in:
2018-08-29 11:56:57 +02:00
parent dca95338a9
commit f8c0b75ec2
12 changed files with 207 additions and 24 deletions
+12 -1
View File
@@ -2,7 +2,7 @@
CLIENT=tt-website
DOCKERCOMPOSE := $(shell command -v docker-compose 2> /dev/null)
USAGE := Usage: make ENV={prod|preprod|dev} {docker-build|docker-start|docker-stop|docker-restart}
USAGE := Usage: make ENV={prod|preprod|dev} {SYS=windows|linux} {docker-build|docker-start|docker-stop|docker-restart}
ifndef DOCKERCOMPOSE
$(error docker-compose is not available)
@@ -14,10 +14,17 @@ $(info $(USAGE))
$(error Exiting)
endif
SYS=linux
DC_OVERRIDE := $(shell test -e conf/docker-compose.override.yml && echo "--file conf/docker-compose.override.yml")
DC_OVERRIDE_ENV := $(shell test -e conf/docker-compose.$(ENV).yml && echo "--file conf/docker-compose.$(ENV).yml")
ifeq ($(SYS),linux)
DC=ENV=$(ENV) CLIENT=$(CLIENT) "$(DOCKERCOMPOSE)" --project-name "$(CLIENT)_$(ENV)" --file conf/docker-compose.yml $(DC_OVERRIDE) $(DC_OVERRIDE_ENV)
else
DC=ENV=$(ENV) CLIENT=$(CLIENT) "$(DOCKERCOMPOSE)" --project-name "$(CLIENT)_$(ENV)" --file conf/docker-compose.win.yml $(DC_OVERRIDE) $(DC_OVERRIDE_ENV)
endif
default:
$(info $(USAGE))
@@ -104,3 +111,7 @@ db-deploy: db-diff db-migrate
es-populate:
@docker exec -i $(CLIENT).php.$(ENV) su www-data --shell=/bin/bash -c "/home/www/website/www/bin/console fos:elastica:populate"
sys:
@echo $(SYS)
@echo $(DC)
+5 -12
View File
@@ -4,7 +4,6 @@ ENV TERM=xterm
RUN echo 'deb http://ftp.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/debian-backports.list
RUN apt-get clean \
&& apt-get update \
&& apt-get install -y lsof nano less git locales
@@ -12,17 +11,11 @@ RUN apt-get clean \
RUN echo 'fr_FR.UTF-8 UTF-8' > /etc/locale.gen \
&& /usr/sbin/locale-gen
RUN apt-get update && apt-get install -my wget gnupg
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash - \
&& apt-get install -y nodejs
RUN apt-get update \
&& apt-get install -y ffmpeg exiftool graphviz libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mysql-client libgmp-dev nodejs npm \
&& apt-get install -y ffmpeg exiftool graphviz libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mysql-client nodejs npm \
&& apt-get install -y --no-install-recommends libmagickwand-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache gmp \
&& docker-php-ext-configure gmp \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache \
&& pecl install geoip-1.1.1 redis imagick mongodb \
&& docker-php-ext-enable geoip redis imagick mongodb
@@ -47,8 +40,8 @@ RUN curl --location --silent --show-error https://symfony.com/installer -o /usr/
RUN curl --location --silent --show-error https://s3.amazonaws.com/files.drush.org/drush.phar -o /usr/local/bin/drush \
&& chmod a+x /usr/local/bin/drush
RUN (npm install -g uglify-es) \
RUN (npm install -g uglify-js) \
&& ln -s /usr/bin/nodejs /usr/local/bin/node
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/
&& rm -rf /var/lib/apt/lists/
+3 -2
View File
@@ -8,8 +8,9 @@ RUN apt-get clean \
RUN echo 'fr_FR.UTF-8 UTF-8' > /etc/locale.gen \
&& /usr/sbin/locale-gen
RUN apt-get update \
&& apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mysql-client \
&& apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mysql-client \
&& apt-get install -y --no-install-recommends libmagickwand-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache \
@@ -32,4 +33,4 @@ RUN (curl --silent --show-error https://getcomposer.org/installer | php) \
&& mv composer.phar /usr/local/bin/composer
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/
&& rm -rf /var/lib/apt/lists/
+35
View File
@@ -0,0 +1,35 @@
FROM php:7.1-fpm
ENV TERM=xterm
RUN apt-get clean \
&& apt-get update \
&& apt-get install -y lsof nano less git locales
RUN echo 'fr_FR.UTF-8 UTF-8' > /etc/locale.gen \
&& /usr/sbin/locale-gen
RUN apt-get update \
&& apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mysql-client \
&& apt-get install -y --no-install-recommends libmagickwand-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache \
&& pecl install geoip-1.1.1 redis imagick \
&& docker-php-ext-enable geoip redis imagick
RUN { \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.fast_shutdown=1'; \
echo 'opcache.enable_cli=1'; \
} >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
COPY zz-logformat.conf /usr/local/etc/php-fpm.d/
COPY php.ini /usr/local/etc/php/conf.d/
RUN (curl --silent --show-error https://getcomposer.org/installer | php) \
&& mv composer.phar /usr/local/bin/composer
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/
+7
View File
@@ -0,0 +1,7 @@
date.timezone = Europe/Paris
display_errors = Off
memory_limit = 256M
log_errors = On
error_reporting = E_ALL
error_log = /dev/stdout
report_memleaks = On
@@ -0,0 +1,2 @@
[www]
access.format = "%R [%t] \"%m %r%Q%q\" %s %f %{mili}dms %{kilo}MKb %C%%"
+54
View File
@@ -0,0 +1,54 @@
FROM php:7.1-fpm
ENV TERM=xterm
RUN echo 'deb http://ftp.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/debian-backports.list
RUN apt-get clean \
&& apt-get update \
&& apt-get install -y lsof nano less git locales
RUN echo 'fr_FR.UTF-8 UTF-8' > /etc/locale.gen \
&& /usr/sbin/locale-gen
RUN apt-get update && apt-get install -my wget gnupg
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash - \
&& apt-get install -y nodejs
RUN apt-get update \
&& apt-get install -y ffmpeg exiftool graphviz libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev libxslt-dev libicu-dev libxml2-dev libpq-dev libgeoip-dev libedit-dev mysql-client libgmp-dev nodejs npm \
&& apt-get install -y --no-install-recommends libmagickwand-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j4 gd mcrypt xsl zip intl gettext soap pdo_pgsql pdo_mysql mysqli pgsql json readline opcache gmp \
&& docker-php-ext-configure gmp \
&& pecl install geoip-1.1.1 redis imagick mongodb \
&& docker-php-ext-enable geoip redis imagick mongodb
RUN { \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.fast_shutdown=1'; \
echo 'opcache.enable_cli=1'; \
} >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
COPY zz-logformat.conf /usr/local/etc/php-fpm.d/
COPY php.ini /usr/local/etc/php/conf.d/
RUN (curl --silent --show-error https://getcomposer.org/installer | php) \
&& mv composer.phar /usr/local/bin/composer
RUN curl --location --silent --show-error https://symfony.com/installer -o /usr/local/bin/symfony \
&& chmod a+x /usr/local/bin/symfony
RUN curl --location --silent --show-error https://s3.amazonaws.com/files.drush.org/drush.phar -o /usr/local/bin/drush \
&& chmod a+x /usr/local/bin/drush
RUN (npm install -g uglify-es) \
&& ln -s /usr/bin/nodejs /usr/local/bin/node
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/
+9
View File
@@ -0,0 +1,9 @@
date.timezone = Europe/Paris
display_errors = Off
memory_limit = 768M
log_errors = On
error_reporting = E_ALL
error_log = /dev/stdout
report_memleaks = On
upload_max_filesize = 512M
post_max_size = 512M
+2
View File
@@ -0,0 +1,2 @@
[www]
access.format = "%R [%t] \"%m %r%Q%q\" %s %f %{mili}dms %{kilo}MKb %C%%"
+75
View File
@@ -0,0 +1,75 @@
version: "3"
services:
##
## WEBSITE RESSOURCES
##
nginx:
build: build/nginx
container_name: ${CLIENT}.nginx.${ENV}
hostname: nginx
volumes:
- ../volume/nginx/etc.nginx.sites-enabled:/etc/nginx/sites-enabled
- ../volume/www:/home/www
restart: always
php:
build: build/php_win
container_name: ${CLIENT}.php.${ENV}
hostname: php
volumes:
- ../volume/www:/home/www
restart: always
postgres:
image: postgres:9.6
container_name: ${CLIENT}.postgres.${ENV}
hostname: postgres
env_file: env/postgres.env
volumes:
- tt-postgres:/var/lib/postgresql/data
restart: always
mongo:
image: mongo:3.4
container_name: ${CLIENT}.mongo.${ENV}
hostname: mongo
volumes:
- tt-mongo:/data/db
restart: always
elasticsearch:
build: build/elasticsearch
container_name: ${CLIENT}.elasticsearch.${ENV}
hostname: elasticsearch
volumes:
- search_db_data:/usr/share/elasticsearch/data
restart: always
##
## STORE RESSOURCES
##
store-php:
build: build/php_light_win
container_name: ${CLIENT}.store-php.${ENV}
hostname: store-php
volumes:
- ../volume/www:/home/www
restart: always
store-mysql:
build: build/mysql
container_name: ${CLIENT}.store-mysql.${ENV}
hostname: store-mysql
env_file: env/store-mysql.env
volumes:
- ../volume/store-mysql/var.lib.mysql:/var/lib/mysql
restart: always
# Elastic does not play well with physical volume (folder rights trouble)
volumes:
? search_db_data
tt-postgres:
external: true
tt-mongo:
external: true
+3 -7
View File
@@ -28,7 +28,7 @@ services:
hostname: postgres
env_file: env/postgres.env
volumes:
- tt-postgres:/var/lib/postgresql/data
- ../volume/postgres/var.lib.postgresql.data:/var/lib/postgresql/data
restart: always
mongo:
@@ -36,7 +36,7 @@ services:
container_name: ${CLIENT}.mongo.${ENV}
hostname: mongo
volumes:
- tt-mongo:/data/db
- ../volume/mongo/data.db:/data/db
restart: always
elasticsearch:
@@ -69,8 +69,4 @@ services:
# Elastic does not play well with physical volume (folder rights trouble)
volumes:
search_db_data:
tt-postgres:
external: true
tt-mongo:
external: true
search_db_data:
@@ -16471,5 +16471,3 @@ tbody td {
#talent-show .recommendation-user-infos .recommendation-user-name {
text-transform: uppercase;
font-weight: bold; }
/*# sourceMappingURL=styles.css.map */