Vincent GUFFON 4 years ago
parent
commit
9ac055de65

+ 6 - 6
docker-compose.yaml

@@ -88,18 +88,18 @@ services:
     image: nginx:alpine
     volumes:
       - ./apps/api/public:/var/www/html/public:cached
-      - ./docker/nginx/site_php74.conf:/etc/nginx/conf.d/default.conf:cached
+      - ./docker/nginx/site_php8.conf:/etc/nginx/conf.d/default.conf:cached
     environment:
       - VIRTUAL_HOST=${API_NEW_VIRTUAL_HOST}
     depends_on:
-      - php74
+      - php8
 
-  php74:
+  php8:
     hostname: api
-    container_name: php74
+    container_name: php8
     build:
       context: .
-      dockerfile: docker/php7.4/Dockerfile
+      dockerfile: docker/php8/Dockerfile
       args:
         - COMPOSER_HASH=${COMPOSER_HASH}
         - OS=${OS}
@@ -341,7 +341,7 @@ services:
       - VIRTUAL_PORT=${BLACK_FIRE_PORT}
     depends_on:
       - php70
-      - php74
+      - php8
 
   phpdoc:
     hostname: phpdoc

+ 60 - 0
docker/nginx/site_php8.conf

@@ -0,0 +1,60 @@
+server {
+    server_name local.new.api.opentalent.fr;
+    root /var/www/html/public;
+
+    location / {
+    add_header 'Access-Control-Allow-Origin' '*';
+
+        # try to serve file directly, fallback to index.php
+        try_files $uri /index.php$is_args$args;
+    }
+
+    # optionally disable falling back to PHP script for the asset directories;
+    # nginx will return a 404 error when files are not found instead of passing the
+    # request to Symfony (improves performance but Symfony's 404 page is not displayed)
+    # location /bundles {
+    #     try_files $uri =404;
+    # }
+
+    proxy_buffer_size 128k;
+    proxy_buffers 4 256k;
+    proxy_busy_buffers_size 256k;
+
+    location ~ ^/index\.php(/|$) {
+        fastcgi_pass php8:9000;
+        fastcgi_split_path_info ^(.+\.php)(/.*)$;
+        include fastcgi_params;
+
+        fastcgi_buffer_size 128k;
+        fastcgi_buffers 4 256k;
+        fastcgi_busy_buffers_size 256k;
+
+        # optionally set the value of the environment variables used in the application
+        # fastcgi_param APP_ENV prod;
+        # fastcgi_param APP_SECRET <app-secret-id>;
+        # fastcgi_param DATABASE_URL "mysql://db_user:db_pass@host:3306/db_name";
+
+        # When you are using symlinks to link the document root to the
+        # current version of your application, you should pass the real
+        # application path instead of the path to the symlink to PHP
+        # FPM.
+        # Otherwise, PHP's OPcache may not properly detect changes to
+        # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
+        # for more information).
+        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
+        fastcgi_param DOCUMENT_ROOT $realpath_root;
+        # Prevents URIs that include the front controller. This will 404:
+        # http://domain.tld/index.php/some-path
+        # Remove the internal directive to allow URIs like this
+        internal;
+    }
+
+    # return 404 for all other php files not matching the front controller
+    # this prevents access to other php files you don't want to be accessible.
+    location ~ \.php$ {
+        return 404;
+    }
+
+    error_log /var/log/nginx/project_error.log;
+    access_log /var/log/nginx/project_access.log;
+}

+ 61 - 0
docker/php8/Dockerfile

@@ -0,0 +1,61 @@
+# ./docker/php/Dockerfile
+FROM php:8.0.10-fpm
+
+ARG COMPOSER_HASH
+ARG OS
+ARG DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update && apt-get install -y --fix-missing \
+    apt-utils \
+    gnupg
+
+RUN echo "deb http://packages.dotdeb.org jessie all" >> /etc/apt/sources.list
+RUN echo "deb-src http://packages.dotdeb.org jessie all" >> /etc/apt/sources.list
+RUN curl -sS --insecure https://www.dotdeb.org/dotdeb.gpg | apt-key add -
+RUN sed 's/main$/main universe/' -i /etc/apt/sources.list; \
+    apt-get update && apt-get install --no-install-recommends -y \
+                                                openssh-server build-essential \
+                                                xorg iputils-ping libxrender-dev  \
+                                                wget gdebi ca-certificates wget xz-utils \
+                                                libxrender1 libxt6 libxtst6 fontconfig \
+                                                libpng-dev libicu-dev g++ \
+                                                git nano acl procps libmagickwand-dev imagemagick libtidy-dev \
+                                                libssl-dev libpng-dev zlib1g-dev libzip-dev zip
+
+RUN     docker-php-ext-configure intl; \
+        docker-php-ext-install opcache pdo_mysql mbstring exif bcmath calendar gd intl tidy; \
+        docker-php-ext-enable exif; \
+        docker-php-ext-enable tidy; \
+        docker-php-ext-install zip; \
+        # IMAGICK
+        pecl install imagick-3.4.3RC2; \
+        docker-php-ext-enable imagick; \
+        ## APCU
+        pecl install apcu-5.1.17; \
+        pecl install apcu_bc
+
+## COMPOSER
+RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"; \
+    php composer-setup.php; \
+    php -r "unlink('composer-setup.php');"; \
+    mv composer.phar /usr/local/bin/composer
+
+########   BLACKFIRE #########
+# If you use Alpine, you need to set this value to "alpine"
+RUN version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
+    && curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
+    && mkdir -p /tmp/blackfire \
+    && tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
+    && mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get ('extension_dir');")/blackfire.so \
+    && printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > $PHP_INI_DIR/conf.d/blackfire.ini \
+    && rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz
+########   BLACKFIRE #########
+
+######## Php conf ########
+COPY /.ssh /root/.ssh
+COPY /docker/php8/conf/memory.ini /usr/local/etc/php/conf.d
+COPY /docker/php8/conf/apc.ini /usr/local/etc/php/conf.d
+COPY /docker/php8/conf/execution_time.ini /usr/local/etc/php/conf.d
+######## FACL and Start ########
+
+WORKDIR /var/www/html

+ 8 - 0
docker/php8/conf/apc.ini

@@ -0,0 +1,8 @@
+extension=apcu.so
+extension=apc.so
+
+;opcache.memory_consumption=256
+;opcache.max_accelerated_files=20000
+;;opcache.validate_timestamps=0
+;realpath_cache_size=4096K
+;realpath_cache_ttl=600

+ 1 - 0
docker/php8/conf/execution_time.ini

@@ -0,0 +1 @@
+max_execution_time=300

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

@@ -0,0 +1 @@
+memory_limit=8G

+ 7 - 0
docker/php8/conf/xdebug.ini

@@ -0,0 +1,7 @@
+[xdebug]
+xdebug.remote_enable = 1
+xdebug.remote_autostart = 1
+xdebug.remote_connect_back = 0
+xdebug.remote_host = host.docker.internal
+xdebug.remote_host = dev
+xdebug.idekey=PHPSTORM

+ 54 - 0
docker/php8/jwt/private.pem

@@ -0,0 +1,54 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-256-CBC,82818DA353FE1119101427D2DBA9BACE
+
+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
+-----END RSA PRIVATE KEY-----

+ 14 - 0
docker/php8/jwt/public.pem

@@ -0,0 +1,14 @@
+-----BEGIN PUBLIC KEY-----
+MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvkZeu5JktzdloCs0Pgw8
+o5e9EJ5DYqkB6XnyAoja4HPmjoshGnuY/yfQgFwhDRtNLCw7ZM0reVc67qYaojJA
+kForACJzUTEqd+Hv7iNytcHiCViHylaVKbvUM3y2q6nkni+WVDLKTO9UQuke+Qok
+SaNOr40jm6kIRGwL6+UI504nPaF7Yl3IIvuVzk1sq4BN+dB3k5SNgINcpdXRkB/W
+mEuB3osyht95ARXr25Zm3XzlLF2ddqIc206IXMFsyrsCXzx2uOIucVoxJYNQCWS9
+9KB4llXTBkWEMPZTGlxQRDNChkMbMMqkSfm5E2qsyzQMfdvkQl2cOMg8jgk+BFIf
+TuIY3L9Cy1OIPKCzrps6jD1M51vXmEELvRP51UxZwp3vt5YG0FX3H2Zq/54Pr7IJ
+qEWQi6Ov3hX/q8GEsTNOsIwpQLR1Kffw/GMlMnSHmn7TOVwuBbSXRI43md7ezpuu
+NXZ1M/FA2kMs4SWrKALyT1IZsHvrDYju6DMBPjtyQvv7nFjcj2vldEMH5wpxVZWa
+zroS/x4SfVYg89Eb6XuTK556RFwrFtc9wk6uAevFTat7oSpqPThjGwInau1uXptz
+z/FpEJUNcRhXJasnlz0vp6nFkL3lQhQsltujYwZ6dKvHiLD96KfK+xPkOW1EsMtt
+gvzTQGFmslQ/GuP64iVeSosCAwEAAQ==
+-----END PUBLIC KEY-----