Vincent 6 năm trước cách đây
mục cha
commit
8c3fb7fa96

+ 22 - 12
docker/adminassos/Dockerfile

@@ -1,18 +1,30 @@
 # ./docker/php/Dockerfile
 FROM php:7.0.33-apache
 
+RUN sed 's/main$/main universe/' -i /etc/apt/sources.list
+
 RUN apt-get update && apt-get upgrade -y --no-install-recommends
 
 ### WKHTMLTOPDF
-RUN apt-get install -y  apt-utils ca-certificates wget xz-utils libxrender1 libxt6 libxtst6 fontconfig libssl1.0-dev \
-	&& wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz \
-	&& tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz \
-	&& cp wkhtmltox/bin/* /usr/local/bin \
-	&& rm -rf wkhtmltox*
+RUN apt-get install -y build-essential xorg libssl-dev libxrender-dev wget gdebi ca-certificates wget xz-utils libxrender1 libxt6 libxtst6 fontconfig zlib1g-dev libpng-dev
+
+RUN wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb
+RUN dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb
+
+RUN wget http://ftp.de.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb
+RUN dpkg -i libpng12-0_1.2.50-2+deb8u3_amd64.deb
+
+RUN wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.jessie_amd64.deb
+RUN dpkg -i wkhtmltox_0.12.5-1.jessie_amd64.deb
 
 RUN apt-get install nano -y
 
-RUN docker-php-ext-install pdo_mysql
+RUN apt-get install -y libmagickwand-dev imagemagick libtidy-dev \
+    && pecl install imagick-3.4.3RC2 \
+    && docker-php-ext-enable imagick \
+    && docker-php-ext-install tidy \
+    && docker-php-ext-enable tidy \
+    && docker-php-ext-install pdo_mysql
 
 COPY /docker/adminassos/conf/session_save_path.ini /usr/local/etc/php/conf.d
 
@@ -51,9 +63,7 @@ RUN chown www-data:www-data -R opentalent
 RUN mkdir /var/log/opentalent
 RUN chown www-data:www-data -R /var/log/opentalent
 
-RUN cd /var/www/opentalent/opentalent
-RUN mkdir config
-RUN cd /var/wwww/opentalent/opentalent/config
-RUN for f in $(ls -d /var/source/config/config/*); do ln -s $f; done && ls -al
-RUN cd /var/www/opentalent/opentalent
-RUN chown www-data:www-data -R config
+CMD cd /var/www/opentalent/opentalent && mkdir -p config && cd config \
+    && for f in $(ls -d /var/source/config/config/*); do ln -fs $f; done && cd .. \
+    && chown www-data:www-data -R config \
+    && apache2-foreground

+ 1 - 1
docker/nginx/site.conf

@@ -13,7 +13,7 @@ server {
     # This rule should only be placed on your development environment
     # In production, don't include this and don't deploy app_dev.php or config.php
     location ~ ^/(app_dev|config)\.php(/|$) {
-        fastcgi_pass php_fpm:9000;
+        fastcgi_pass back:9000;
         fastcgi_split_path_info ^(.+\.php)(/.*)$;
         include fastcgi_params;
         # When you are using symlinks to link the document root to the

+ 4 - 1
docker/node/Dockerfile

@@ -23,4 +23,7 @@ RUN apt-get install -yqq --no-install-recommends git bzip2 curl unzip && \
     rm -rf /var/lib/apt/lists/* /var/cache/* /tmp/* /var/tmp/*
 
 # Allow root for bower
-RUN echo '{ "allow_root": true }' > /root/.bowerrc
+RUN echo '{ "allow_root": true }' > /root/.bowerrc
+
+CMD cd modules/ruler && jison -t rule.jison && babel --presets=es2015 model/**/*.js model/*.js -d lib && npm link && cd ../.. && npm link @opentalent/ruler \
+    && node

+ 31 - 15
docker/php/Dockerfile

@@ -1,14 +1,33 @@
 # ./docker/php/Dockerfile
 FROM php:7.0.33-fpm
 
+RUN sed 's/main$/main universe/' -i /etc/apt/sources.list
+
 RUN apt-get update && apt-get upgrade -y --no-install-recommends
 
 ### WKHTMLTOPDF
-RUN apt-get install -y ca-certificates wget xz-utils libxrender1 libxt6 libxtst6 fontconfig libssl1.0-dev zlib1g-dev libpng-dev  \
-	&& wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz \
-	&& tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz \
-	&& cp wkhtmltox/bin/* /usr/local/bin \
-	&& rm -rf wkhtmltox*
+RUN apt-get install -y build-essential xorg iputils-ping libssl-dev libxrender-dev wget gdebi ca-certificates wget xz-utils libxrender1 libxt6 libxtst6 fontconfig zlib1g-dev libpng-dev
+
+RUN wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb
+RUN dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb
+
+RUN wget http://ftp.de.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb
+RUN dpkg -i libpng12-0_1.2.50-2+deb8u3_amd64.deb
+
+RUN wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.jessie_amd64.deb
+RUN dpkg -i wkhtmltox_0.12.5-1.jessie_amd64.deb
+
+## ELASTICADUMP
+RUN curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
+RUN apt-get install nodejs -y
+RUN npm install elasticdump@3.3.7 -g
+
+## COMPOSER
+RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
+    && php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \
+    && php composer-setup.php \
+    && php -r "unlink('composer-setup.php');" \
+    && mv composer.phar /usr/local/bin/composer
 
 ## GIT
 RUN apt-get install git -y
@@ -22,13 +41,15 @@ RUN apt-get install acl -y
 ## OP CACHE, PDO, BC MATH, CALENDAR, PROCPS
 RUN docker-php-ext-install opcache
 RUN docker-php-ext-install pdo_mysql
+RUN docker-php-ext-install mbstring
+RUN docker-php-ext-install exif
+RUN docker-php-ext-enable exif
 RUN docker-php-ext-install bcmath
 RUN docker-php-ext-install calendar
 RUN docker-php-ext-install gd
 
 RUN apt-get install -y procps
 
-
 RUN apt-get install -y \
         libzip-dev \
         zip \
@@ -45,20 +66,15 @@ RUN apt-get install -y libmagickwand-dev imagemagick libtidy-dev \
 RUN pecl install apcu-5.1.17
 RUN pecl install apcu_bc
 
-## COMPOSER
-RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
-    && php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \
-    && php composer-setup.php \
-    && php -r "unlink('composer-setup.php');" \
-    && mv composer.phar /usr/local/bin/composer
-
 COPY /.ssh /root/.ssh
 COPY /docker/php/conf/memory.ini /usr/local/etc/php/conf.d
 COPY /docker/php/conf/apc.ini /usr/local/etc/php/conf.d
 
 WORKDIR /var/www/html
 
-
-
+CMD HTTPDUSER=$(ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1) \
+    && setfacl -dR -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX app/cache app/logs && setfacl -R -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX app/cache app/logs \
+    && chown -R www-data:www-data /var/www/html/web \
+    && php-fpm
 
 

+ 31 - 0
docker/typo3/Dockerfile

@@ -0,0 +1,31 @@
+FROM martinhelmich/typo3:8.7
+
+
+# Set the locale
+RUN apt-get clean && apt-get update && apt-get install -y locales
+
+## APCU
+RUN pecl install apcu-5.1.17
+RUN pecl install apcu_bc
+
+
+## COMPOSER
+RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
+    && php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \
+    && php composer-setup.php \
+    && php -r "unlink('composer-setup.php');" \
+    && mv composer.phar /usr/local/bin/composer
+
+
+COPY /docker/typo3/conf/locale.gen /etc/locale.gen
+COPY /docker/typo3/conf/memory.ini /usr/local/etc/php/conf.d
+COPY /docker/typo3/conf/apc.ini /usr/local/etc/php/conf.d
+
+RUN locale-gen fr_FR.UTF-8
+ENV LANG fr_FR.UTF-8
+ENV LANGUAGE fr_FR:fr
+ENV LC_ALL fr_FR.UTF-8
+
+RUN cd /var/www/html/typo3conf && \
+    mkdir ext && \
+    chown www-data:www-data -R ext

+ 158 - 0
docker/typo3/conf/LocalConfiguration.php

@@ -0,0 +1,158 @@
+<?php
+return [
+    'BE' => [
+        'debug' => '1',
+        'installToolPassword' => '$pbkdf2-sha256$25000$.PqaJ4/ltOEEgzkLb8qejA$7sU6uclI0hzXLbMNvpD7zFYeUuP9EsMZj/c5BmQXjVg',
+        'loginSecurityLevel' => 'rsa',
+        'sessionTimeout' => '65000',
+        'versionNumberInFilename' => '0',
+    ],
+    'DB' => [
+        'Connections' => [
+            'Default' => [
+                'charset' => 'utf8',
+                'dbname' => 'openassos',
+                'driver' => 'mysqli',
+                'host' => 'db',
+                'initCommands' => '',
+                'password' => 'mysql660',
+                'user' => 'root',
+            ],
+        ],
+        'extTablesDefinitionScript' => 'extTables.php',
+    ],
+    'EXT' => [
+        'extConf' => [
+            'backend' => 'a:6:{s:9:"loginLogo";s:0:"";s:19:"loginHighlightColor";s:0:"";s:20:"loginBackgroundImage";s:0:"";s:13:"loginFootnote";s:0:"";s:11:"backendLogo";s:0:"";s:14:"backendFavicon";s:0:"";}',
+            'devlog' => 'a:10:{s:15:"minimumLogLevel";s:2:"-1";s:11:"excludeKeys";s:0:"";s:11:"includeKeys";s:0:"";s:8:"ipFilter";s:1:"*";s:16:"refreshFrequency";s:1:"4";s:14:"entriesPerPage";s:2:"25";s:11:"maximumRows";s:4:"1000";s:13:"optimizeTable";s:1:"1";s:20:"maximumExtraDataSize";s:7:"1000000";s:11:"logFilePath";s:0:"";}',
+            'extensionmanager' => 'a:2:{s:21:"automaticInstallation";s:1:"1";s:11:"offlineMode";s:1:"0";}',
+            'news' => 'a:16:{s:13:"prependAtCopy";s:1:"1";s:6:"tagPid";s:1:"1";s:12:"rteForTeaser";s:1:"0";s:22:"contentElementRelation";s:1:"1";s:21:"contentElementPreview";s:1:"1";s:13:"manualSorting";s:1:"0";s:19:"categoryRestriction";s:0:"";s:34:"categoryBeGroupTceFormsRestriction";s:1:"0";s:19:"dateTimeNotRequired";s:1:"0";s:11:"archiveDate";s:4:"date";s:12:"mediaPreview";s:5:"false";s:24:"showAdministrationModule";s:1:"1";s:35:"hidePageTreeForAdministrationModule";s:1:"0";s:12:"showImporter";s:1:"0";s:18:"storageUidImporter";s:1:"1";s:22:"resourceFolderImporter";s:12:"/news_import";}',
+            'ot_cms' => 'a:2:{s:6:"admin.";a:4:{s:3:"url";s:39:"http://local.admin.opentalent.fr:3000/#";s:4:"home";s:10:"/dashboard";s:6:"logout";s:7:"/logout";s:6:"switch";s:10:"/switch/%d";}s:4:"api.";a:7:{s:3:"url";s:39:"http://local.api.opentalent.fr:8080/api";s:5:"login";s:12:"/login_check";s:6:"logout";s:7:"/logout";s:15:"isauthenticated";s:21:"/user/isauthenticated";s:6:"public";s:7:"/public";s:10:"parameters";s:16:"/user/parameters";s:6:"people";s:12:"/api/people/";}}',
+            'ot_migration_typo8' => 'a:0:{}',
+            'ot_portail' => 'a:0:{}',
+            'ot_webservice' => 'a:0:{}',
+            'piwik' => 'a:1:{s:20:"showFaultyConfigHelp";s:1:"1";}',
+            'piwikintegration' => 'a:7:{s:12:"emMakeHeader";s:0:"";s:19:"databaseTablePrefix";s:0:"";s:21:"enableIndependentMode";s:1:"0";s:22:"disablePiwikIdCreation";s:1:"0";s:19:"enableSchedulerTask";s:1:"0";s:22:"enableSchedulerLogging";s:1:"0";s:19:"piwikDownloadSource";s:0:"";}',
+            'realurl' => 'a:6:{s:10:"configFile";s:26:"typo3conf/realurl_conf.php";s:14:"enableAutoConf";s:1:"1";s:14:"autoConfFormat";s:1:"1";s:17:"segTitleFieldList";s:0:"";s:12:"enableDevLog";s:1:"0";s:10:"moduleIcon";s:1:"0";}',
+            'saltedpasswords' => 'a:6:{s:20:"checkConfigurationFE";s:1:"0";s:20:"checkConfigurationBE";s:1:"0";s:3:"FE.";a:5:{s:7:"enabled";s:1:"1";s:21:"saltedPWHashingMethod";s:41:"TYPO3\\CMS\\Saltedpasswords\\Salt\\Pbkdf2Salt";s:11:"forceSalted";s:1:"0";s:15:"onlyAuthService";s:1:"0";s:12:"updatePasswd";s:1:"1";}s:3:"BE.";a:4:{s:21:"saltedPWHashingMethod";s:41:"TYPO3\\CMS\\Saltedpasswords\\Salt\\Pbkdf2Salt";s:11:"forceSalted";s:1:"0";s:15:"onlyAuthService";s:1:"0";s:12:"updatePasswd";s:1:"1";}s:21:"checkConfigurationFE2";s:1:"0";s:21:"checkConfigurationBE2";s:1:"0";}',
+            'scheduler' => 'a:4:{s:11:"maxLifetime";s:4:"1440";s:11:"enableBELog";s:1:"1";s:15:"showSampleTasks";s:1:"1";s:11:"useAtdaemon";s:1:"0";}',
+            'theme_gallery' => 'a:0:{}',
+        ],
+    ],
+    'EXTCONF' => [
+        'lang' => [
+            'availableLanguages' => [
+                'fr',
+            ],
+        ],
+    ],
+    'EXTENSIONS' => [
+        'backend' => [
+            'backendFavicon' => '',
+            'backendLogo' => '',
+            'loginBackgroundImage' => '',
+            'loginFootnote' => '',
+            'loginHighlightColor' => '',
+            'loginLogo' => '',
+        ],
+        'extensionmanager' => [
+            'automaticInstallation' => '1',
+            'offlineMode' => '0',
+        ],
+        'news' => [
+            'archiveDate' => 'date',
+            'categoryBeGroupTceFormsRestriction' => '0',
+            'categoryRestriction' => '',
+            'contentElementPreview' => '1',
+            'contentElementRelation' => '1',
+            'dateTimeNotRequired' => '0',
+            'hidePageTreeForAdministrationModule' => '0',
+            'manualSorting' => '0',
+            'mediaPreview' => 'false',
+            'prependAtCopy' => '1',
+            'resourceFolderImporter' => '/news_import',
+            'rteForTeaser' => '0',
+            'showAdministrationModule' => '1',
+            'showImporter' => '0',
+            'storageUidImporter' => '1',
+            'tagPid' => '1',
+        ],
+        'saltedpasswords' => [
+            'BE' => [
+                'forceSalted' => '0',
+                'onlyAuthService' => '0',
+                'saltedPWHashingMethod' => 'TYPO3\\CMS\\Saltedpasswords\\Salt\\Pbkdf2Salt',
+                'updatePasswd' => '1',
+            ],
+            'FE' => [
+                'enabled' => '1',
+                'forceSalted' => '0',
+                'onlyAuthService' => '0',
+                'saltedPWHashingMethod' => 'TYPO3\\CMS\\Saltedpasswords\\Salt\\Pbkdf2Salt',
+                'updatePasswd' => '1',
+            ],
+            'checkConfigurationBE' => '0',
+            'checkConfigurationBE2' => '0',
+            'checkConfigurationFE' => '0',
+            'checkConfigurationFE2' => '0',
+        ],
+    ],
+    'FE' => [
+        'debug' => '1',
+        'disableNoCacheParameter' => '0',
+        'pageNotFoundOnCHashError' => '0',
+    ],
+    'GFX' => [
+        'jpg_quality' => '96',
+        'processor' => 'GraphicsMagick',
+        'processor_allowTemporaryMasksAsPng' => false,
+        'processor_colorspace' => 'RGB',
+        'processor_effects' => -1,
+        'processor_enabled' => true,
+        'processor_path' => '/usr/bin/',
+        'processor_path_lzw' => '/usr/bin/',
+    ],
+    'INSTALL' => [],
+    'MAIL' => [
+        'defaultMailFromAddress' => 'ne_pas_repondre@opentalent.fr',
+        'transport' => 'mail',
+        'transport_sendmail_command' => '',
+        'transport_smtp_encrypt' => '',
+        'transport_smtp_password' => '',
+        'transport_smtp_server' => 'mailcatcher:1025',
+        'transport_smtp_username' => '',
+    ],
+    'SYS' => [
+        'UTF8filesystem' => '1',
+        'belogErrorReporting' => 30711,
+        'caching' => [
+            'cacheConfigurations' => [
+                'extbase_object' => [
+                    'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\ApcuBackend',
+                    'frontend' => 'TYPO3\\CMS\\Core\\Cache\\Frontend\\VariableFrontend',
+                    'groups' => [
+                        'system',
+                    ],
+                    'options' => [
+                        'defaultLifetime' => 0,
+                    ],
+                ],
+            ],
+        ],
+        'cookieDomain' => 'opentalent.fr',
+        'devIPmask' => '*',
+        'displayErrors' => '1',
+        'enableDeprecationLog' => 'file',
+        'enable_DLOG' => true,
+        'enable_errorDLOG' => true,
+        'enable_exceptionDLOG' => true,
+        'encryptionKey' => 'ed7ad07c97e4703bd18aaad78071be42',
+        'exceptionalErrors' => 28674,
+        'fileCreateMask' => '2660',
+        'folderCreateMask' => '2770',
+        'sitename' => 'Opentalent',
+        'sqlDebug' => '1',
+        'systemLocale' => 'fr_FR.UTF-8',
+        'systemLogLevel' => '0',
+    ],
+];

+ 2 - 0
docker/typo3/conf/apc.ini

@@ -0,0 +1,2 @@
+extension=apcu.so
+extension=apc.so

+ 6 - 0
docker/typo3/conf/locale.gen

@@ -0,0 +1,6 @@
+# This file lists locales that you wish to have built. You can find a list
+# of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add
+# user defined locales to /usr/local/share/i18n/SUPPORTED. If you change
+# this file, you need to rerun locale-gen.
+
+fr_FR.UTF-8 UTF-8

+ 1 - 0
docker/typo3/conf/memory.ini

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