From e2b6fd8082d5dae4b158019bc25740955d8e6479 Mon Sep 17 00:00:00 2001 From: Mehdi Bounya Date: Sat, 27 Nov 2021 12:45:00 +0100 Subject: [PATCH 1/5] Create php-fpm conf file --- docker/php/php-fpm.d/zz-docker.conf | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 docker/php/php-fpm.d/zz-docker.conf diff --git a/docker/php/php-fpm.d/zz-docker.conf b/docker/php/php-fpm.d/zz-docker.conf new file mode 100644 index 000000000..b619aa3c4 --- /dev/null +++ b/docker/php/php-fpm.d/zz-docker.conf @@ -0,0 +1,6 @@ +[global] +daemonize = no + +[www] +listen = /var/run/php/php-fpm.sock +listen.mode = 0666 From da348fade504b30a9567d88c2610bdf6de4c6ede Mon Sep 17 00:00:00 2001 From: Mehdi Bounya Date: Sat, 27 Nov 2021 12:46:04 +0100 Subject: [PATCH 2/5] Create Caddyfile --- docker/caddy/Caddyfile | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 docker/caddy/Caddyfile diff --git a/docker/caddy/Caddyfile b/docker/caddy/Caddyfile new file mode 100644 index 000000000..cd1ef265e --- /dev/null +++ b/docker/caddy/Caddyfile @@ -0,0 +1,16 @@ +{ + # Debug + {$DEBUG} +} + +{$SERVER_NAME} + +log + +handle { + root * /srv/symfony/public + + php_fastcgi unix//var/run/php/php-fpm.sock + encode zstd gzip + file_server +} From eb14e31045e0f1321e9468ec0599d9cd4cb05537 Mon Sep 17 00:00:00 2001 From: Mehdi Bounya Date: Sat, 27 Nov 2021 12:53:32 +0100 Subject: [PATCH 3/5] Create Dockerfile --- Dockerfile | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..a60b70bc5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,69 @@ +# This Dockerfile contains different images + +ARG PHP_VERSION=8.0 +ARG CADDY_VERSION=2 + +# Build PHP FPM + +ARG APP_ENV=dev + +FROM php:${PHP_VERSION}-fpm-alpine AS symfony_php + +WORKDIR /srv/symfony +VOLUME /var/run/php +VOLUME /srv/symfony/var + +# Install required PHP extensions +RUN set -eux; \ + apk add --no-cache \ + $PHPIZE_DEPS \ + icu-dev \ + ; \ + docker-php-ext-install intl + +COPY docker/php/php-fpm.d/zz-docker.conf /usr/local/etc/php-fpm.d/zz-docker.conf + +# Install composer +COPY --from=composer:2.0 /usr/bin/composer /usr/bin/composer + +ENV COMPOSER_ALLOW_SUPERUSER=1 +ENV PATH="${PATH}:/root/.composer/vendor/bin" + +# copy only specifically what we need +COPY composer.json composer.lock symfony.lock ./ +COPY assets assets/ +COPY bin bin/ +COPY config config/ +COPY data data/ +COPY migrations migrations/ +COPY public public/ +COPY src src/ +COPY templates templates/ +COPY tests tests/ +COPY translations translations/ +COPY .env .env.test webpack.config.js yarn.lock ./ + +RUN set -eux; \ + composer install --prefer-dist --no-progress; \ + composer clear-cache + + +RUN set -eux; \ + mkdir -p var/cache var/log; \ + composer dump-autoload --classmap-authoritative ; \ + composer run-script post-install-cmd; \ + chmod +x bin/console; sync + + +# Build Caddy image +FROM caddy:${CADDY_VERSION}-builder-alpine AS symfony_caddy_builder + +RUN xcaddy build + +FROM caddy:${CADDY_VERSION} AS symfony_caddy +WORKDIR /srv/symfony + +COPY --from=symfony_caddy_builder /usr/bin/caddy /usr/bin/caddy +COPY --from=symfony_php /srv/symfony/public public/ +COPY docker/caddy/Caddyfile /etc/caddy/Caddyfile + From 0bd7e52415ddfe622ef8db4167529b92631be284 Mon Sep 17 00:00:00 2001 From: Mehdi Bounya Date: Sat, 27 Nov 2021 12:53:50 +0100 Subject: [PATCH 4/5] Create docker-compose.yml --- docker-compose.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..83289ddbb --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,35 @@ +version: "3.4" + +services: + php: + build: + context: ./ + target: symfony_php + depends_on: + - db + restart: unless-stopped + volumes: + - php_socket:/var/run/php + + caddy: + build: + context: ./ + target: symfony_caddy + depends_on: + - php + environment: + SERVER_NAME: ${SERVER_NAME:-localhost} + restart: unless-stopped + volumes: + - php_socket:/var/run/php + - caddy_data:/data + - caddy_config:/config + ports: + - "80:80" + - "443:443" + +volumes: + php_socket: + caddy_data: + caddy_config: + From 0f32d12f2775e525e4f92bc6c5342021d482202f Mon Sep 17 00:00:00 2001 From: Mehdi Bounya Date: Fri, 10 Dec 2021 12:42:00 +0100 Subject: [PATCH 5/5] Update Dockerfile Co-authored-by: Alexander Kochetov --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a60b70bc5..115770e6e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ ARG CADDY_VERSION=2 ARG APP_ENV=dev -FROM php:${PHP_VERSION}-fpm-alpine AS symfony_php +FROM php:${PHP_VERSION}-fpm-alpine AS symfony_php WORKDIR /srv/symfony VOLUME /var/run/php